一种基于HostBasedFTL架构分离数据的方法与流程

文档序号:25795602发布日期:2021-07-09 11:55阅读:160来源:国知局
一种基于HostBasedFTL架构分离数据的方法与流程
一种基于host based ftl架构分离数据的方法
技术领域
1.本发明涉及储存设备控制方法,特别涉及一种基于host based ftl架构分离数据的方法。


背景技术:

2.固态硬盘(solid state drives),简称固盘,固态硬盘(solid state drive)用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(flash芯片、dram芯片)组成。固态硬盘的工作离不开ftl,ftl指flash translation layer(闪存转换层),其的本职工作是完成host的逻辑地址到flash的物理地址的转换。控制单元(controller)每把一笔数据写入flash中时,便会记录下该数据的逻辑地址到物理地址的映射关系,这样当host想要读取这笔数据时就会根据这个映射读取到真实的数据。ftl的算法不同,其实现的功能可以不同。
3.需要说明的是闪存的特性:闪存块需要先擦除才能写入,不能覆盖写;闪存块是有寿命的。每擦除一次寿命便会减少一点;闪存块的读取次数是有限的;读的次数多了会造成读干扰问题;闪存的数据保持是有时限的。高温时数据保持时间会缩短;闪存天生就会有坏块,使用过程中会产生新的坏块;mlc和tlc会有lower page corruption的问题。
4.基于闪存的以上特性,ftl在完成本职工作逻辑地址到物理地址转换的同时,还具有垃圾回收(garbage collection),磨损平衡(ware leveling),坏块管理,读干扰处理,数据保持处理等作用,不过ftl以上作用的本质
‑‑‑
映射管理。映射有基于块映射、基于页映射和混合映射。
5.ftl的分类有基于主机(host based)和基于设备(device based),其中host based ftl在主机端实现,用自己的计算机的cpu和内存资源。device based ftl在设备端实现,用的是ssd上的控制器和ram资源。
6.在主机采用linux系统时,现有普通的ssd采用device based ftl,一款ssd产品,为固定到硬件的通用型ftl,在使用过程中,存在如下缺陷:
7.1.在linux系统下文件系统中会将记录了普通文件数据的nand页(数据页)和记录了日志数据的nand页(日志页)一起写入到一个nand块中。在垃圾收集时,有效页更新可能会导致写入覆盖因子(waf)增加的问题,增加gc开销和降低ssd寿命的主要因素。
8.2.不能针对具体应用(不同的数据区分逻辑)做定制化;市场中需要高性能、大容量,通用控制器芯片支持的最性能和容量比较有限,而且市场需求多种多样,有些需求需要控制器芯片提供特性功能支持,而有些通用的ssd在主控芯片上无法提供相对应的功能。
9.3.把ftl放在ssd主控内部,因为控制器芯片复杂,设计难度大,研发成本高,而且闪存更新速度快,一般闪存厂商都会推出新一代产品,有新的使用特性,就需要控制器芯片做出修改,导致控制器芯片改版成本很高。
10.4.现有的ssd中控制器(controller)大部分都是采用可编程器件fpga,功能比较简单,主要是实现ecc纠错和闪存时序控制,在固定的ftl情况下,需要固定的数据处理开
销,无法真正提升对ssd性能,使其性能最优。


技术实现要素:

