本技术涉及存储,更具体地说,涉及一种存储系统及创建方法、数据处理方法、装置、设备和介质。
背景技术:
1、存储系统软件的演进与存储介质和应用有密切的关系,当存储介质和应用场景发生变革,存储软件也需要重新进行设计。不同的介质有不同的特点,存储系统需要取长补短,以达成性能、价格和可靠性的最佳平衡点。
2、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的价格或者持平,所以单独使用任何一种闪存都有其固有的缺点。
3、第一代的存储系统软件主要是对hdd进行优化的,其存储堆栈比较重,时延高,无法充分发挥ssd的性能;当前针对闪存优化的存储系统,一般会单一地使用一种闪存,例如,mlc或tlc(triple level cell,三层式储存单元),其性能高,但性价比低,适用场景有限。
4、在现有技术中,所有的读写都是以块为单位进行。如图1所示,在小io(输入/输出,input/output)的读写过程中,先要把改写的块读出来,然后修改其中的部分数据,最后把改好的数据写下去,也即导致读改写。因此io次数增加,读写的数据量也会放大,这也是小io读写性能不高的主要原因。
5、因此,如何提高小io读写性能,同时实现高可靠性和高性价比的存储系统是本领域技术人员需要解决的技术问题。
技术实现思路
1、本技术的目的在于提供一种存储系统、一种存储系统的创建方法、装置、一种数据处理方法、装置及一种电子设备和一种计算机可读存储介质,提高了小io读写性能,同时实现了高可靠性和高性价比的存储系统。
2、为实现上述目的,本技术提供了一种存储系统,包括:
3、第一存储空间,用于处理非块大小对齐的读写请求;其中,所述第一存储空间具体为包含多个存储设备的持久内存区域的存储空间;
4、与所述第一存储空间连接的第二存储空间,用于处理第一块大小对齐的读写请求;
5、与所述第二存储空间连接的第三存储空间,用于处理第二块大小对齐的读写请求;其中,所述第二块大小大于所述第一块大小。
6、其中,所述第一存储空间具体为存储级内存的存储空间。
7、其中,所述存储设备具体为固态硬盘。
8、其中,所述第一存储空间具体为包含多个存储设备的持久内存区域的连续的线性存储空间。
9、其中,所述第一存储空间还用于:将多个字节的数据聚合为所述第一块大小的数据迁移至所述第二存储空间。
10、其中,所述第二存储空间还用于:将多个所述第一块大小的数据聚合为所述第二块大小的数据迁移至所述第三存储空间。
11、其中,所述第二存储空间具体为单层式储存单元或多层式储存单元。
12、其中,所述第三存储空间具体为三层式储存单元或四层式储存单元或五层储存单元。
13、其中,所述第一存储空间具体用于存储字节级的数据;
14、所述第二存储空间具体用于存储kb级的数据;
15、所述第三存储空间具体用于存储mb级的数据。
16、为实现上述目的,本技术提供了一种存储系统的创建方法,包括:
17、将多个存储设备的持久内存区域分别映射至操作系统的内存地址空间,以创建用于处理非块大小对齐的读写请求的第一存储空间;
18、创建用于处理第一块大小对齐的读写请求的第二存储空间;
19、创建用于处理第二块大小对齐的读写请求的第三存储空间;其中,所述第二块大小大于所述第一块大小。
20、其中,所述创建用于处理非块大小对齐的读写请求的第一存储空间,包括:
21、基于多个所述持久内存区域映射后的内存逻辑地址将多个所述持久内存区域拼接为连续的线性存储空间,并将所述连续的线性存储空间作为用于处理非块大小对齐的读写请求的第一存储空间。
22、其中,所述创建用于处理第一块大小对齐的读写请求的第二存储空间,包括:
23、创建用于处理第一块大小对齐的读写请求的单层式储存单元或多层式储存单元。
24、其中,所述创建用于处理第二块大小对齐的读写请求的第三存储空间,包括:
25、创建用于处理第二块大小对齐的读写请求的三层式储存单元或四层式储存单元或五层储存单元。
26、为实现上述目的,本技术提供了一种存储系统的创建装置,包括:
27、第一创建模块,用于将多个存储设备的持久内存区域分别映射至操作系统的内存地址空间,以创建用于处理非块大小对齐的读写请求的第一存储空间;
28、第二创建模块,用于创建用于处理第一块大小对齐的读写请求的第二存储空间;
29、第三创建模块,用于创建用于处理第二块大小对齐的读写请求的第三存储空间;其中,所述第二块大小大于所述第一块大小。
30、其中,所述第一创建模块具体用于:将多个存储设备的持久内存区域分别映射至操作系统的内存地址空间,基于多个所述持久内存区域映射后的内存逻辑地址将多个所述持久内存区域拼接为连续的线性存储空间,并将所述连续的线性存储空间作为用于处理非块大小对齐的读写请求的第一存储空间。
31、其中,所述第二创建模块具体用于:创建用于处理第一块大小对齐的读写请求的单层式储存单元或多层式储存单元。
32、其中,所述第三创建模块具体用于:创建用于处理第二块大小对齐的读写请求的三层式储存单元或四层式储存单元。
33、为实现上述目的,本技术提供了一种数据处理方法,包括:
34、当接收到读写请求时,确定所述读写请求的对齐方式;
35、若所述读写请求为非块大小对齐,则利用存储系统的第一存储空间响应所述读写请求;其中,所述存储系统具体为上述存储系统;
36、若所述读写请求为第一块大小对齐,则利用所述存储系统的第二存储空间响应所述读写请求;
37、若所述数据为第二块大小对齐,则利用所述存储系统的第三存储空间响应所述读写请求;其中,所述第二块大小大于所述第一块大小。
38、其中,还包括:
39、将所述第一存储空间中多个字节的数据聚合为所述第一块大小的数据迁移至所述第二存储空间。
40、其中,还包括:
41、将所述第二存储空间中多个所述第一块大小的数据聚合为所述第二块大小的数据迁移至所述第三存储空间。
42、为实现上述目的,本技术提供了一种数据处理装置,包括:
43、确定模块,用于当接收到读写请求时,确定所述读写请求的对齐方式;
44、第一存储模块,用于当所述读写请求为非块大小对齐时,利用存储系统的第一存储空间响应所述读写请求;其中,所述存储系统具体为上述存储系统;
45、第二存储模块,用于当所述读写请求为第一块大小对齐时,利用所述存储系统的第二存储空间响应所述读写请求;
46、第三存储模块,用于当所述读写请求为第二块大小对齐时,利用所述存储系统的第三存储空间响应所述读写请求;其中,所述第二块大小大于所述第一块大小。
47、其中,还包括:
48、第一迁移模块,用于将所述第一存储空间中多个字节的数据聚合为所述第一块大小的数据迁移至所述第二存储空间。
49、其中,还包括:
50、第二迁移模块,用于将所述第二存储空间中多个所述第一块大小的数据聚合为所述第二块大小的数据迁移至所述第三存储空间。
51、为实现上述目的,本技术提供了一种电子设备,包括:
52、存储器,用于存储计算机程序;
53、处理器,用于执行所述计算机程序时实现如上述存储系统的创建方法或数据处理方法的步骤。
54、为实现上述目的,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述存储系统的创建方法或数据处理方法的步骤。
55、通过以上方案可知,本技术提供的一种存储系统,包括第一存储空间,用于处理非块大小对齐的读写请求;其中,所述第一存储空间具体为包含多个存储设备的持久内存区域的存储空间;与所述第一存储空间连接的第二存储空间,用于处理第一块大小对齐的读写请求;与所述第二存储空间连接的第三存储空间,用于处理第二块大小对齐的读写请求;其中,所述第二块大小大于所述第一块大小。
56、本技术提供的存储系统,不同的存储空间根据不同闪存的特点,处理不同io类型的数据,从而建立一个性能高、性价比高和可靠性高的全闪存储系统。此外,本技术提供的存储系统,将多个存储设备中的持久内存区域(pmr)聚合作为第一存储空间使用,消除了读改写的过程,提高了小io读写性能。本技术还公开了一种存储系统的创建方法、装置、一种数据处理方法、装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
57、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。