CN115951841A - 存储系统及创建方法、数据处理方法、装置、设备和介质 - Google Patents

存储系统及创建方法、数据处理方法、装置、设备和介质 Download PDF

Info

Publication number
CN115951841A
CN115951841A CN202310166827.9A CN202310166827A CN115951841A CN 115951841 A CN115951841 A CN 115951841A CN 202310166827 A CN202310166827 A CN 202310166827A CN 115951841 A CN115951841 A CN 115951841A
Authority
CN
China
Prior art keywords
storage
storage space
read
block size
write request
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.)
Granted
Application number
CN202310166827.9A
Other languages
English (en)
Other versions
CN115951841B (zh
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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202310166827.9A priority Critical patent/CN115951841B/zh
Publication of CN115951841A publication Critical patent/CN115951841A/zh
Application granted granted Critical
Publication of CN115951841B publication Critical patent/CN115951841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了一种存储系统及创建方法、数据处理方法、装置、设备和介质,涉及存储技术领域,该存储系统包括第一存储空间,用于处理非块大小对齐的读写请求;其中,所述第一存储空间具体为包含多个存储设备的持久内存区域的存储空间;与所述第一存储空间连接的第二存储空间,用于处理第一块大小对齐的读写请求;与所述第二存储空间连接的第三存储空间,用于处理第二块大小对齐的读写请求;其中,所述第二块大小大于所述第一块大小。本申请提高了小IO读写性能,同时实现了高可靠性和高性价比的存储系统。

Description

存储系统及创建方法、数据处理方法、装置、设备和介质
技术领域
本申请涉及存储技术领域,更具体地说,涉及一种存储系统及创建方法、数据处理方法、装置、设备和介质。
背景技术
存储系统软件的演进与存储介质和应用有密切的关系,当存储介质和应用场景发生变革,存储软件也需要重新进行设计。不同的介质有不同的特点,存储系统需要取长补短,以达成性能、价格和可靠性的最佳平衡点。
HDD(hard disk drive,机械硬盘)的容量大,价格便宜,但性能相较于SSD(solid-state drives,固态硬盘驱动器)是大幅落后的,现在正逐渐地被淘汰。可靠性方面,SLC(single level cell,单层式储存单元)>MLC(multi level cell,多层式储存单元)>QLC(quad level cell,四层式储存单元),价格方面:SLC>MLC>QLC,并且QLC的价格有望会低于HDD的价格或者持平,所以单独使用任何一种闪存都有其固有的缺点。
第一代的存储系统软件主要是对HDD进行优化的,其存储堆栈比较重,时延高,无法充分发挥SSD的性能;当前针对闪存优化的存储系统,一般会单一地使用一种闪存,例如,MLC或TLC(triple level cell,三层式储存单元),其性能高,但性价比低,适用场景有限。
在现有技术中,所有的读写都是以块为单位进行。如图1所示,在小IO(输入/输出,Input/Output)的读写过程中,先要把改写的块读出来,然后修改其中的部分数据,最后把改好的数据写下去,也即导致读改写。因此IO次数增加,读写的数据量也会放大,这也是小IO读写性能不高的主要原因。
因此,如何提高小IO读写性能,同时实现高可靠性和高性价比的存储系统是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种存储系统、一种存储系统的创建方法、装置、一种数据处理方法、装置及一种电子设备和一种计算机可读存储介质,提高了小IO读写性能,同时实现了高可靠性和高性价比的存储系统。
为实现上述目的,本申请提供了一种存储系统,包括:
第一存储空间,用于处理非块大小对齐的读写请求;其中,所述第一存储空间具体为包含多个存储设备的持久内存区域的存储空间;
与所述第一存储空间连接的第二存储空间,用于处理第一块大小对齐的读写请求;
与所述第二存储空间连接的第三存储空间,用于处理第二块大小对齐的读写请求;其中,所述第二块大小大于所述第一块大小。
其中,所述第一存储空间具体为存储级内存的存储空间。
其中,所述存储设备具体为固态硬盘。
其中,所述第一存储空间具体为包含多个存储设备的持久内存区域的连续的线性存储空间。
其中,所述第一存储空间还用于:将多个字节的数据聚合为所述第一块大小的数据迁移至所述第二存储空间。
其中,所述第二存储空间还用于:将多个所述第一块大小的数据聚合为所述第二块大小的数据迁移至所述第三存储空间。
其中,所述第二存储空间具体为单层式储存单元或多层式储存单元。
其中,所述第三存储空间具体为三层式储存单元或四层式储存单元或五层储存单元。
其中,所述第一存储空间具体用于存储字节级的数据;
所述第二存储空间具体用于存储KB级的数据;
所述第三存储空间具体用于存储MB级的数据。
为实现上述目的,本申请提供了一种存储系统的创建方法,包括:
将多个存储设备的持久内存区域分别映射至操作系统的内存地址空间,以创建用于处理非块大小对齐的读写请求的第一存储空间;
创建用于处理第一块大小对齐的读写请求的第二存储空间;
创建用于处理第二块大小对齐的读写请求的第三存储空间;其中,所述第二块大小大于所述第一块大小。
其中,所述创建用于处理非块大小对齐的读写请求的第一存储空间,包括:
基于多个所述持久内存区域映射后的内存逻辑地址将多个所述持久内存区域拼接为连续的线性存储空间,并将所述连续的线性存储空间作为用于处理非块大小对齐的读写请求的第一存储空间。
其中,所述创建用于处理第一块大小对齐的读写请求的第二存储空间,包括:
创建用于处理第一块大小对齐的读写请求的单层式储存单元或多层式储存单元。
其中,所述创建用于处理第二块大小对齐的读写请求的第三存储空间,包括:
创建用于处理第二块大小对齐的读写请求的三层式储存单元或四层式储存单元或五层储存单元。
为实现上述目的,本申请提供了一种存储系统的创建装置,包括:
第一创建模块,用于将多个存储设备的持久内存区域分别映射至操作系统的内存地址空间,以创建用于处理非块大小对齐的读写请求的第一存储空间;
第二创建模块,用于创建用于处理第一块大小对齐的读写请求的第二存储空间;
第三创建模块,用于创建用于处理第二块大小对齐的读写请求的第三存储空间;其中,所述第二块大小大于所述第一块大小。
其中,所述第一创建模块具体用于:将多个存储设备的持久内存区域分别映射至操作系统的内存地址空间,基于多个所述持久内存区域映射后的内存逻辑地址将多个所述持久内存区域拼接为连续的线性存储空间,并将所述连续的线性存储空间作为用于处理非块大小对齐的读写请求的第一存储空间。
其中,所述第二创建模块具体用于:创建用于处理第一块大小对齐的读写请求的单层式储存单元或多层式储存单元。
其中,所述第三创建模块具体用于:创建用于处理第二块大小对齐的读写请求的三层式储存单元或四层式储存单元。
为实现上述目的,本申请提供了一种数据处理方法,包括:
当接收到读写请求时,确定所述读写请求的对齐方式;
若所述读写请求为非块大小对齐,则利用存储系统的第一存储空间响应所述读写请求;其中,所述存储系统具体为上述存储系统;
若所述读写请求为第一块大小对齐,则利用所述存储系统的第二存储空间响应所述读写请求;
若所述数据为第二块大小对齐,则利用所述存储系统的第三存储空间响应所述读写请求;其中,所述第二块大小大于所述第一块大小。
其中,还包括:
将所述第一存储空间中多个字节的数据聚合为所述第一块大小的数据迁移至所述第二存储空间。
其中,还包括:
将所述第二存储空间中多个所述第一块大小的数据聚合为所述第二块大小的数据迁移至所述第三存储空间。
为实现上述目的,本申请提供了一种数据处理装置,包括:
确定模块,用于当接收到读写请求时,确定所述读写请求的对齐方式;
第一存储模块,用于当所述读写请求为非块大小对齐时,利用存储系统的第一存储空间响应所述读写请求;其中,所述存储系统具体为上述存储系统;
第二存储模块,用于当所述读写请求为第一块大小对齐时,利用所述存储系统的第二存储空间响应所述读写请求;
第三存储模块,用于当所述读写请求为第二块大小对齐时,利用所述存储系统的第三存储空间响应所述读写请求;其中,所述第二块大小大于所述第一块大小。
其中,还包括:
第一迁移模块,用于将所述第一存储空间中多个字节的数据聚合为所述第一块大小的数据迁移至所述第二存储空间。
其中,还包括:
第二迁移模块,用于将所述第二存储空间中多个所述第一块大小的数据聚合为所述第二块大小的数据迁移至所述第三存储空间。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述存储系统的创建方法或数据处理方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述存储系统的创建方法或数据处理方法的步骤。
通过以上方案可知,本申请提供的一种存储系统,包括第一存储空间,用于处理非块大小对齐的读写请求;其中,所述第一存储空间具体为包含多个存储设备的持久内存区域的存储空间;与所述第一存储空间连接的第二存储空间,用于处理第一块大小对齐的读写请求;与所述第二存储空间连接的第三存储空间,用于处理第二块大小对齐的读写请求;其中,所述第二块大小大于所述第一块大小。
本申请提供的存储系统,不同的存储空间根据不同闪存的特点,处理不同IO类型的数据,从而建立一个性能高、性价比高和可靠性高的全闪存储系统。此外,本申请提供的存储系统,将多个存储设备中的持久内存区域(PMR)聚合作为第一存储空间使用,消除了读改写的过程,提高了小IO读写性能。本申请还公开了一种存储系统的创建方法、装置、一种数据处理方法、装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为现有技术中以块为单位的数据读改写过程的示意图;
图2为根据一示例性实施例示出的一种存储系统的结构图;
图3为根据一示例性实施例示出的一种存储系统的创建方法的流程图;
图4为根据一示例性实施例示出的一种整合多个PMR的线性空间的示意图;
图5为根据一示例性实施例示出的一种数据处理方法的流程图;
图6为本申请提供的一种应用实施例中的闪存结构图;
图7为根据一示例性实施例示出的一种存储系统的创建装置的结构图;
图8为根据一示例性实施例示出的一种数据处理装置的结构图;
图9为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在NVMe(non-volatile memory-express,非易失性内存存储器标准)1.4规范中增加了一个重要的特性PMR(persistent memory area,持久内存区域)。所谓PMR即为一块存储区,使用此功能将创建并控制一个称为持久性内存区域的存储区域,该存储区可以映射到PCI Express总线上的地址空间上面,并且可被主机和其他设备访问。PMR的主要特点是,在电源断电,控制器复位以及PMR启用/禁用切换之后,写入PMR的数据也会保留。换句话说,此功能使SSD除了提供通过逻辑块地址(Logical Block Address,LBA)访问的存储区域外,还提供了另一个非易失性存储区域,并且这块存储区域假定的访问方法是内存访问而不是块访问,故可以避免上述低效的读改写过程。它的访问速度比闪存快,接近于内存的运行速度。而且保证SSD故障时,数据不丢失。故它是非易失内存中的一种代替品。它的容量小、速度极快、可靠性高、价格高,适合处理小的字节级IO。
SLC、MLC是两种可靠性较高,成本较高的闪存。它们的读写单位是块,它处理整块时读写时性能最高,适合处理块对齐的数据,也即KB级的数据。
TLC、QLC、PLC(penta level cell,五层式储存单元)是相对成本低,寿命短的闪存。在系统中它所占的容量最大,是决定总体成本的核心因素。通过EC等技术提高其聚合带宽并减少故障率,利用全局磨损均衡技术提高其性价比,适合处理大块数据,也即MB级的数据。
本申请综合使用上述所有类型的存储介质,聚合多个具有PMR功能的NVME SSD盘,把所有PMR内存空间整合成一个统一的线性空间,从而实现高IOPS(每秒进行读写操作的次数,Input/Output Operations Per Second),它主要负责字节级的热数据,SLC或MLC闪存上存放块对齐的IO,它是高带宽的物理基础,上面存储温数据,TLC或QLC或PLC适合大IO的读写,它主要存储冷数据。
本申请实施例公开了一种存储系统,参见图2,根据一示例性实施例示出的一种存储系统的结构图,如图2所示,包括:
第一存储空间10,用于处理非块大小对齐的读写请求;其中,所述第一存储空间具体为包含多个存储设备的持久内存区域的存储空间;
与所述第一存储空间10连接的第二存储空间20,用于处理第一块大小对齐的读写请求;
与所述第二存储空间20连接的第三存储空间30,用于处理第二块大小对齐的读写请求;其中,所述第二块大小大于所述第一块大小。
在本实施例中,为了充分发挥所有闪存的特性,将整个存储系统划分为三层,也即第一存储空间10、第二存储空间20和第三存储空间30。
第一存储空间10主要解决小IO的性能问题,其主要功能是处理小于一个块的IO或者非块大小对齐的IO,从而避免低效的读改写。因为其是非易失的,当用户写到它上面后,可以立即返回。也即,第一存储空间10具体用于存储字节级的数据。第一存储空间10具体为存储级内存(SCM,storage-class memory)的存储空间,包括多个存储设备的持久内存区域(PMR),此处的存储设备可以具体为固态硬盘(SSD)。需要说明的是,为了各存储设备的PMR的内存逻辑地址可能是不连续的,这样不方便使用,因此将它们拼接成一个连续的PMR线性空间,也即所述第一存储空间10具体为包含多个存储设备的持久内存区域的连续的线性存储空间。
进一步的,所述第一存储空间10还用于:将多个字节的数据聚合为所述第一块大小的数据迁移至所述第二存储空间20。在具体实施中,第一存储空间会聚集小块的IO成为一个整块,然后把数据迁移到下一层,也即第二存储空间。
第二存储空间20主要解决整块IO的性能问题。如果用户的数据是第一块大小对齐的,其将跳过第一存储空间,直接写到第二存储空间,也即第二存储空间20具体用于存储KB级的数据。第二存储空间具有较高寿命、较高性能的特点,可以具体为单层式储存单元(SLC)或多层式储存单元(MLC)。
进一步的,第二存储空间也接受来自第一存储空间的迁移数据,以避免第一存储空间的空间用尽。另外,所述第二存储空间20还用于:将多个所述第一块大小的数据聚合为所述第二块大小的数据迁移至所述第三存储空间。在具体实施中,第二存储空间会聚集一定数量的数据块成一个大块,然后把数据迁移到下一层,也即第三存储空间。
第三存储空间30在整个存储系统中占据主要成本,容量也是最大的,也即第三存储空间30具体用于存储MB级的数据。其性能相比前两层较差,但其容量大成本低,第三存储空间可以具体为三层式储存单元(TLC)或四层式储存单元(QLC)或五层式储存单元(PLC)。如果用户的数据是大块对齐的,也即第二块大小对齐,其将跳过第一存储空间和第二存储空间,直接写到第三存储空间。
进一步的,第三存储空间也接受来自第二存储空间的迁移数据,以避免第二存储空间的空间用尽。第三存储空间主要是解决成本的问题,所以相关EC(erasure code,纠删码)技术,重删压缩功能会在这一层上使用。
本申请提供的存储系统,不同的存储空间根据不同闪存的特点,处理不同IO类型的数据,从而建立一个性能高、性价比高和可靠性高的全闪存储系统。此外,本申请提供的存储系统,将多个存储设备中的持久内存区域(PMR)聚合作为第一存储空间使用,消除了读改写的过程,提高了小IO读写性能。
本申请实施例公开了一种存储系统的创建方法,参见图3,根据一示例性实施例示出的一种存储系统的创建方法的流程图,如图3所示,包括:
S101:将多个存储设备的持久内存区域分别映射至操作系统的内存地址空间,以创建用于处理非块大小对齐的读写请求的第一存储空间;
可以理解的是,无论是HDD还是SDD,它们的读写单位都是固定在大小的块(512byte或者4KB),这是它们在处理字节级IO时慢的根本原因,解决这个问题的根本方法是需要以字节方式访问的物理介质。在NVMe 1.4规范中增加了一个重要的特性PMR,具有该种特性SSD的PMR内存,在故障前后的数据是一样的,数据不丢失,相当于非易失内存。
单个NVME SSD的PMR内存空间有限,为了高效地利用所有NVME SSD的PMR内存,需要把它们聚合起来提供一个统一的线性空间,并且利用多副本技术保证其可靠性。
在具体实施中,首先将每个存储设备(可以具体为NVME SSD)中的PMR内存映射到操作系统的内存地址空间,以创建用于处理非块大小对齐的读写请求的第一存储空间。
作为一种优选实施方式,所述创建用于处理非块大小对齐的读写请求的第一存储空间,包括:基于多个所述持久内存区域映射后的内存逻辑地址将多个所述持久内存区域拼接为连续的线性存储空间,并将所述连续的线性存储空间作为用于处理非块大小对齐的读写请求的第一存储空间。
可以理解的是,映射成功后各PMR的内存逻辑地址可能是不连续的,这样不方便使用,因此需要在所有映射的地址空间之上在拼接成一个连续的PMR线性空间以方便使用。整合多个PMR的线性空间的示意图如图4所示。
进一步的,为了防止单个NVME SSD的物理损坏,会采用副本的方式保证数据的可靠性,也就是说当向一个PMR线性空间上写一份数据,实现上其会写到一个或者多个NVMESSD中的PMR内存中。这样当其中一个NVME SSD物理损坏,数据不会丢失。
S102:创建用于处理第一块大小对齐的读写请求的第二存储空间;
在具体实施中,创建用于处理第一块大小对齐的读写请求的第二存储空间。第二存储空间主要解决整块IO的性能问题。如果用户的数据是第一块大小对齐的,其将跳过第一存储空间,直接写到第二存储空间,也即第二存储空间具体用于存储KB级的数据。
作为一种可行的实施方式,所述创建用于处理第一块大小对齐的读写请求的第二存储空间,包括:创建用于处理第一块大小对齐的读写请求的单层式储存单元或多层式储存单元。第二存储空间具有较高寿命、较高性能的特点,可以具体为单层式储存单元(SLC)或多层式储存单元(MLC)。
进一步的,第二存储空间也接受来自第一存储空间的迁移数据,以避免第一存储空间的空间用尽。另外,第二存储空间会聚集一定数量的数据块成一个大块,然后把数据迁移到下一层,也即第三存储空间。
S103:创建用于处理第二块大小对齐的读写请求的第三存储空间;其中,所述第二块大小大于所述第一块大小。
在具体实施中,创建用于处理第二块大小对齐的读写请求的第三存储空间。第三存储空间在整个存储系统中占据主要成本,容量也是最大的,也即第三存储空间具体用于存储MB级的数据。如果用户的数据是大块对齐的,也即第二块大小对齐,其将跳过第一存储空间和第二存储空间,直接写到第三存储空间。
作为一种可行的实施方式,所述创建用于处理第二块大小对齐的读写请求的第三存储空间,包括:创建用于处理第二块大小对齐的读写请求的三层式储存单元或四层式储存单元。第三存储空间性能相比第一存储空间和第二存储空间较差,但其容量大成本低,可以具体为三层式储存单元(TLC)或四层式储存单元(QLC)或五层式储存单元(PLC)。
进一步的,第三存储空间也接受来自第二存储空间的迁移数据,以避免第二存储空间的空间用尽。第三存储空间主要是解决成本的问题,所以相关EC(erasure code,纠删码)技术,重删压缩功能会在这一层上使用。
可见,本实施例提供的存储系统的高性能体现在:小IO和块边界不对齐的IO由SCM层处理,这样消除了读改写的过程,极大地提升了性能。每层的性能优化目标单一,简化优化的实现,可以在各种IO负载下保持高性能。性价比高体现在:从上层到下层,价格逐渐便宜,随机性能逐渐变低和寿命逐渐变短,通过合理地组合它们,可以达成高性价比和高性能。可靠性高体现在:第一层使用PMR线性空间可以在保证速度的同时并保证可靠性;第二层和第三层使用EC或者副本技术,保证其数据的可靠性。
在本申请实施例中,不同的存储空间根据不同闪存的特点,处理不同IO类型的数据,从而建立一个性能高、性价比高和可靠性高的全闪存储系统。此外,本申请实施例将多个存储设备中的持久内存区域(PMR)聚合作为第一存储空间使用,消除了读改写的过程,提高了小IO读写性能。
本申请实施例公开了一种数据处理方法,参见图5,根据一示例性实施例示出的一种数据处理方法的流程图,如图5所示,包括:
S201:当接收到读写请求时,确定所述读写请求的对齐方式;
S202:若所述读写请求为非块大小对齐,则利用存储系统的第一存储空间响应所述读写请求;其中,所述存储系统具体为上述实施例提供的存储系统;
在具体实施中,如果用户的数据是小于一个块的或者非块对齐的,其将写到第一存储空间。
S203:若所述读写请求为第一块大小对齐,则利用所述存储系统的第二存储空间响应所述读写请求;
在具体实施中,如果用户的数据是第一块大小对齐的,其将跳过第一存储空间,直接写到第二存储空间。
S204:若所述数据为第二块大小对齐,则利用所述存储系统的第三存储空间响应所述读写请求;其中,所述第二块大小大于所述第一块大小。
在具体实施中,如果用户的数据是大块对齐的,也即第二块大小对齐,其将跳过第一存储空间和第二存储空间,直接写到第三存储空间。
在上述实施例的基础上,作为一种优选实施方式,还包括:将所述第一存储空间中多个字节的数据聚合为所述第一块大小的数据迁移至所述第二存储空间。在具体实施中,第一存储空间会聚集小块的IO成为一个整块,然后把数据迁移到下一层,也即第二存储空间。第二存储空间接受来自第一存储空间的迁移数据,以避免第一存储空间的空间用尽。
在上述实施例的基础上,作为一种优选实施方式,还包括:将所述第二存储空间中多个所述第一块大小的数据聚合为所述第二块大小的数据迁移至所述第三存储空间。在具体实施中,第二存储空间会聚集一定数量的数据块成一个大块,然后把数据迁移到第三存储空间。第三存储空间接受来自第二存储空间的迁移数据,以避免第二存储空间的空间用尽。
在本申请实施例中,不同的存储空间根据不同闪存的特点,处理不同IO类型的数据,从而建立一个性能高、性价比高和可靠性高的全闪存储系统。此外,本申请实施例将多个存储设备中的持久内存区域(PMR)聚合作为第一存储空间使用,消除了读改写的过程,提高了小IO读写性能。
下面介绍本申请提供的一种应用实施例。单个NVME SSD的PMR内存空间有限,为了高效地利用所有NVME SSD的PMR内存,需要把它们聚合起来提供一个统一的线性空间,并且利用多副本技术保证其可靠性。
首先将每个NVME SSD中的PMR内存映射到操作系统的内存地址空间,映射成功后其内存逻辑地址可能是不连续的,这样不方便使用。故要在所有映射的地址空间之上在拼接成一个连续的PMR线性空间以方便使用。
为了防止单个NVME SSD的物理损坏,会采用副本的方式保证数据的可靠性,也就是说当向一个PMR线性空间上写一份数据,实现上其会写到一个或者多个NVME SSD中的PMR内存中。这样当其中一个NVME SSD物理损坏,数据不会丢失。
为了充分发挥当前闪存的特性,如图6所示,整个闪存结构分为三层:
第一层为PMR线性空间。它本质上相当于保电内存,这一层主要解决小IO的性能问题。其主要功能是处理小于一个块的IO或者非块对齐的IO,从而避免低效的读改写。因为其是非易失的,当用户写到它上面后,可以立即返回。它会聚集这些小块的IO成为一个整块,然后把数据迁移到下一层。
第二层为SLC/MLC存储空间。这一层主要解决整块的IO性能问题。当前的SLC/MLC的SSD是4KB对齐的,如果用户的数据是4KB对齐的并且长度是4KB的整倍数,其将跳过第一层,直接写到这一层;它也接受来自PMR层线性空间的迁移数据,以避免它的空间用尽。SLC/MLC闪存具有较高寿命,较高性能,适合在这一层做缓冲。它会聚集一定数量的4KB块成一个大块(MB级),然后把数据迁移到下一层。
第三层为TLC/QLC/PLC存储空间。这一层在整个系统中占据主要成本,容量也是最大的。其性能相比前两层较差,但其容量大成本低。如果用户的数据是大块对齐的,其将跳过前两层,直接写到这一层;它也接受来自SLC/MLC存储空间的迁移数据,以避免它的空间用尽。这一层主要是解决成本的问题,所以相关EC技术,重删压缩功能会在这一层上使用。
本实施例提供的存储系统的高性能体现在:小IO和块边界不对齐的IO由SCM层处理,这样消除了读改写的过程,极大地提升了性能。每层的性能优化目标单一,简化优化的实现,可以在各种IO负载下保持高性能。性价比高体现在:从上层到下层,价格逐渐便宜,随机性能逐渐变低和寿命逐渐变短,通过合理地组合它们,可以达成高性价比和高性能。可靠性高体现在:第一层使用PMR线性空间可以在保证速度的同时并保证可靠性;第二层和第三层使用EC或者副本技术,保证其数据的可靠性。
下面对本申请实施例提供的一种存储系统的创建装置进行介绍,下文描述的一种存储系统的创建装置与上文描述的一种存储系统的创建方法可以相互参照。
参见图7,根据一示例性实施例示出的一种存储系统的创建装置的结构图,如图7所示,包括:
第一创建模块701,用于将多个存储设备的持久内存区域分别映射至操作系统的内存地址空间,以创建用于处理非块大小对齐的读写请求的第一存储空间;
第二创建模块702,用于创建用于处理第一块大小对齐的读写请求的第二存储空间;
第三创建模块703,用于创建用于处理第二块大小对齐的读写请求的第三存储空间;其中,所述第二块大小大于所述第一块大小。
在本申请实施例中,不同的存储空间根据不同闪存的特点,处理不同IO类型的数据,从而建立一个性能高、性价比高和可靠性高的全闪存储系统。此外,本申请实施例将多个存储设备中的持久内存区域(PMR)聚合作为第一存储空间使用,消除了读改写的过程,提高了小IO读写性能。
在上述实施例的基础上,作为一种优选实施方式,所述第一创建模块701具体用于:将多个存储设备的持久内存区域分别映射至操作系统的内存地址空间,基于多个所述持久内存区域映射后的内存逻辑地址将多个所述持久内存区域拼接为连续的线性存储空间,并将所述连续的线性存储空间作为用于处理非块大小对齐的读写请求的第一存储空间。
在上述实施例的基础上,作为一种优选实施方式,所述第二创建模块702具体用于:创建用于处理第一块大小对齐的读写请求的单层式储存单元或多层式储存单元。
在上述实施例的基础上,作为一种优选实施方式,所述第三创建模块703具体用于:创建用于处理第二块大小对齐的读写请求的三层式储存单元或四层式储存单元。
下面对本申请实施例提供的一种数据处理装置进行介绍,下文描述的一种数据处理装置与上文描述的一种数据处理方法可以相互参照。
参见图8,根据一示例性实施例示出的一种数据处理装置的结构图,如图8所示,包括:
确定模块801,用于当接收到读写请求时,确定所述读写请求的对齐方式;
第一存储模块802,用于当所述读写请求为非块大小对齐时,利用存储系统的第一存储空间响应所述读写请求;其中,所述存储系统具体为上述实施例提供的存储系统;
第二存储模块803,用于当所述读写请求为第一块大小对齐时,利用所述存储系统的第二存储空间响应所述读写请求;
第三存储模块804,用于当所述读写请求为第二块大小对齐时,利用所述存储系统的第三存储空间响应所述读写请求;其中,所述第二块大小大于所述第一块大小。
在本申请实施例中,不同的存储空间根据不同闪存的特点,处理不同IO类型的数据,从而建立一个性能高、性价比高和可靠性高的全闪存储系统。此外,本申请实施例将多个存储设备中的持久内存区域(PMR)聚合作为第一存储空间使用,消除了读改写的过程,提高了小IO读写性能。
在上述实施例的基础上,作为一种优选实施方式,还包括:
第一迁移模块,用于将所述第一存储空间中多个字节的数据聚合为所述第一块大小的数据迁移至所述第二存储空间。
在上述实施例的基础上,作为一种优选实施方式,还包括:
第二迁移模块,用于将所述第二存储空间中多个所述第一块大小的数据聚合为所述第二块大小的数据迁移至所述第三存储空间。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,图9为根据一示例性实施例示出的一种电子设备的结构图,如图9所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的存储系统的创建方法或数据处理方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统4。
本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、CD-ROM等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (20)

1.一种存储系统,其特征在于,包括:
第一存储空间,用于处理非块大小对齐的读写请求;其中,所述第一存储空间具体为包含多个存储设备的持久内存区域的存储空间;
与所述第一存储空间连接的第二存储空间,用于处理第一块大小对齐的读写请求;
与所述第二存储空间连接的第三存储空间,用于处理第二块大小对齐的读写请求;其中,所述第二块大小大于所述第一块大小。
2.根据权利要求1所述存储系统,其特征在于,所述第一存储空间具体为存储级内存的存储空间。
3.根据权利要求1所述存储系统,其特征在于,所述存储设备具体为固态硬盘。
4.根据权利要求1所述存储系统,其特征在于,所述第一存储空间具体为包含多个存储设备的持久内存区域的连续的线性存储空间。
5.根据权利要求1所述存储系统,其特征在于,所述第一存储空间还用于:将多个字节的数据聚合为所述第一块大小的数据迁移至所述第二存储空间。
6.根据权利要求1所述存储系统,其特征在于,所述第二存储空间还用于:将多个所述第一块大小的数据聚合为所述第二块大小的数据迁移至所述第三存储空间。
7.根据权利要求1所述存储系统,其特征在于,所述第二存储空间具体为单层式储存单元或多层式储存单元。
8.根据权利要求1所述存储系统,其特征在于,所述第三存储空间具体为三层式储存单元或四层式储存单元或五层储存单元。
9.根据权利要求1所述存储系统,其特征在于,所述第一存储空间具体用于存储字节级的数据;
所述第二存储空间具体用于存储KB级的数据;
所述第三存储空间具体用于存储MB级的数据。
10.一种存储系统的创建方法,其特征在于,包括:
将多个存储设备的持久内存区域分别映射至操作系统的内存地址空间,以创建用于处理非块大小对齐的读写请求的第一存储空间;
创建用于处理第一块大小对齐的读写请求的第二存储空间;
创建用于处理第二块大小对齐的读写请求的第三存储空间;其中,所述第二块大小大于所述第一块大小。
11.根据权利要求10所述存储系统的创建方法,其特征在于,所述创建用于处理非块大小对齐的读写请求的第一存储空间,包括:
基于多个所述持久内存区域映射后的内存逻辑地址将多个所述持久内存区域拼接为连续的线性存储空间,并将所述连续的线性存储空间作为用于处理非块大小对齐的读写请求的第一存储空间。
12.根据权利要求10所述存储系统的创建方法,其特征在于,所述创建用于处理第一块大小对齐的读写请求的第二存储空间,包括:
创建用于处理第一块大小对齐的读写请求的单层式储存单元或多层式储存单元。
13.根据权利要求10所述存储系统的创建方法,其特征在于,所述创建用于处理第二块大小对齐的读写请求的第三存储空间,包括:
创建用于处理第二块大小对齐的读写请求的三层式储存单元或四层式储存单元或五层储存单元。
14.一种存储系统的创建装置,其特征在于,包括:
第一创建模块,用于将多个存储设备的持久内存区域分别映射至操作系统的内存地址空间,以创建用于处理非块大小对齐的读写请求的第一存储空间;
第二创建模块,用于创建用于处理第一块大小对齐的读写请求的第二存储空间;
第三创建模块,用于创建用于处理第二块大小对齐的读写请求的第三存储空间;其中,所述第二块大小大于所述第一块大小。
15.一种数据处理方法,其特征在于,包括:
当接收到读写请求时,确定所述读写请求的对齐方式;
若所述读写请求为非块大小对齐,则利用存储系统的第一存储空间响应所述读写请求;其中,所述存储系统具体为如权利要求1至9任一项所述存储系统;
若所述读写请求为第一块大小对齐,则利用所述存储系统的第二存储空间响应所述读写请求;
若所述数据为第二块大小对齐,则利用所述存储系统的第三存储空间响应所述读写请求;其中,所述第二块大小大于所述第一块大小。
16.根据权利要求15所述数据处理方法,其特征在于,还包括:
将所述第一存储空间中多个字节的数据聚合为所述第一块大小的数据迁移至所述第二存储空间。
17.根据权利要求15所述数据处理方法,其特征在于,还包括:
将所述第二存储空间中多个所述第一块大小的数据聚合为所述第二块大小的数据迁移至所述第三存储空间。
18.一种数据处理装置,其特征在于,包括:
确定模块,用于当接收到读写请求时,确定所述读写请求的对齐方式;
第一存储模块,用于当所述读写请求为非块大小对齐时,利用存储系统的第一存储空间响应所述读写请求;其中,所述存储系统具体为如权利要求1至9任一项所述存储系统;
第二存储模块,用于当所述读写请求为第一块大小对齐时,利用所述存储系统的第二存储空间响应所述读写请求;
第三存储模块,用于当所述读写请求为第二块大小对齐时,利用所述存储系统的第三存储空间响应所述读写请求;其中,所述第二块大小大于所述第一块大小。
19.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求10至13任一项所述存储系统的创建方法或如权利要求15至17任一项所述数据处理方法的步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求10至13任一项所述存储系统的创建方法或如权利要求15至17任一项所述数据处理方法的步骤。
CN202310166827.9A 2023-02-27 2023-02-27 存储系统及创建方法、数据处理方法、装置、设备和介质 Active CN115951841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310166827.9A CN115951841B (zh) 2023-02-27 2023-02-27 存储系统及创建方法、数据处理方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310166827.9A CN115951841B (zh) 2023-02-27 2023-02-27 存储系统及创建方法、数据处理方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN115951841A true CN115951841A (zh) 2023-04-11
CN115951841B CN115951841B (zh) 2023-06-20

Family

ID=85906837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310166827.9A Active CN115951841B (zh) 2023-02-27 2023-02-27 存储系统及创建方法、数据处理方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN115951841B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446899A (zh) * 2015-11-09 2016-03-30 上海交通大学 基于存储级内存的内存数据快速持久化的方法
CN107967124A (zh) * 2017-12-14 2018-04-27 南京云创大数据科技股份有限公司 一种分布式持久性内存存储系统及方法
CN109558457A (zh) * 2018-12-11 2019-04-02 浪潮(北京)电子信息产业有限公司 一种数据写入方法、装置、设备及存储介质
US20190347125A1 (en) * 2016-12-31 2019-11-14 Intel Corporation Systems, methods, and apparatuses for heterogeneous computing
CN113485635A (zh) * 2020-11-23 2021-10-08 中兴通讯股份有限公司 数据存储方法、装置、设备及存储介质
WO2022213736A1 (zh) * 2021-04-08 2022-10-13 华为技术有限公司 一种将数据写入固态硬盘的方法
CN115437581A (zh) * 2022-11-08 2022-12-06 浪潮电子信息产业股份有限公司 一种数据处理方法、装置、设备及可读存储介质
CN115482876A (zh) * 2022-09-30 2022-12-16 苏州浪潮智能科技有限公司 一种存储设备测试方法、装置及电子设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446899A (zh) * 2015-11-09 2016-03-30 上海交通大学 基于存储级内存的内存数据快速持久化的方法
US20190347125A1 (en) * 2016-12-31 2019-11-14 Intel Corporation Systems, methods, and apparatuses for heterogeneous computing
CN107967124A (zh) * 2017-12-14 2018-04-27 南京云创大数据科技股份有限公司 一种分布式持久性内存存储系统及方法
CN109558457A (zh) * 2018-12-11 2019-04-02 浪潮(北京)电子信息产业有限公司 一种数据写入方法、装置、设备及存储介质
CN113485635A (zh) * 2020-11-23 2021-10-08 中兴通讯股份有限公司 数据存储方法、装置、设备及存储介质
WO2022213736A1 (zh) * 2021-04-08 2022-10-13 华为技术有限公司 一种将数据写入固态硬盘的方法
CN115482876A (zh) * 2022-09-30 2022-12-16 苏州浪潮智能科技有限公司 一种存储设备测试方法、装置及电子设备和存储介质
CN115437581A (zh) * 2022-11-08 2022-12-06 浪潮电子信息产业股份有限公司 一种数据处理方法、装置、设备及可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LI WANG; MIN ZHU; CHUNLING YANG: "Write Amplification Trade-off Analysis in Hybrid Mapping Solid State Drives", IEEE *
牛德姣;贺庆建;蔡涛;王杰;詹永照;梁军;: "APMSS:一种具有非对称接口的固态存储系统", 计算机研究与发展, no. 09 *
陈游?;朱博弘;韩银俊;屠要峰;舒继武;: "一种持久性内存文件系统数据页的混合管理机制", 计算机研究与发展, no. 02 *

Also Published As

Publication number Publication date
CN115951841B (zh) 2023-06-20

Similar Documents

Publication Publication Date Title
WO2016107442A1 (zh) 将数据写入固态硬盘的方法及固态硬盘
US20130254465A1 (en) Solid state memory formatting
KR102585883B1 (ko) 메모리 시스템의 동작 방법 및 메모리 시스템
CN111625188B (zh) 一种存储器及其数据写入方法与存储系统
US11422945B2 (en) Generating, maintaining, or utilizing a compressed logical-to-physical table based on sequential writes
US11537305B1 (en) Dissimilar write prioritization in ZNS devices
US11194521B1 (en) Rate limit on the transitions of streams to open
US20230153002A1 (en) Control method for flash memory controller and associated flash memory controller and storage device
KR102656959B1 (ko) 존 구획 네임스페이스를 갖는 호스트 관리 하드웨어 압축
US11537303B1 (en) Dissimilar write prioritization in ZNS devices
CN115857790A (zh) 一种存储设备、数据存储方法及存储系统
CN115203079A (zh) 一种将数据写入固态硬盘的方法
US11829650B2 (en) Memory sub-system data migration
KR102589609B1 (ko) 분할된 저장장치에서의 스냅샷 관리
US11960741B2 (en) Implied streams
CN115951841B (zh) 存储系统及创建方法、数据处理方法、装置、设备和介质
KR20190106008A (ko) 메모리 시스템, 그것의 동작 방법 및 전자 장치
US11640267B2 (en) Method and system for maintenance allocation between NVM groups
US12039179B2 (en) Finding and releasing trapped memory in uLayer
US20230143926A1 (en) Dynamic Controller Buffer Management and Configuration
US11853201B2 (en) Selective single-level memory cell operation
US12019878B2 (en) Pre-validation of blocks for garbage collection
US20220413726A1 (en) Adaptive Host Memory Buffer Traffic Control Based On Real Time Feedback
US20240111443A1 (en) Finding and releasing trapped memory in ulayer
US20230418514A1 (en) Key-To-Physical Table Optimization For Key Value Data Storage Devices

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
GR01 Patent grant
GR01 Patent grant