11.有鉴于上述情况,本发明的提供一种基于host based ftl架构分离数据的方法,满足更好的使用效果,方案如下:
12.一种基于host based ftl架构分离数据的方法,用于linux系统,且包括如下步骤:
13.s1.通过host端,在ftl的struct bio中创建一个标记,用于识别所提交数据是否为日志数据;
14.s2.文件系统向ftl提交数据,并通过s1创建的标记对所提交的数据类型进行识别和区分;
15.s3.识别到的日志数据被单独写入日志数据缓冲区,识别到的系统数据单独写入系统数据缓冲区;
16.s4.在ssd工作时使用bio创建写请求之前,依据请求区分日志数据和系统数据,将请求到的日志数据从日志数据缓冲区映射到ssd中nand flash的日志块,将请求到的系统数据从系统数据缓冲区映射到ssd中nand flash的数据块。
17.进一步,在s4步骤后,将不被请求的日志数据作为无效数据从日志数据缓冲区删除。
18.进一步,依据不同的应用要求,在host端通过对ftl的struct bio中创建不同的标记,以依照不同的标准在所述步骤s1中识别不同的数据,进而满足应用要求。
19.进一步,所述文件系统为ext4文件系统。
20.进一步,通过ext4文件系统对应的journaling block device2提交数据。
21.进一步,所述文件系统为ext4文件系统,且通过ext4文件系统对应的journaling block device2提交和删除日志数据。
22.进一步,将ssd中闪存的读写接口直接开放给host端驱动程序以让host端驱动直接管理闪存阵列,进而ssd的控制器只起到ecc纠错算法和物理协议转换作用。
23.有益效果:本发明构思新颖、设计合理,且便于使用,本发明相对于现有基于设备的ftl架构修改为基于主机,并相应地在ftl上提供了一种在主机端区分数据的方法,采用这种数据区分方法的ftl,避免了ssd上删除无效数据,以在ftl缓冲区删除作为替代,避免了闪存无效使用带来的寿命影响,同时,基于主机端的ftl架构自身可修改,以满足不同的应用需求,基于ftl分离于ssd硬件,使得产品更新的经济成本更低,避免了ssd软件环境和硬件环境必须同时更新造成的浪费,还节省了fpga的效力,使其全力服务于ecc纠错和闪存时序控制,进而将产品的性能提升到最优。
附图说明
24.图1是本发明逻辑框图。
25.图2是本发明对应具体的方案物理结构示意图。
26.图3是本发明一实施例的结构框图。
27.图4是本发明对应方法的结构示意图。
具体实施方式
28.下面结合附图和实施例对本发明作在具体实施过程中,作为进一步优选说明:
29.参考图1

图4,一种基于host based ftl架构分离数据的方法,用于linux系统,且包括如下步骤:
30.s1.通过host端,在ftl的struct bio中创建一个标记,用于识别所提交数据是否为日志数据;
31.s2.文件系统向ftl提交数据,并通过s1创建的标记对所提交的数据类型进行识别和区分;
32.s3.识别到的日志数据被单独写入日志数据缓冲区,识别到的系统数据单独写入系统数据缓冲区;
33.s4.在ssd工作时使用bio创建写请求之前,依据请求区分日志数据和系统数据,将请求到的日志数据从日志数据缓冲区映射到ssd中nand flash的日志块,将请求到的系统数据从系统数据缓冲区映射到ssd中nand flash的数据块。
34.在具体实施时,ftl自身在数据提取和识别中,也会产生无效数据,对于无效数据的处理,也是删除,但该删除动作不在ssd中,因此,在s4步骤后,还有:
35.s5.将不被请求的日志数据作为无效数据从日志数据缓冲区删除。
36.基于ftl基于host based,因此针对不同的应用需求,可以通过修改ftl上的数据识别逻辑来满足。因此,字啊具体实施过程中,依据不同的应用要求,在host端通过对ftl的struct bio中创建不同的标记,以依照不同的标准在所述步骤s1中识别不同的数据,进而满足应用要求。
37.在具体实施过程中,linux系统一般配设ext4文件系统,因此,所述文件系统为ext4文件系统。
38.在具体实施过程中,ext4一般有jbd2(journaling block device2)为之服务,因此通过ext4文件系统对应的journaling block device2提交数据。
39.在具体实施时,所述文件系统为ext4文件系统,且通过ext4文件系统对应的journaling block device2提交和删除日志数据。
40.在具体实施时,将ssd中闪存的读写接口直接开放给host端驱动程序以让host端驱动直接管理闪存阵列,进而ssd的控制器只起到ecc纠错算法和物理协议转换作用。
41.本发明方案在具体实施时,以现有的device based ftl架构的ssd作为对比,这种ssd将系统程序写入到ssd的硬件中,一款产品固定一套ftl程序,无法进行修改,因此在实际使用时,遇到差异化需求,定制化需求,需要不同的ftl时,只能更换整个产品,同时产品的更新换代,也需要更换整个产品。ssd内部,ftl在使用时,将数据写入到闪存中,再将无效数据进行擦除,基于ssd硬件和软件的基本性能,如此就造成了ssd的寿命损伤。同时,ftl在ssd内,占用了fpga运算能力,不具有更多的运算能力来针对硬件进行优化配置。本发明通过将ftl架入主机,通过将系统数据和日志数据在主机端进行区分,将有效的数据写入到ssd闪存中,如此就避免了现有技术中闪存的频繁擦除造成的损伤。同时ftl自身通过主机端可修改,也就满足了定制化的需求。ssd硬件中无直接写入的ftl,硬件的更新换代,可以更加经济,对fpga的运算能力也得到了释放,进而腾出运算能力帮助实现ssd的使用性能最优。
42.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1