多流SSD管理方法、装置、计算机设备及存储介质与流程


多流ssd管理方法、装置、计算机设备及存储介质
技术领域
1.本发明涉及存储技术领域,更具体地说是一种多流ssd管理方法、装置、计算机设备及存储介质。


背景技术:



2.ssd(固态硬盘)已经被广泛应用于各种场合,目前在pc市场,已经逐步替代传统的hdd,从可靠性和性能方面为用户提供较好的体验。
3.ssd在消费类和企业级方面存在较多典型的场景,为提升相应的用户体验或者性能/可靠性指标,需要做针对性的设计优化。传统的存储应用场景下,主机写入的数据混合存储在ssd内部,而在最新的一些场景下,主机会识别出多个写入流,在写入ssd时携带相应的标志。不同流的数据属性可能不一样,比如被更新的频率、数据冷热、存储可靠性等。
4.而由于多流应用的存在,现有的ssd一般在接收到新的流信息时,如果和当前写入点的不一致,则需要再开启新的写入点(一组空白物理块)进行写入。因为存在多个写入点交错的场景,单纯的靠物理块的时间戳已经不能判断数据新旧,必须维护到物理页级别的时间戳,代价更高;相应地重建时判断数据新旧的复杂度也更高;另外,由于有多个主机写入点,存在更多未写满的物理块,而nand的物理特征使得未写满的物理块的可靠性会降低。


技术实现要素:



5.本发明的目的在于克服现有技术的不足,提供多流ssd管理方法、装置、计算机设备及存储介质,以简化映射表重建的复杂度,提升数据的可靠性。
6.为实现上述目的,本发明采用以下技术方案:
7.第一方面,多流ssd管理方法,包括:
8.响应主机写入多个数据流的请求;
9.为多个数据流分配同一个主机写入块;
10.对分配的主机写入块添加第一时间戳;
11.执行多个数据流的写入操作;
12.保存多个数据流写入时的流编号。
13.其进一步技术方案为:所述主机写入块由ssd中多个die提供的物理块组成。
14.其进一步技术方案为:多个die中每个提供的物理块的编号相同或者不同。
15.其进一步技术方案为:多个die中每个提供的物理块的page数量相同。
16.其进一步技术方案为:还包括:
17.上电响应重建主机数据映射的请求;
18.按照主机写入块中物理块的时间戳的顺序,依次扫描物理块内的system meta,以重建映射表。
19.其进一步技术方案为:所述按照主机写入块中物理块的时间戳的顺序,依次扫描物理块内的system meta,以重建映射表,包括:
20.对应相同逻辑地址的数据,利用后写入的新数据覆盖先写入的旧数据。
21.其进一步技术方案为:还包括:
22.响应数据搬移的请求;
23.分配垃圾回收写入块;
24.对分配的垃圾回收写入块添加第二时间戳;
25.对主机写入块中的所有非空物理块按照第一时间戳先后顺序排序,并从小于第二时间戳的物理块中进行搜索目标数据;
26.将搜索到的所有目标数据从主机写入块中读取出并写入垃圾回收写入块中。
27.第二方面,多流ssd管理装置,包括第一响应单元、第一分配单元、添加单元、执行单元以及保存单元;
28.所述第一响应单元,用于响应主机写入多个数据流的请求;
29.所述第一分配单元,用于为多个数据流分配同一个主机写入块;
30.所述添加单元,用于对分配的主机写入块添加第一时间戳;
31.所述执行单元,用于执行多个数据流的写入操作;
32.所述保存单元,用于保存多个数据流写入时的流编号。
33.第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的多流ssd管理方法。
34.第四方面,一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如上述的多流ssd管理方法。
35.本发明与现有技术相比的有益效果是:本发明通过对主机写入的多个数据流分配同一个主机写入块并添加第一时间戳,在执行多个数据流的写入操作之后会保存多个数据流写入时的流编号。从而实现了在多流场景下,将不同的数据流混合存储在相同的写入块上,避免了开启多个写入块的代价,使得数据维护更加简单,提升了数据的可靠性。
36.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征及优点能够更明显易懂,以下特举较佳实施例,详细说明如下。
附图说明
37.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本发明具体实施例提供的多流ssd管理方法的流程图;
39.图2为本发明具体实施例提供的多流ssd管理装置的示意性框图;
40.图3为本发明具体实施例提供的一种计算机设备的示意性框图;
41.图4为本发明具体实施例提供的现有典型的nand组成示意图;
42.图5为本发明具体实施例提供的现有非多流(单流)ssd管理方法的示意图;
43.图6为本发明具体实施例提供的现有的多流ssd写入方法以及重建方法的示意图;
44.图7为本发明具体实施例提供的改进后的nand组成示意图;
45.图8为本发明具体实施例提供的改进后的多流写入以及重建的示意图;
46.图9为本发明具体实施例提供的数据搬移时将不同流分离的示意图。
具体实施方式
47.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
49.还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
50.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
51.对于ssd,主机写入的数据一般分为单流和多流,单流指单个数据流,由单个主机程序写入,多流指多个数据流,由多个主机程序写入。
52.如图4所示,现有典型的nand组成如下:die,即可独立并发操作的单元);block,即可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个block擦除;page,即读写单元,同一物理块内的page必需按顺序编程:0-》1-》2-》3


