基于客户端和网络的擦除码恢复的制作方法
未命名
09-29
阅读:109
评论:0
基于客户端和网络的擦除码恢复
1.相关申请的交叉引用
2.本技术要求于2022年3月23日提交的题为“client/network based erasure code error recovery for optimal performance”的美国临时申请no.63/323,009的优先权和权益,其全部内容通过引用结合于此。
技术领域
3.根据本公开的实施例的一个或多个方面涉及存储,并且更具体地,涉及用于基于客户端和网络的擦除码(erasure code)恢复的系统和方法。
背景技术:
4.对于带宽密集型存储工作负载,基于擦除码恢复丢失的数据可能会在存储集群中(例如,在存储节点的集群中)导致高开销。对于可以通过网络发送数据的分布式或横向扩展(scale-out)系统,这种擦除码恢复开销可能会加剧。基于存储集群的擦除恢复也可能导致高延迟。
5.本公开的各方面针对这一一般技术环境而相关。
技术实现要素:
6.在一些实施例中,擦除码恢复可以在主机或客户端中执行,而不由存储系统(例如,存储集群)的存储节点执行。主机可以包括图形处理单元(gpu),其可以被配置为当存储节点故障时,基于从保持操作的节点接收到的数据块和奇偶校验数据块来执行擦除码恢复。在一些实施例中,有足够能力的网络接口卡(nic)可以执行擦除码恢复并存储数据,包括gpu的存储器中的恢复数据,使得节点的故障和数据的恢复对gpu是透明的。
7.根据本公开的实施例,提供了一种方法,包括:由存储节点接收获取命令;由存储节点使用远程直接存储器访问,将由获取命令指定的数据存储在主机的存储器中由获取命令指定的存储器地址处;由存储节点发送指示获取命令的成功执行的响应;以及由主机基于该数据执行擦除码恢复。
8.在一些实施例中,接收获取命令包括通过传输控制协议(tcp)套接字接收获取命令。
9.在一些实施例中,存储数据包括使用基于以太网的远程直接存储器访问来存储数据。
10.在一些实施例中,由存储节点存储数据包括使用基于聚合以太网的远程直接存储器访问(roce)来存储数据。
11.在一些实施例中,该获取命令包括第一数据块的第一分散聚集列表。
12.在一些实施例中,该获取命令包括奇偶校验数据块的第二分散聚集列表。
13.在一些实施例中:该主机包括图形处理单元(gpu),并且执行擦除码恢复包括由gpu执行擦除码恢复。
14.在一些实施例中,执行擦除码恢复包括:执行擦除码恢复包括:将奇偶校验数据临时存储在共享的奇偶校验存储器池的区域中,以及在完成擦除码恢复时释放该共享的奇偶校验存储器池的区域。
15.在一些实施例中:该主机包括网络接口卡(nic),并且执行擦除码恢复包括由nic执行擦除码恢复。
16.根据本公开的实施例,提供了一种系统,包括:包括处理电路的主机;以及包括处理电路的存储节点,该处理电路被配置为:接收获取命令;使用远程直接存储器访问,将由获取命令指定的数据存储在主机的存储器中由获取命令指定的存储器地址处;以及发送指示获取命令的成功执行的响应,其中,该主机的处理电路被配置为基于该数据执行擦除码恢复。
17.在一些实施例中,接收获取命令包括通过传输控制协议tcp套接字接收获取命令。
18.在一些实施例中,存储数据包括使用基于以太网的远程直接存储器访问来存储数据。
19.在一些实施例中,存储数据包括使用基于聚合以太网的远程直接存储器访问(roce)来存储数据。
20.在一些实施例中,该获取命令包括第一数据块的第一分散聚集列表。
21.在一些实施例中,该获取命令包括奇偶校验数据块的第二分散聚集列表。
22.在一些实施例中,该主机包括图形处理单元(gpu),并且执行擦除码恢复包括由gpu执行擦除码恢复。
23.在一些实施例中,执行擦除码恢复包括:将奇偶校验数据临时存储在共享的奇偶校验存储器池的区域中,以及在完成擦除码恢复时释放该共享的奇偶校验存储器池的区域。
24.在一些实施例中:该主机包括网络接口卡(nic),并且执行擦除码恢复包括由nic执行擦除码恢复。
25.根据本公开的实施例,提供了一种系统,包括:包括用于处理的部件的主机;以及包括用于处理的部件的存储节点,该部件被配置为:接收获取命令;使用远程直接存储器访问,将由获取命令指定的数据存储在主机的存储器中由获取命令指定的存储器地址处;以及发送响应,指示获取命令的成功执行,其中,用于主机的处理的部件被配置为基于该数据执行擦除码恢复。
26.在一些实施例中:该主机包括网络接口卡(nic);并且执行擦除码恢复包括由nic执行擦除码恢复。
附图说明
27.参考说明书、权利要求书和附图,将会认识和理解本公开的这些和其他特征和优点,其中:
28.图1a示出了根据本公开的实施例的包括连接到存储系统的主机的系统的框图;
29.图1b是根据本公开的实施例的获取(get)命令和对应的目的存储器区域的图示;
30.图1c是根据本公开的实施例的响应的图示;
31.图2a是根据本公开的实施例的数据布局图;
32.图2b是根据本公开的实施例的远程直接存储器访问单元的图示;
33.图2c是根据本公开的实施例的远程直接存储器访问单元的报头和报尾的图示;
34.图3a是根据本公开的实施例的包括存储节点的系统的框图;
35.图3b是根据本公开的实施例的图3a的系统在操作中的示意图;和
36.图4是根据本公开的实施例的方法的流程图。
具体实施方式
37.以下结合附图阐述的详细描述旨在作为根据本公开提供的基于客户端和网络的擦除码恢复的系统和方法的示例性实施例的描述,而不旨在表示可以构建或利用本公开的唯一形式。该描述结合所示实施例阐述了本公开的特征。然而,应当理解,相同或等效的功能和结构可以通过不同的实施例来实现,这些实施例也旨在被包含在本公开的范围内。如本文别处所示,相似的附图标记旨在指示相似的元素或特征。
38.一些文件和对象存储协议可能不支持应用主机或客户端上的擦除码恢复(例如,用于在存储节点故障后恢复数据的数据恢复操作)。这种存储解决方案可以在将数据返回给主机之前,在存储节点的本地硬件系统上执行擦除码恢复,因为所有存储设备都驻留在本地。然而,这样的系统可能不能处理节点故障,并且可能要求每个节点作为独立系统是容错的,这一要求可能会大大增加复杂性。对于某些类型的节点级擦除编解码,在存储节点处处理擦除码恢复可能需要很高的开销,这是由于(i)重建引起的网络开销,以及(ii)所涉及的通过系统网络和硬件与数据交互的次数。在存储节点处恢复数据也可能显著增加这种恢复操作引起的延迟。
39.在一些实施例中,可以通过将数据恢复负担转移到应用主机(或数据存储系统的“客户端”)来减少存储节点上的开销和执行擦除码恢复时产生的延迟。这样的实施例还可以包括利用远程直接存储器访问(remote direct memory access,rdma)协议来将数据直接放置在诸如gpu存储器的应用主机存储器中。在一些实施例中,诸如amazon s3协议的数据交换协议可以被扩展以支持擦除编解码数据(erasure coded data)在应用主机上的重建,而不需要对对象数据格式的明确知晓。这样的实施例可以提供(i)在发起者或接收主机上对擦除编解码数据的有效故障恢复、(ii)使用诸如网络接口卡(nic)或交换机的网络组件对擦除编解码数据的高效故障恢复,以及(iii)减少用于处理擦除编解码数据的应用开销的方法。一些实施例包括使用网络组件进行即时(on-the-fly)擦除码恢复的方法。
40.例如,在一些实施例中,擦除码恢复可以在主机或客户端中执行,而不由存储系统的存储节点执行。主机可以包括图形处理单元(gpu),其可以被配置为当存储节点故障时,基于从保持操作的节点接收到的数据块和奇偶校验数据块来执行擦除码恢复。在一些实施例中,有足够能力的网络接口卡(nic)可以替代地执行擦除码恢复并存储数据,包括gpu的存储器中恢复的数据,使得节点的故障和数据的恢复对gpu是透明的。如本文中所使用的,“数据块”和“奇偶校验数据块”是数据量和奇偶校验数据量,它们可以与“块”(例如,固态驱动中的物理块)一致或不一致,因为它们可以针对存储设备定义。
41.图1a示出了包括连接到存储系统102的主机100的系统的框图。图1b示出了在一些实施例中请求105(包括命令,例如s3命令)的数据格式。在所示的示例中,请求105是获取命令(主机用来从存储系统请求数据的命令)。该请求可以由主机发送到存储节点之一,该存
储节点之一可以被指定为“联系节点”,负责在主机和其他存储节点之间中继某些通信(诸如请求105和响应130(图1c;下面将进一步详细讨论))。在图1b的示例中,主机知道存储节点(节点5,如下面进一步的示例所示)已经故障,并且获取命令包括分散-聚集(scatter-gather)列表,该列表包括数据块的列表元素110(在图1b中标识为“sgl-1”、“sgl-2”和“sgl-n”)和奇偶校验数据块的列表元素115(在图1b中标识为“sgl-p1”、“sgl-p2”和“sgl-p3”)。取出奇偶校验数据块,使得通常由故障节点发送的数据可以由主机恢复,如下面进一步详细讨论的。分散聚集列表是元素的列表,元素中的每一个包括目的存储器地址,该目的存储器地址可以是主机存储器(例如,主机图形处理单元(gpu)存储器120)中的地址,将使用远程直接存储器访问在该地址处存储对应的数据。数据块可以被存储在如图所示的gpu存储器中,并且奇偶校验数据块可以被存储在共享的奇偶校验存储器池125(也可以被存储在gpu存储器中)中由奇偶校验数据块的分散聚集列表标识的地址处,如下面进一步详细讨论的。
42.图1c示出了响应130(例如,s3响应)的数据格式。在数据块和奇偶校验数据块已经被复制到主机之后,该响应可以由联系节点(其可以从其他节点收集响应中包括的一些数据)发送到主机,以指示请求的成功完成(例如,向主机返回所请求的数据、或者返回用于重构所请求的数据的足够的数据和奇偶校验数据)。该响应可以包括奇偶校验数据(在图1c中标识为“sgl-p1”、“sgl-p2”和“sgl-pn”)。
43.如上所述,存储节点和主机之间的数据传送可以使用远程直接存储器访问(例如,基于聚合以太网的远程直接存储器访问(remote direct memory access over converged ethernet,roce)、或者适合用于远程直接存储器访问的另一种类型的连接上的远程直接存储器访问(例如,infiniband
tm
))来执行。请求105和响应130可以通过单独的信道(例如,通过传输控制协议(tcp)套接字(socket))发送。图2a示出了数据可以在存储节点中布局的方式(例如,跨节点布置为条带);图2a还示出了从存储节点检索的数据块和奇偶校验数据块可以被存储在主机的对象存储器中,并且奇偶校验数据块可以被存储在主机的奇偶校验存储器中。主机存储器中的数据布置可以是根据分散聚集列表的,如下面进一步详细讨论的。如上所述,主机可以包括具有专用存储器(或“gpu存储器”)的图形处理单元(gpu),其可以由主机用于数据处理,例如,使用从存储节点检索的数据来执行。gpu还可以执行擦除码恢复、或者如下面进一步详细讨论的,擦除码恢复可以由其他硬件执行,例如由智能nic执行。来自五个节点(节点0到4)的数据以条带存储(第一个条带从地址0x10000000开始,第二个条带从地址0x10200000开始,依此类推),每个条带的一部分最初丢失,因为在图2a的示例中,第六个节点(节点5)故障。由于这个原因,奇偶校验数据块被存储到共享的奇偶校验存储器池125,并且gpu根据包括奇偶校验数据块的数据来重构如果第六节点没有故障而将由第六节点发送的数据,并且将该数据存储在如果第六节点没有故障而将由第六节点存储该数据的存储器位置中。一旦擦除码恢复完成,则gpu可以释放共享的奇偶校验存储器池125中用于执行擦除码恢复的部分;然后,该存储器变得可用于其他擦除码恢复操作。
44.通过远程直接存储器访问被发送到主机的数据可以被封装为(例如,包括或由以下组成)可以被称为“远程直接存储器访问单元”的块。如图2b所示,每个远程直接存储器访问单元可以包括报头215、数据有效载荷220、填充225和报尾230。每个有效载荷可以包括由请求105的分散聚集列表之一的元素指定的数据量的一部分。报头215可以包括指示数据有
效载荷220是哪个条带的一部分的擦除码标识符(ec id)或“参考id”、指示数据有效载荷220将被存储在存储器中的何处的数据偏移和组块(chunk)大小、指示哪些数据将被恢复的擦除码重建标识符(id)以及标识用于擦除码恢复的算法的操作标识符(op id)。报尾还可以(可选地)包括擦除码标识符,以及(可选地)包括用于验证远程直接存储器访问单元是否被无误传输的循环冗余校验(crc)字。在一些实施例中,报尾缺失。
45.如果主机请求的数据总量不是远程直接存储器访问单元的总有效载荷大小的倍数,则填充225可以被包括在例如响应于请求105而发送的最后一个远程直接存储器访问单元中。
46.图3a是通过网络交换机217连接到多个存储节点310的主机100的框图。主机包括中央处理单元(cpu)312、主存储器315(连接到cpu 312)、nic 320(其可以是如图所示的智能nic)、gpu 325和gpu存储器330(连接到gpu 325)。nic 320可以连接到主存储器315和gpu存储器330,并且其可以被配置为执行远程直接存储器访问操作,用于将数据写入主存储器315和gpu存储器330。多个存储节点310中的每一个可以通过一个或多个网络(例如以太网)连接(例如通过一个或多个网络交换机217)而连接到主机100。每个网络节点可以包括处理电路335(为了便于说明,仅在存储节点310之一中明确示出)和持久存储器(例如,闪存)。
47.在操作中,gpu存储器330可以被分区以包括对象存储器340和共享的奇偶校验存储器池125。当所有存储节点310都在操作时,由cpu 312发送到存储节点310的获取请求可以使每个存储节点将数据发送到对象存储器340的相应区域,在那里数据可以由gpu 325进一步处理。如果存储节点310之一故障,则保持操作的存储节点310中的每一个可以将数据发送到(i)对象存储器340的相应区域、或者(ii)(对于存储奇偶校验数据的存储节点310)共享的奇偶校验存储器池125。在这种情况下,由存储节点310放置在对象存储器340中的数据可能在故障节点原本会放置数据的位置处具有一个或多个间隙(在由数据块的分散聚集列表指定的一个或多个存储器区域中)。gpu 325然后可以基于对象存储器340和共享的奇偶校验存储器池125中的数据来执行擦除码恢复。共享的奇偶校验存储器池125可以用作临时共享的奇偶校验缓冲器,在这种意义上,如上所述,一旦擦除码恢复完成,该缓冲器可以被释放以供另一个擦除码恢复操作使用,同时gpu 325处理对象存储器340中的数据。当接收到每个远程直接存储器访问单元时,nic 320可以在主存储器315中存储报头215和报尾230。当报头215和报尾230的全部都已经被存储在主存储器315中时,主机100然后可以推断传送完成(报头或报尾的缺失可以表示原本要发送报头或报尾的节点可能已经故障)。存储奇偶校验数据的存储节点310可以响应于接收到包含奇偶校验数据块的分散聚集列表的获取命令,将奇偶校验数据存储在共享的奇偶校验存储器池125中。
48.在一些实施例中,擦除码恢复可以由例如nic 320(在这样的实施例中,其可以被称为“智能nic”)中的专用硬件来执行,而不由为此目的执行软件的gpu 325来执行。在这样的实施例中,主机100(例如,cpu 312)可以通知nic 320存储节点310已经故障,并且配置nic 320执行擦除码恢复,以恢复通常将由已经故障的存储节点310产生的数据。每个入站远程直接存储器访问单元可以由nic 320接收,并且nic 320可以基于其接收到的数据(包括奇偶校验数据)来执行擦除码恢复,并且在对象存储器340中存储(i)其从保持操作的存储节点310接收到的(非奇偶校验)数据块,以及(ii)其基于其从保持操作的存储节点310接收到的数据块和奇偶校验数据块恢复的数据块。在这样的实施例中,可能没有共享的奇偶
校验存储器池125,并且gpu 325可能不参与擦除码恢复;此外,擦除码恢复对于gpu 325可以是透明的,该gpu 325可以在对象存储器340中接收如果没有存储节点310故障其将已经接收到的相同数据。
49.当填充数据225被发送时,它们可以被存储节点310寻址到主机存储器的区域(例如,主存储器315的区域或为此目的分配的gpu存储器330的区域),该区域可以被称为“填充数据空间”345(其被示出在主存储器315之外和gpu存储器330之外,因为它不一定在两者之内)。cpu 312和gpu 325可以忽略(例如,不读取)填充数据空间345中的数据。
50.图3b示出了擦除码恢复过程的进一步细节。当主机100知道存储节点310(例如,第四存储节点,存储节点3)已经故障时,主机100对nic 320进行编程以执行擦除码恢复,例如通过用如图所示的擦除码恢复表350对nic 320进行配置。擦除码恢复表350可以包括标识与数据相关的输入-输出操作的错误码标识符(ec id);指定用于执行数据恢复的算法(例如,异或(xor)或伽罗华域(galois field))的操作标识符(op id);条带单元(或“组块”)标识符和条带单元的大小;标识对象存储器340中重建数据将被存储在的地址的重建标识符和缓冲器标识符。nic 320(或nic的处理电路335)然后可以恢复第四存储节点原本将会存储在对象存储器340中的数据(例如,在355处,使用异或或伽罗华域),从擦除码恢复表350中确定对象存储器340中数据将被存储在的位置,并相应地存储恢复的数据。当使用异或时,可以计算可用数据(来自尚未故障的节点的数据和奇偶校验数据)的异或,以生成原文将会由故障节点提供的数据。
51.图4示出了方法的流程图。在一些实施例中,方法包括在405处由存储节点接收获取命令;在410处,由存储节点使用远程直接存储器访问将由获取命令指定的数据存储在主机的存储器中由获取命令指定的存储器地址处;在415处,由存储节点发送指示获取命令的成功执行的响应,以及由主机基于数据执行擦除码恢复。
52.如本文所使用的,某事物的“一部分”意味着该事物的“至少一些”,并且同样可以意味着少于该事物的全部或全部。同样地,事物的“一部分”包括作为特例的整个事物,即,整个事物是该事物的一部分的示例。如本文所使用的,当第二量在第一量x的“y内”时,意味着第二量至少是x-y,并且第二量至多是x+y。如本文所使用的,当第二量在第一量的“y%内”时,意味着第二量至少是第一量的(1-y/100)倍,并且第二量至多是第一量的(1+y/100)倍。如本文所使用的,术语“或”应当被解释为“和/或”,例如,“a或b”意味着“a”或“b”或“a和b”中的任何一个。
53.在本公开部分的背景部分中提供的背景仅被包括用于设定上下文,并且该部分的内容不被认为是现有技术。所描述的(例如,本文中包括的任何系统图中的)任何组件或组件的任何组合可以用于执行本文中包括的任何流程图的一个或多个操作。此外,(i)这些操作是示例操作,并且可以包括未明确涵盖的各种附加步骤,以及(ii)这些操作的时间次序可以变化。
54.术语“处理电路”和“用于处理的部件”中的每一个在本文中用于表示用于处理数据或数字信号的硬件、固件和软件的任何组合。处理电路硬件可以包括例如专用集成电路(asic)、通用或专用中央处理单元(cpu)、数字信号处理器(dsp)、图形处理单元(gpu)以及诸如现场可编程门阵列(fpga)的可编程逻辑器件。如本文所使用的,在处理电路中,每个功能或者由被配置为(即硬连线)执行该功能的硬件来执行、或者由被配置为执行存储在非暂
时性存储介质中的指令的更通用的硬件(诸如cpu)来执行。处理电路可以在单个印刷电路板(pcb)上制造、或者分布在若干个互连的pcb上。处理电路可以包含其他处理电路;例如,处理电路可以包括在pcb上互连的两个处理电路,fpga和cpu。
55.如本文所使用的,当方法(例如,调整)或第一量(例如,第一变量)被称为“基于”第二量(例如,第二变量)时,这意味着第二量是该方法的输入或影响第一量,例如,第二量可以是计算第一量的函数的输入(例如,唯一的输入或若干输入之一),、或者第一量可以等于第二量、或者第一量可以与第二量相同(例如,存储在存储器中与第二量相同的一个或多个位置)。
56.应当理解,尽管术语“第一”、“第二”、“第三”等在本文中可以用来描述各种元件、组件、区域、层和/或部分,但是这些元件、组件、区域、层和/或部分不应该受到这些术语的限制。这些术语仅用于区分一个元件、组件、区域、层或部分与另一个元件、组件、区域、层或部分。因此,在不脱离本发明构思的精神和范围的情况下,本文讨论的第一元件、组件、区域、层或部分可以被称为第二元件、组件、区域、层或部分。
57.本文所使用的术语仅是为了描述特定的实施例,而不是为了限制本发明构思。如本文所使用的,术语“基本上”、“约”和类似术语用作近似术语而不是程度术语,并且旨在说明本领域普通技术人员将会认识到的测量值或计算值的固有偏差。
58.如本文所使用的,单数形式“一”和“一个”也旨在包括复数形式,除非上下文清楚地表明不是这样。还将理解,术语“包括”和/或“包含”在本说明书中使用时,指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组合的存在或添加。如本文所使用的,术语“和/或”包括相关联的所列项目中的一个或多个的任何和所有组合。当在元素列表之后时,诸如
“……
中的至少一个”的表达修饰整个元素列表,而不修饰列表的单个元素。此外,当描述本发明构思的实施例时,使用“可以”是指“本公开的一个或多个实施例”。此外,术语“示例性”旨在指代示例或说明。如本文中所使用的,术语“使用”、“正使用”和“被使用”可以被认为分别与术语“利用”、“正利用”和“被利用”同义。
59.应当理解,当一个元件或层被称为“在另一个元件或层上”、“连接到另一个元件或层”、“耦合到另一个元件或层”或“与另一个元件或层相邻”时,该一个元件或层可以直接在另一个元件或层上、连接到另一个元件或层、耦合到另一个元件或层或与另一个元件或层相邻,或者可以存在一个或多个中间元件或层。相反,当一个元件或层被称为“直接在另一个元件或层上”、“直接连接到另一个元件或层”、“直接耦合到另一个元件或层”或“紧邻另一个元件或层”时,不存在中间元件或层。
60.尽管本文已经具体描述和说明了用于基于客户端和网络的擦除码恢复的系统和方法的示例性实施例,但是多种修改和变化对于本领域技术人员来说是清楚的。因此,应该理解,根据本公开的原理构建的用于基于客户端和网络的擦除码恢复的系统和方法可以以不同于本文具体描述的方式来实施。本发明也在所附权利要求及其等同物中定义。
技术特征:
1.一种方法,包括:由存储节点接收获取命令;由存储节点使用远程直接存储器访问,将由获取命令指定的数据存储在主机的存储器中由获取命令指定的存储器地址处;由存储节点发送指示获取命令的成功执行的响应;以及由主机基于所述数据执行擦除码恢复。2.根据权利要求1所述的方法,其中,接收获取命令包括通过传输控制协议tcp套接字接收获取命令。3.根据权利要求1所述的方法,其中,存储数据包括使用基于以太网的远程直接存储器访问来存储数据。4.根据权利要求1所述的方法,其中,由存储节点存储数据包括使用基于融合以太网的远程直接存储器访问roce来存储数据。5.根据权利要求1所述的方法,其中,所述获取命令包括第一数据块的第一分散聚集列表。6.根据权利要求1所述的方法,其中,所述获取命令包括奇偶校验数据块的第二分散聚集列表。7.根据权利要求1所述的方法,其中:所述主机包括图形处理单元gpu,并且执行擦除码恢复包括由gpu执行擦除码恢复。8.根据权利要求1所述的方法,其中,执行擦除码恢复包括:将奇偶校验数据临时存储在共享的奇偶校验存储器池的区域中,以及在完成擦除码恢复时释放所述共享的奇偶校验存储器池的区域。9.根据权利要求1所述的方法,其中:所述主机包括网络接口卡nic,并且执行擦除码恢复包括由nic执行擦除码恢复。10.一种系统,包括:主机,包括处理电路;以及存储节点,包括处理电路,所述处理电路被配置为:接收获取命令;使用远程直接存储器访问,将由获取命令指定的数据存储在主机的存储器中由获取命令指定的存储器地址处;以及发送指示获取命令的成功执行的响应,其中,所述主机的处理电路被配置为基于所述数据执行擦除码恢复。11.根据权利要求10所述的系统,其中,接收获取命令包括通过传输控制协议tcp套接字接收获取命令。12.根据权利要求10所述的系统,其中,存储数据包括使用基于以太网的远程直接存储器访问来存储数据。13.根据权利要求10所述的系统,其中,存储数据包括使用基于融合以太网的远程直接存储器访问roce来存储数据。
14.根据权利要求10所述的系统,其中,所述获取命令包括第一数据块的第一分散聚集列表。15.根据权利要求10所述的系统,其中,所述获取命令包括奇偶校验数据块的第二分散聚集列表。16.根据权利要求10所述的系统,其中:所述主机的处理电路包括图形处理单元gpu,并且执行擦除码恢复包括由gpu执行擦除码恢复。17.根据权利要求10所述的系统,其中,执行擦除码恢复包括:将奇偶校验数据临时存储在共享的奇偶校验存储器池的区域中,以及在完成擦除码恢复时释放所述共享的奇偶校验存储器池的区域。18.根据权利要求10所述的系统,其中:所述主机包括网络接口卡nic,并且执行擦除码恢复包括由nic执行擦除码恢复。19.一种系统,包括:主机,包括用于处理的部件;和存储节点,包括用于处理的部件,所述部件被配置为:接收获取命令;使用远程直接存储器访问,将由获取命令指定的数据存储在主机的存储器中由获取命令指定的存储器地址处;以及发送响应,指示获取命令的成功执行,其中,所述用于主机的处理的部件被配置为基于所述数据执行擦除码恢复。20.根据权利要求19所述的系统,其中:所述主机包括网络接口卡nic;并且执行擦除码恢复包括由nic执行擦除码恢复。
技术总结
一种用于基于客户端和网络的擦除码恢复的系统和方法。在一些实施例中,该方法包括:由存储节点接收获取命令;由存储节点使用远程直接存储器访问,将由获取命令指定的数据存储在主机的存储器中由获取命令指定的存储器地址处;由存储节点发送指示获取命令的成功执行的响应;以及由主机基于该数据执行擦除码恢复。以及由主机基于该数据执行擦除码恢复。以及由主机基于该数据执行擦除码恢复。
技术研发人员:R
受保护的技术使用者:三星电子株式会社
技术研发日:2023.03.16
技术公布日:2023/9/26
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/