一种基于ZNS固态硬盘ZRWA功能的数据管理的方法与流程

文档序号:33193558发布日期:2023-02-04 09:54阅读:457来源:国知局
一种基于ZNS固态硬盘ZRWA功能的数据管理的方法与流程
一种基于zns固态硬盘zrwa功能的数据管理的方法
技术领域
1.本技术属于固态硬盘技术领域,具体地,涉及一种zns固态硬盘的数据管理方法。


背景技术:

2.随着云计算、互联网技术的快速发展,日常工作生活中时时刻刻都会产生海量数据需要存储,信息技术的高速发展对存储设备的性能提出了更高的要求。作为磁盘的替代品,固态硬盘因其读写速度快,能耗低,体积小,被广泛的应用于各个领域中。传统的固态硬盘的读写操作依然沿用了磁盘操作方法,屏蔽了闪存的访问特性,这极大的限制了固态硬盘性能进一步的提升瓶颈。基于开放闪存操作接口的zns(分区命名空间)固态硬盘,能直接将闪存操作方式暴露给应用程序,方便应用程序针对闪存存储方式直接优化。zns(分区命名空间)固体硬盘是存储领域的新方向,其中数据存储设备限制写入顺序分区,通过将主机写入模式与内部设备几何结构对准并减少对不直接链接到主机写入的设备侧写入的需要,从而时间少了设备侧写入放大和过度预配,能够提高ssd寿命并改善吞吐量。
3.通常,对于zns(分区命名空间)固态硬盘的数据写包括三种方式:1)标准的i/o写命令;2)zns协议特有的append写命令;3)zns协议zrwa(zone random write area,即分区随机写入区)写命令。当采用标准io写命令,由于zns协议定义的zns必须顺序写的特性,io queue depth 必须等于1,极大的降低了4k的写性能;当采用append写命令方式,虽然允许io queue depth 》 1,但是host需要针对每个append完成返回的逻辑地址值,维护一个host base的ftl映射表,加大了host对数据维护的开销;当采用zrwa时,虽然zrwa方式允许在ssd缓存中对数据进行随机写入和就地覆盖,与zone append命令相比,这种方法在ssd上需要配置更多的资源。
4.而当前在对文件系统的元数据进行管理时,大多采用4k元数据管理系统的日志,在主机数据不断更新时,文件系统的元数据也会不断刷新到固态硬盘上,这是系统元数据和用户文件同时写入时导致用户文件写入性能降低,极大的限制了zns固态硬盘的使用性能。
5.zns固态硬盘开放闪存操作接口,大大提高了固态硬盘的读写速度,被认为是未来发展趋势。但如何进一步发挥出zns固态硬盘的特性,结合应用场景,设计一种新的映射算法,优化整体存储系统性能,降低甚至避免ssd对于硬件缓存资源配置需要,仍然是大数据时代全闪存系统要解决的技术问题。
6.

技术实现要素:

7.基于以上的现有技术缺陷,本发明的目的是提供一种基于zns固态硬盘的zrwa功能的实现方案。
8.本发明针对系统元数据管理,提出一种基于zns固态硬盘zrwa功能的数据管理的方法,其特征在于,包含:
步骤s1:当zns固态硬盘检测到上电时,定义dram的至少一部分作为dram存储空间;步骤s2:将zns固态硬盘nand flash中的目标数据读到dram存储空间,通过操作系统直接对dram存储空间中存储的所述目标数据进行读操作、写操作或覆盖操作;当zns固态硬盘检测到断电时,将所述dram存储空间中存储的所述目标数据写入到zns固态硬盘的对应的所述nand flash中。
9.进一步,所述步骤s1包括:将dram的至少一部分存储空间配置为由n个zone分区构成,分别为zone0,zone1,zone2
……
zonen,每个zone空间大小均为128k的zrwa。
10.进一步,所述dram选自sdram,lpddr,ddrx,rdram中的至少一种;所述目标数据包括系统元数据;所述系统元数据在nand flash中以slc模式存放。
11.进一步,所述步骤s1还包括读取目标nand flash参数的步骤s11:读取zns固态硬盘的目标nand flash的目标数据信息,所述目标数据信息包括物理逻辑地址,数据类型,数据总量大小,并将zns固态硬盘的dram存储空间与目标数据的大小进行比较判断:当目标数据大小不高于所述dram存储空间的总容量的80%时,将zns固态硬盘的dram中定义所述dram存储空间;当目标数据大小大于zns固态硬盘的dram存储空间的总容量的80%时,向主机发送请求,在主机的dram定义所述dram存储空间。
12.进一步,当目标数据大小均大于zns固态硬盘的dram容量和主机的dram容量的80%时,在zns固态硬盘的dram和主机的dram中分别定义内dram存储空间和外dram存储空间,所述内dram存储空间和所述外dram存储空间共同组成一虚拟连续物理存储空间作为所述dram存储空间。
13.进一步,所述读操作包括:将用户读zrwa数据指令进行固件解析到zrwa读命令,固件启动数据传输并将传输地址定位到指定的dram地址,将数据返回给host完成读命令。
14.进一步,所述写操作包括:将用户写入zrwa数据指令进行固件解析到zrwa写命令,固件启动数据传输并将传输地址定位到指定的dram地址,写命令完成后将状态返回给host。
15.本技术同时提出了一种采用上述方法制备的zns固态硬盘,所述zns固态硬盘包括:nand flash,所述nand flash用于存储目标数据;dram,在上电操作时所述dram用于存储所述目标数据;控制部件,所述控制部件用于检测上电操作或断电操作,当检测到上电操作时,所述控制部件将zns固态硬盘nand flash中的目标数据读取到zns固态硬盘的高速缓冲器中,通过高速缓冲器将目标数据写入dram存储空间;当检测到断电操作时,控制部件将所述dram存储空间中存储的目标数据通过高速缓冲器写入到zns固态硬盘的对应目标nand flash中;解析部件,所述解析部件用于解析命令,并将传输地址定位到指定的dram地址,其中所述命令包括写命令,读命令以及覆盖命令;外部接口,用于与主机接口对接,同时控制部件将外部接口提供的电源接入充电电路,从而对供电电源进行充电;决策模块,用于判断比较zns固态硬盘的dram存储空间与目标数据的大小,并将结
果反馈给控制部件;供电电源,当控制部件检测到断电操作时,控制部件控制供电电源替代外部接口的电源信号进行供电,以保证dram中的目标数据顺利写入zns固态硬盘对应的nand flash。
16.本发明与现有技术相比,具有的有益的效果是:1. 基于zns固态硬盘的zrwa功能,实现了zns固态硬盘的系统元数据的高效管理,满足io随机写且io queue depth 》 1,极大提升了文件系统层元数据的存储效率。
17.2.由于文件系统元数据更新非常频繁,数据写入到硬盘均在dram上进行,避免了对nand flash进行频繁的写入或覆盖操作,因此减小了nand flash的写入放大,减小了因zrwa数据频繁在nand flash更新导致的nand flash寿命变少的问题。
18.3)采用固件dram,优选ddrx,存放zrwa的系统元数据,天然维护了一张逻辑到物理的映射,ssd固件也无需ftl维护zrwa的逻辑,host层无需额外维护zrwa数据ftl逻辑开销,同时也无需维护逻辑地址到物理地址的映射表,降低了host的逻辑复杂度和内存空间,简化了固件的逻辑加快固件的开发效率。
19.4)采用dram维护zrwa数据无需有垃圾回收的操作,保证了文件系统元数据和用户文件同时写入带来用户文件写入性能降低的影响。进一步,zrwa以slc模式存放,保证了数据的稳定性,也加快了数据存放和读取的时间。
附图说明
20.为了更清楚地说明本技术实施例或相关技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
21.本说明书附图所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本技术可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本技术所能产生的功效及所能达成的目的下,均应仍落在本技术所揭示的技术内容得能涵盖的范围内。
22.图1 为本技术的zns固态硬盘数据管理的方块示意图图2 为本技术在ddr分配n个zone 128k的zrwa area的示意图图3 为zrwa上电固件处理流程图图4 为zrwa读命令固件处理流程图图5 为zrwa写命令固件处理流程图图6 为zrwa断电固件处理流程图。
具体实施方式
23.下面将结合本技术实施例中的附图,对本技术中的实施例进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.本发明针对系统元数据管理,提出一种基于zns固态硬盘zrwa功能的数据管理的
方法,包含以下步骤:在上电操作时定义一独立dram存储空间,该dram存储空间用于存储系统元数据;将该dram存储空间等分为n个128k的zrwa区,分别为zone0,znoe1
……
zonen;在解析部件解析到zns固态硬盘上电后,将nand flash中存储的系统元数据全部复制并传输至所述dram存储空间进行存储。当需要对系统元数据进行写入或更新时,系统直接对存储于dram存储空间的系统元数据进行操作,操作完成后将状态返回给host。当检测到断电指定后,将当前dram存储空间内的系统元数据回刷至zns固态硬盘的nand flash中保存更新,在下次检测到上电时,重新将zns固态硬盘中的nand flash中的数据载入所述的dram存储空间中。采用本技术的技术方案更新操作dram存储空间中的系统元数据时,可以在任意位置进行写入和覆盖,无需再通过映射表查询系统元数据在zns固态硬盘的物理地址,也无需对zns固态硬盘中的系统元数据进行反复操作,提高了系统对于系统元数据操作的速度以及灵活性,同时避免了对ssd频繁的写入或覆盖操作,降低了固态硬盘的写入放大。
25.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。
26.为了使本领域技术人员更好的理解本发明方案,对于本发明涉及的英文缩写名称解释如下:zns:zoned namespace 分区命名空间ssd:solid state drives 固态硬盘zrwa:zone random write area 分区随机写入区ftl:flash translation layer 闪存转换层实施例1如图1所示,为本技术的具体实施方式的方法方框示意图。本实施例提供一种基于zns固态硬盘zrwa功能的数据管理的方法,包括如下步骤:步骤s1,当zns固态硬盘检测到上电时,首先定义一独立的dram存储空间,该dram存储空间用于系统元数据的读写操作。该dram存储空间为zns固态硬盘上独立配置的dram存储器,可以为sdram,lpddr,ddrx,rdram,优选为ddrx。进一步,将dram存储空间配置为n个zrwa空间,分别为zone0,zone1,zone2
……
zonen,每个空间大小均为128k,如图2所示。
27.区别于现有技术中大多采用4k管理系统元数据,传统的4k扇区映射需要按照1gb:1mb的比例去配置dram缓存,才能确保取得良好的存取性能。当本技术系统元数据直接载入到dram存储空间内通过系统应用程序进行读写或覆盖操作时,每个zone空间维护一个天然的逻辑地址映射,无需额外的映射表,减少了系统资源使用,提高了系统速度以及程序执行效率。例如,当host读写zone0的zrwa区域的逻辑地址0时,天然对应的数据保存地址位于zone0的zrwa的第一个4k地址处,无需通过查询映射表获取真实的物理逻辑地址。
28.为了保证系统元数据完整的读入定义的dram存储空间,还包括从zns固态硬盘的nand flash读取目标数据,所述目标数据优选为系统元数据信息,所述系统元数据信息包括:获取系统元数据的信息,所述信息包括物理逻辑地址,数据类型,数据总量大小,并将获取的系统元数据信息传递给决策模块;便于决策模块定义用于存储系统元数据的dram存储空间。
29.当获得的系统元数据的数据总量不高于zns固态硬盘的dram存储空间的总容量的80%时,决策模块向控制部件发送请求,在zns固态硬盘的dram中定义一存储系统元数据的
(内)dram存储空间;当系统元数据的数据总量大于zns固态硬盘的dram存储空间的总容量的80%时,决策模块通过外部接口向主机发送请求,从而在主机dram定义一存储系统元数据的(外)dram存储空间,当系统元数据较大,可以将zns固态硬盘的dram的至少一部分和主机dram的至少一部分组合为虚拟连续物理存储空间作为系统元数据的dram存储空间。
30.如图3所示,当解析部件检测到上电操作且dram存储空间定义完成后,控制部件执行从zns固态硬盘的nand flash读取系统元数据信息操作,并通过高速缓存器将系统元数据读取到独立dram存储空间,读取完成后将结果反馈给控制部件;步骤s2,当需要执行系统元数据读写或覆盖操作时,主机系统通过dram操作指令直接对存储于dram存储空间的系统元数据进行操作,操作完成后将状态返回给host;当zns固态硬盘检测到断电时,将所述dram存储空间中存储的所述目标数据写入到zns固态硬盘的对应的所述nand flash中。
31.具体的,如图4所示,当用户写入zrwa数据时,通过固件解析到zrwa写,固件启动数据传输,将传输地址定位到指定的dram区域,写命令完成后,状态返回至host;如图5所示,当用户读取zrwa数据时,通过固件解析到zrwa读,固件将传输地址定位到指定的dram区域,将数据返回给host,完成读取命令。
32.如图6所示,当解析部件检测到断电操作时,将断电信号发送给控制部件,控制部件接收到断电信号后,执行将dram存储空间内的系统元数据写入高速缓存器的操作,然后通过高速缓存器将系统元数据写入到对应的zns固态硬盘的nand flash中,写入完成后将结果反馈给控制部件。其中系统元数据在nand flash中以slc模式存放,保证了数据的稳定性,也可以加快数据存放和读取的时间。
33.控制部件接收到断电信号后,同时控制供电电源对zns固态硬盘进行供电,保证dram存储空间内的系统元数据可以顺利写入nand flash中,防止数据发生丢失。当解析部件检测到再次上电时,执行步骤1的操作,重新将zns固态硬盘中的nand flash中的数据载入dram存储空间中。进一步,当系统上电后,控制部件通过外部接口对供电电源进行电能存储,可以选用钮扣电池、锂电池、大电容以及超级电容器等作为供电电源。
34.为了进一步提高zns固态硬盘的数据管理性能,控制部件中进一步包括至少一个分类模型,通过所述分类模型提取系统元数据的特征指纹以及其他存储数据的特征指纹,将系统元数据的特征指纹与其他存储数据的特征指纹进行比较,当二者的特征指纹相似度超过90%时,则将该存储数据定义为伪系统元数据,伪系统元数据与系统元数据共同作为目标数据。其中,所述指纹特征包括数据类型,数据大小,数据更新频率。
35.本技术使用zns固态硬盘定义的zrwa功能,满足了i/o随机写且队列深度大于1的限制,极大的提升了文件系统元数据的存储效率。通过固件dram存放更新非常频繁的文件系统元数据,而不是用zns固态硬盘的nand flash,有效降低了nand flash的写入放大,改善了因zrwa数据频繁在nand flash更新导致nand flash寿命减少的问题。同时无需额外维护zrwa数据ftl逻辑开销和逻辑地址到物理地址的映射表,降低了host的逻辑复杂程度和节约了存储空间。进一步,使用dram维护zrwa数据无需垃圾回收操作,避免了系统元数据和用户文件同时写入时带来的用户文件写入性能降低的不利影响,极大的提升了zns固态硬盘的使用性能。
36.本说明书中各个实施例采用递进、或并列、或递进和并列结合的方式描述,每个实
施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
37.需要说明的是,在本技术的描述中,需要理解的是,术语“上”、“下”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中设置的组件。
38.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括上述要素的物品或者设备中还存在另外的相同要素。
39.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1