53.一个page一般由两种数据组成:
54.user data:主机写入的数据。主机访问ssd的单位为lba(512bytes),在ssd内部会切分为lpa(4kb)方便管理:lba 0-7对应lpa 0,lba 8-15对应lpa 1,依次类推。
55.system meta:系统管理元数据,包含用户数据地址:lpa、物理块时间戳:block ts等数据。
56.如图5所示,现有非多流(单流)ssd管理方法为:ssd内部一般由多个die组成,以满足容量和并发性需求,为便于说明,以4个die进行说明,每个die各出一个物理块组成一个写入块,图5中写入块由各个die内相同编号的物理块组成:如die 0/1/2/3的4个block 0组成写入块block 0。需要写入数据时,ssd内部分配一个写入块,并赋值一个时间戳(ts),该ts为单调增长的,每分配一次空白物理块写入数据则增加对应的时间戳值。在一个物理块block x内,写入顺序为:die 0block x page 0,die 1block x page 0,die 2block x page 0,die 3block x page 0。die 0block x page1,die 1block x page 1,die 2block x page1,die 3block x page 1。die 0block x page 2,die 1block x page 2,die 2block x page 2,die 3block x page 2

。ssd内部一般有两种写入点,一个为主机写入点,存放主机新写入的数据;一个为数据搬移写入点,为盘内闲置数据整理或者垃圾回收数据搬移时的写入点。在此管理模式下,当掉电后需要重建主机数据逻辑地址到nand物理地址映射时,则按照物理块的时间戳进行排序,然后依次扫描物理页内的system meta,更新
映射表即可:对应相同逻辑地址的数据,后写入的数据(新数据)会覆盖先写入的数据(旧数据)。对于数据的新旧,按照如下规则:如果俩笔数据处于不同的物理块内,则对应的物理块时间戳大者数据为新;如果俩笔数据处于相同的物理块内,则按照上述的写入顺序(die 0page 0-》die 1page 0

),后写入的数据为新。
57.如图6所示,现有的多流ssd写入方法以及重建方法为:在多流应用中,主机在写入对应的数据时会携带相应的流编号,不同编号的流的属性不同,在ssd内需要独立存储(比如某些流需要存在性能较高的物理块,或者需要存储在磨损较低的物理块)。
58.为便于说明,以四个流进行后续说明,对应每个流,ssd端分配一个写入块,如图6中的block a给流1写入;block b给流2写入;block c给流3写入;block d给流4写入。
59.由于主机的写入是根据其上程序的行为动态发起的,故在流之间的写入顺序是不可预期的;在流1/2/3/4之间完全会发生如下情形:
60.相同的主机逻辑地址数据写入到了不同的流,如图中的:用户数据a_1、用户数据a_2、用户数据a_3、用户数据a_4、用户数据a_5,则代表用户数据a在不同时间写入的;只有最后一个写入的才是最新的数据。
61.流与流之间的写入是完全交错的,故而传统非多流ssd中根据“物理块时间戳+物理块内写入顺序”来判断数据新旧的方法已经完全不适用,需要在物理页级别维持全局单调增长的时间戳,故而使得时间戳的管理以及映射重建复杂度大大提升。如图6中,用户数据a_1、用户数据a_3、用户数据a_4、用户数据a_5属于不同流,其先后顺序无法简单判断,必须记录其每次写入的时间戳才能在掉电后重建时判断谁新谁旧。
62.通过上述内容可知,现有多流ssd写入存在映射重建复杂、不便于数据管理的问题,本发明设计了一种针对多流场景下的ssd管理方法。下面通过具体实施例来介绍本发明。
63.如图1所示,多流ssd管理方法,包括写入方法,写入方法包括以下步骤:s10-s50。
64.s10、响应主机写入多个数据流的请求。
65.s20、为多个数据流分配同一个主机写入块。
66.s30、对分配的主机写入块添加第一时间戳。
67.s40、执行多个数据流的写入操作。
68.s50、保存多个数据流写入时的流编号。
69.对于s10-s50,在本实施例中,如图7、图8所示,图7中,用户数据地址:lpa,为主机数据的lba转换而来。物理块时间戳:block ts,该ts为单调增长的,每分配一次空白物理块写入数据则增加对应的时间戳值。流编号:stream id,为主机写入时携带的流信息。
70.如图8所示,在某一时间点,ssd内部仅维护单一主机写入块,比如主机写入块blocka,其第一时间戳为ts_a。
71.编号为1、2、4的数据流依次交错写入下述信息:流1写入:lpa_100_1、lpa_101_1、lpa_102_1、lpa_103_1;流2写入:lpa_102_2、lpa_103_2、lpa_104_1、lpa_105_1;流4写入:lpa_105_2、lpa_106_1、lpa_107_1、lpa_108_1。每个用户数据的存放区的system meta内,其第一时间戳均为ts_a,stream id则设置为其写入时的流编号(1/2/4)。
72.此时,数据新旧如下:
73.lpa_100、lpa_101、lpa_104、lpa_106、lpa_107、lpa_108仅写入了一次,新数据分
别为lpa_100_1、lpa_101_1、lpa_104_1、lpa_106_1、lpa_107_1、lpa_108_1。
74.lpa_102写入了两次,新数据为lpa_102_2(流2写入)。
75.lpa_103写入了两次,新数据为lpa_103_2(流2写入)。
76.lpa_105写入了两次,新数据为lpa_105_2(流4写入)。
77.需要说明的是,主机写入块由ssd中多个die提供的物理块组成。多个die中每个提供的物理块的编号相同或者不同。多个die中每个提供的物理块的page数量相同。
78.在一实施例中,多流ssd管理方法,还包括重建方法,重建方法包括以下步骤:s60-s70。
79.s60、上电响应重建主机数据映射的请求。
80.s70、按照主机写入块中物理块的时间戳的顺序,依次扫描物理块内的system meta,以重建映射表。
81.对于s60、s70。若出现掉电,由于写入块的规则和单流一致,故可以延续单流时的重建方式。按照物理块的时间戳进行排序,然后依次扫描物理页内的system meta,更新映射表即可:对应相同逻辑地址的数据,后写入的数据(新数据)会覆盖先写入的数据(旧数据)。
82.在一实施例中,步骤s70具体包括以下步骤:
83.s701、对应相同逻辑地址的数据,利用后写入的新数据覆盖先写入的旧数据。
84.对于数据的新旧,按照如下规则:如果俩笔数据处于不同的物理块内,则对应的物理块时间戳大者数据为新;如果俩笔数据处于相同的物理块内,则按照上述的写入顺序(die 0page 0-》die 1page 0

),后写入的数据为新。
85.在一实施例中,多流ssd管理方法,还包括数据搬移方法,数据搬移方法包括以下步骤:s80-s120。
86.s80、响应数据搬移的请求;
87.s90、分配垃圾回收写入块;
88.s100、对分配的垃圾回收写入块添加第二时间戳;
89.s110、对主机写入块中的所有非空物理块按照第一时间戳先后顺序排序,并从小于第二时间戳的物理块中进行搜索目标数据;
90.s120、将搜索到的所有目标数据从主机写入块中读取出并写入垃圾回收写入块中。
91.如图9所示,当ssd内部idle(无主机命令)或者垃圾回收触发数据搬移时,内部分配一个垃圾回收写入块block b(其物理块时间戳为ts_b),假设其内存放stream id为1的数据。将所有非空的物理块按照时间戳先后顺序排序,从时间戳小于ts_b的物理块中进行搜索,寻是否其内存放stream id为1,且为对应的逻辑地址最新的数据(其后未被主机覆写过)。
92.如图9中所示,写入块源block 0/1内包含stream id为1的有效/最新数据。因此将对应物理块内的有效用户数据且stream id为1的数据从源block 0/1读出,写入到block b中,且系统数据设置为:lpa,维持不变;stream id,维持不变;物理块时间戳,由原先的ts_0/ts_1修改为当前写入块的时间戳ts_b。
93.当ts_b写满后,则可分配新的垃圾回收写入块,搜集其他相同stream id的数据。
94.当源block内所有stream id的有效数据被搬移后,则可擦除源物理块,供后续写入使用,至此,主机写入时混合在相同写入块内的数据即可被分离到独立的物理块中。
95.本发明通过对主机写入的多个数据流分配同一个主机写入块并添加第一时间戳,在执行多个数据流的写入操作之后会保存多个数据流写入时的流编号。从而实现了在多流场景下,将不同的数据流混合存储在相同的写入块上,避免了开启多个写入块的代价,使得数据维护更加简单,提升了数据的可靠性。
96.图2为本发明实施例提供的多流ssd管理装置的示意性框图;对应于上述的多流ssd管理方法,本发明实施例还提供了多流ssd管理装置100。
97.如图2所示,多流ssd管理装置100,包括第一响应单元110、第一分配单元120、添加单元130、执行单元140以及保存单元150。
98.第一响应单元110,用于响应主机写入多个数据流的请求。
99.第一分配单元120,用于为多个数据流分配同一个主机写入块。
100.添加单元130,用于对分配的主机写入块添加第一时间戳。
101.执行单元140,用于执行多个数据流的写入操作。
102.保存单元150,用于保存多个数据流写入时的流编号。
103.在本实施例中,如图7、图8所示,图7中,用户数据地址:lpa,为主机数据的lba转换而来。物理块时间戳:block ts,该ts为单调增长的,每分配一次空白物理块写入数据则增加对应的时间戳值。流编号:stream id,为主机写入时携带的流信息。
104.如图8所示,在某一时间点,ssd内部仅维护单一主机写入块,比如主机写入块block a,其第一时间戳为ts_a。
105.编号为1、2、4的数据流依次交错写入下述信息:流1写入:lpa_100_1、lpa_101_1、lpa_102_1、lpa_103_1;流2写入:lpa_102_2、lpa_103_2、lpa_104_1、lpa_105_1;流4写入:lpa_105_2、lpa_106_1、lpa_107_1、lpa_108_1。每个用户数据的存放区的system meta内,其第一时间戳均为ts_a,stream id则设置为其写入时的流编号(1/2/4)。
106.此时,数据新旧如下:
107.lpa_100、lpa_101、lpa_104、lpa_106、lpa_107、lpa_108仅写入了一次,新数据分别为lpa_100_1、lpa_101_1、lpa_104_1、lpa_106_1、lpa_107_1、lpa_108_1。
108.lpa_102写入了两次,新数据为lpa_102_2(流2写入)。
109.lpa_103写入了两次,新数据为lpa_103_2(流2写入)。
110.lpa_105写入了两次,新数据为lpa_105_2(流4写入)。
111.需要说明的是,主机写入块由ssd中多个die提供的物理块组成。多个die中每个提供的物理块的编号相同或者不同。多个die中每个提供的物理块的page数量相同。
112.在一实施例中,多流ssd管理装置100还包括第二响应单元和扫描单元。
113.第二响应单元,用于上电响应重建主机数据映射的请求。
114.扫描单元,用于按照主机写入块中物理块的时间戳的顺序,依次扫描物理块内的system meta,以重建映射表。
115.若出现掉电,由于写入块的规则和单流一致,故可以延续单流时的重建方式。按照物理块的时间戳进行排序,然后依次扫描物理页内的system meta,更新映射表即可:对应相同逻辑地址的数据,后写入的数据(新数据)会覆盖先写入的数据(旧数据)。
116.在一实施例中,多流ssd管理装置100还包括第三响应单元、分配单元、增加单元、搜索单元以及读取单元。
117.第三响应单元,用于响应数据搬移的请求。
118.分配单元,用于分配垃圾回收写入块。
119.增加单元,用于对分配的垃圾回收写入块添加第二时间戳。
120.搜索单元,用于对主机写入块中的所有非空物理块按照第一时间戳先后顺序排序,并从小于第二时间戳的物理块中进行搜索目标数据。
121.读取单元,用于将搜索到的所有目标数据从主机写入块中读取出并写入垃圾回收写入块中。
122.如图9所示,当ssd内部idle(无主机命令)或者垃圾回收触发数据搬移时,内部分配一个垃圾回收写入块block b(其物理块时间戳为ts_b),假设其内存放stream id为1的数据。将所有非空的物理块按照时间戳先后顺序排序,从时间戳小于ts_b的物理块中进行搜索,寻是否其内存放stream id为1,且为对应的逻辑地址最新的数据(其后未被主机覆写过)。
123.如图9中所示,写入块源block 0/1内包含stream id为1的有效/最新数据。因此将对应物理块内的有效用户数据且stream id为1的数据从源block 0/1读出,写入到block b中,且系统数据设置为:lpa,维持不变;stream id,维持不变;物理块时间戳,由原先的ts_0/ts_1修改为当前写入块的时间戳ts_b。
124.当ts_b写满后,则可分配新的垃圾回收写入块,搜集其他相同stream id的数据。
125.当源block内所有stream id的有效数据被搬移后,则可擦除源物理块,供后续写入使用,至此,主机写入时混合在相同写入块内的数据即可被分离到独立的物理块中。
126.上述多流ssd管理装置可以实现为计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。
127.请参阅图3,图3是本技术实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集。
128.如图3所示,该计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述的多流ssd管理方法步骤。
129.该计算机设备700可以是终端或服务器。该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
130.该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种多流ssd管理方法。
131.该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
132.该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种多流ssd管理方法。
133.该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多
或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现以下步骤:
134.多流ssd管理方法,包括:
135.响应主机写入多个数据流的请求;
136.为多个数据流分配同一个主机写入块;
137.对分配的主机写入块添加第一时间戳;
138.执行多个数据流的写入操作;
139.保存多个数据流写入时的流编号。
140.在一实施例中:所述主机写入块由ssd中多个die提供的物理块组成。
141.在一实施例中:多个die中每个提供的物理块的编号相同或者不同。
142.在一实施例中:多个die中每个提供的物理块的page数量相同。
143.在一实施例中:还包括:
144.上电响应重建主机数据映射的请求;
145.按照主机写入块中物理块的时间戳的顺序,依次扫描物理块内的system meta,以重建映射表。
146.在一实施例中:所述按照主机写入块中物理块的时间戳的顺序,依次扫描物理块内的system meta,以重建映射表,包括:
147.对应相同逻辑地址的数据,利用后写入的新数据覆盖先写入的旧数据。
148.在一实施例中:还包括:
149.响应数据搬移的请求;
150.分配垃圾回收写入块;
151.对分配的垃圾回收写入块添加第二时间戳;
152.对主机写入块中的所有非空物理块按照第一时间戳先后顺序排序,并从小于第二时间戳的物理块中进行搜索目标数据;
153.将搜索到的所有目标数据从主机写入块中读取出并写入垃圾回收写入块中。
154.应当理解,在本技术实施例中,处理器720可以是中央处理单元(central processing unit,cpu),该处理器720还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
155.本领域技术人员可以理解,图3中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
156.在本发明的另一实施例中提供了一种计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的多流ssd管理方法。
157.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
158.在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
159.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
160.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
161.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、磁碟或者光盘等各种可以存储程序代码的介质。
162.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术特征:


1.多流ssd管理方法,其特征在于,包括:响应主机写入多个数据流的请求;为多个数据流分配同一个主机写入块;对分配的主机写入块添加第一时间戳;执行多个数据流的写入操作;保存多个数据流写入时的流编号。2.根据权利要求1所述的多流ssd管理方法,其特征在于,所述主机写入块由ssd中多个die提供的物理块组成。3.根据权利要求2所述的多流ssd管理方法,其特征在于,多个die中每个提供的物理块的编号相同或者不同。4.根据权利要求2所述的多流ssd管理方法,其特征在于,多个die中每个提供的物理块的page数量相同。5.根据权利要求1所述的多流ssd管理方法,其特征在于,还包括:上电响应重建主机数据映射的请求;按照主机写入块中物理块的时间戳的顺序,依次扫描物理块内的system meta,以重建映射表。6.根据权利要求5所述的多流ssd管理方法,其特征在于,所述按照主机写入块中物理块的时间戳的顺序,依次扫描物理块内的system meta,以重建映射表,包括:对应相同逻辑地址的数据,利用后写入的新数据覆盖先写入的旧数据。7.根据权利要求1所述的多流ssd管理方法,其特征在于,还包括:响应数据搬移的请求;分配垃圾回收写入块;对分配的垃圾回收写入块添加第二时间戳;对主机写入块中的所有非空物理块按照第一时间戳先后顺序排序,并从小于第二时间戳的物理块中进行搜索目标数据;将搜索到的所有目标数据从主机写入块中读取出并写入垃圾回收写入块中。8.多流ssd管理装置,其特征在于,包括第一响应单元、第一分配单元、添加单元、执行单元以及保存单元;所述第一响应单元,用于响应主机写入多个数据流的请求;所述第一分配单元,用于为多个数据流分配同一个主机写入块;所述添加单元,用于对分配的主机写入块添加第一时间戳;所述执行单元,用于执行多个数据流的写入操作;所述保存单元,用于保存多个数据流写入时的流编号。9.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~7中任意一项所述的多流ssd管理方法。10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如权利要求1~7任意一项所述的多流ssd管理方法。

技术总结


本发明实施例公开了一种多流SSD管理方法、装置、计算机设备及存储介质,其中方法包括:响应主机写入多个数据流的请求;为多个数据流分配同一个主机写入块;对分配的主机写入块添加第一时间戳;执行多个数据流的写入操作;保存多个数据流写入时的流编号。本发明实现了在多流场景下,将不同的数据流混合存储在相同的写入块上,避免了开启多个写入块的代价,使得数据维护更加简单,提升了数据的可靠性。性。性。


技术研发人员:

王猛 徐伟华 李建 韩道静

受保护的技术使用者:

苏州忆联信息系统有限公司

技术研发日:

2022.09.16

技术公布日:

2022/12/9

本文发布于:2024-09-21 02:49:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/34542.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   多个   物理   主机
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议