当前位置: 首页 > 专利查询>英特尔公司专利>正文

块存储单元中的使用虚拟对象的计算卸载制造技术

技术编号:22944251 阅读:13 留言:0更新日期:2019-12-27 17:06
本公开内容的实施例可以涉及计算卸载控制器,其可以包括解析器以解析所接收的计算卸载命令,并且至少部分地基于计算卸载命令来识别基于块的计算描述符。在一些实施例中,计算卸载控制器还可以包括卸载执行器,以至少部分地基于基于块的计算描述符来对基于块的存储设备中的数据执行操作。在一些实施例中,基于块的计算描述符可以包括虚拟输入对象、虚拟输出对象和计算类型标识符。可以描述和/或要求保护其他实施例。

Computing offload using virtual objects in block storage units

【技术实现步骤摘要】
块存储单元中的使用虚拟对象的计算卸载
概括而言,本公开内容的实施例涉及计算机数据存储设备领域,并且更具体而言,涉及为基于块的非易失性存储器提供计算加速的设备和技术。
技术介绍
在计算机系统中,数据可以本地地或通过网络存储在基于块的存储单元中,所述存储单元例如固态驱动器(SSD)中的非易失性存储器(NVM)。NVM可以是NAND闪速存储器或任何其他合适形式的稳定的持久存储单元。随着SSD的容量和内部速度的增加,NVM通常受到其附接到的输入/输出(I/O)控制器的速度和/或本地总线或网络链路上的可用带宽的限制。已经尝试了各种形式的存储单元内计算以减少I/O瓶颈。一些用于解决I/O限制的传统的存储单元内计算方法至少在它们依赖于基于对象或键值的方法的方面存在问题,所述基于对象或键值的方法对于依赖于块存储单元的许多应用可能是不适当的和/或可能需要基于对象的文件系统存在于主机上。用于解决该限制的其他传统的存储单元内计算方法至少在它们引入了复杂的状态跟踪协议方面存在问题,所述状态跟踪协议需要主机与目标之间的多次往返以发起目标侧计算和/或要求应用具有对块存储单元的直接访问权限。附图说明通过下面结合附图的详细描述将容易理解实施例。为了促进该描述,同样的附图标记标示同样的结构元素。通过示例而非限制的方式在附图的图中示出了实施例。图1描绘了根据各种实施例的包括主机和块存储设备的计算机系统的框图。图2是根据各种实施例的用于将计算操作卸载到块存储设备的技术的流程图。图3是根据各种实施例的用于用块存储设备执行卸载的计算操作的技术的流程图。图4示意性地示出了根据各种实施例的示例性计算设备,其包括具有如本文描述的非易失性存储器控制器的块存储设备。图5示出了根据各种实施例的具有指令的示例性存储介质,所述指令被配置为使得装置能够实践本公开内容的各个方面。具体实施方式本公开内容的实施例可以涉及计算卸载控制器,其可以包括解析逻辑,所述解析逻辑用于解析接收的计算卸载命令并且至少部分地基于计算卸载命令来识别基于块的计算描述符。在一些实施例中,计算卸载控制器还可以包括计算逻辑,所述计算逻辑用于至少部分地基于基于块的计算描述符来对基于块的存储设备中的数据执行操作。在一些实施例中,基于块的计算描述符可以包括虚拟输入对象、虚拟输出对象和计算类型标识符。在下面的描述中,将使用由本领域技术人员通常采用的术语来描述说明性实施方式的各个方面,以将他们工作的实质传达给本领域其他技术人员。然而,对于本领域技术人员而言将显而易见的是,可以仅用所描述的方面中的一些方面来实践本公开内容的实施例。出于解释的目的,阐述了具体的数字、材料和配置,以便提供对说明性实施方式的透彻理解。对于本领域技术人员而言将显而易见的是,可以在没有具体细节的情况下实践本公开内容的实施例。在其他实例中,省略或简化了公知的特征,以免模糊说明性的实施方式。在下面的详细描述中,对形成其一部分的附图进行了参考,其中,同样的数字始终标示同样的部件,并且其中,其通过说明实施例的方式被示出,在所述实施例中可以实践本公开内容的主题。应当理解,在不脱离本公开内容的范围的情况下,可以利用其他实施例并且可以进行结构或逻辑上的改变。因此,下面的详细描述不应被认为具有限制意义,并且实施例的范围由所附权利要求及其等同物定义。出于本公开内容的目的,短语“A和/或B”意指(A)、(B)或(A和B)。出于本公开内容的目的,短语“A、B和/或C”意指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)、或(A、B和C)。描述可以使用短语“在一实施例中”或“在实施例中”,其均可以指代相同或不同实施例中的一个或多个。此外,如关于本公开内容的实施例使用的,术语“包括”、“包含”、“具有”等是同义的。本文可以使用术语“与……偶合”及其衍生词。“耦合”可以意指以下中的一个或多个。“耦合”可以意指两个或更多个元件直接物理或电接触。然而,“耦合”还可以意指两个或更多个元件彼此间接接触,但仍然彼此协作或交互,并且可以意指一个或多个其他元件耦合或连接在所述彼此耦合的元件之间。术语“直接耦合”可以意指两个或更多个元件直接接触。如本文所使用的,术语“模块”可以指代以下组件、是以下组件的部分、或包括以下组件:执行一个或多个软件或固件程序的专用集成电路(ASIC)、电子电路、(共享、专用或组)处理器和/或(共享、专用或组)存储器;组合逻辑电路;和/或提供所描述的功能的其他合适组件。图1是根据各种实施例的计算机系统100的框图,所述计算机系统100可以包括主机102和块存储设备104(例如,基于块的存储设备,例如SSD、基于块的存储服务器、或任何其他合适的基于块的存储设备)。在一些实施例中,主机102可以包括与存储器108耦合的处理器106。在各种实施例中,计算过程110可以在主机102上(例如,在存储器108中由处理器106)运行。在一些实施例中,计算过程110可以是应用、存储中间件、软件存储栈、操作系统或任何其他合适的计算过程。在各种实施例中,主机102还可以包括计算卸载器112,其可以包括客户端卸载逻辑114和启动器116。在一些实施例中,块存储设备104可以被称为存储目标或启用计算的存储目标。在一些实施例中,客户端卸载逻辑114被称为客户端卸载器。在一些实施例中,计算过程110可以将计算卸载请求发送到计算卸载器112。在各种实施例中,计算卸载请求可以指定较高级别的对象(例如,文件)和期望的操作(例如,哈希函数,例如MD5操作)。在一些实施例中,客户端卸载逻辑114可以至少部分地基于请求来构造基于块的计算描述符130,并且可以将基于块的计算描述符130打包在计算卸载命令132中。在各种实施例中,计算卸载命令132可以是供应商特定的命令,其可以包含基于块的元数据(例如,作为基于块的计算描述符130的部分)。在一些实施例中,客户端卸载逻辑114可以至少部分地基于由计算卸载请求指定的较高级别对象来生成虚拟输入对象134。在一些实施例中,客户端卸载逻辑114可以确定与在基于块的存储装置(例如,NVM)中存储较高级别对象处相对应的一个或多个块的列表,以生成虚拟输入对象134。在各种实施例中,基于块的计算描述符130可以描述要被输入和/或输出以用于计算的存储块(例如,由虚拟对象映射的)、要被执行的函数138(例如,如由计算类型标识符或操作代码标识的)以及到函数138的任何附加自变量140(例如,搜索字符串)。在各种实施例中,附加自变量140还可以被称为参数。在一些实施例中,计算卸载器112可以包括客户端卸载库115,其可以在创建基于块的计算描述符130时由客户端卸载逻辑114使用。在一些实施例中,客户端卸载库115可以不存在并且/或者客户端卸载库115的一些或所有方面可以被包括在客户端卸载逻辑114中(例如,在ASIC中)。在各种实施例中,客户端卸载逻辑114可以创建虚拟输入对象134和/或虚拟输出对象136(例如,块范围和对象长度的列表),并且本文档来自技高网...

【技术保护点】
1.一种计算卸载控制器,包括:/n解析器,其用于解析接收的计算卸载命令,并且至少部分地基于所述计算卸载命令来识别基于块的计算描述符;以及/n卸载执行器,其用于至少部分地基于所述基于块的计算描述符来对基于块的存储设备中的数据执行操作。/n

【技术特征摘要】
20180618 US 16/011,2801.一种计算卸载控制器,包括:
解析器,其用于解析接收的计算卸载命令,并且至少部分地基于所述计算卸载命令来识别基于块的计算描述符;以及
卸载执行器,其用于至少部分地基于所述基于块的计算描述符来对基于块的存储设备中的数据执行操作。


2.如权利要求1所述的计算卸载控制器,其中,所述解析器还用于解析所述基于块的计算描述符以识别虚拟输入对象和计算类型标识符,并且其中,所述卸载执行器用于至少部分地基于所述计算类型标识符和所述虚拟输入对象来执行所述操作。


3.如权利要求2所述的计算卸载控制器,其中,所述解析器还用于解析所述基于块的计算描述符以识别虚拟输出对象,并且其中,所述卸载执行器用于至少部分地基于所述虚拟输出对象来存储结果。


4.如权利要求1所述的计算卸载控制器,其中,所述解析器和所述卸载执行器与多个非易失性存储器(NVM)设备耦合。


5.如权利要求4所述的计算卸载控制器,其中,所述多个NVM设备在分离的存储服务器中。


6.如权利要求1所述的计算卸载控制器,其中,所述解析器和所述卸载执行器被包括在所述基于块的存储设备中,其中,所述基于块的存储设备是NVM存储设备,所述NVM存储设备包括与所述卸载执行器耦合的NVM。


7.如权利要求6所述的计算卸载控制器,其中,所述NVM存储设备是固态驱动器(SSD)。


8.如权利要求1至7中任一项所述的计算卸载控制器,其中,所述计算卸载命令是用互联网小型计算机系统接口(iSCSI)传输协议或结构上非易失性存储器快速(NVMeOF)传输协议通过网络接收的。


9.一种装置,包括:
用于至少部分地基于来自计算过程的接收的请求来构造基于块的计算描述符的单元;以及
用于使用计算卸载命令来将所述基于块的计算描述符发送到基于块的存储设备的单元。


10.如权利要求9所述的装置,其中,所述基于块的计算描述符包括虚拟输入对象、虚拟输出对象以及计算类型标识符。


11.如权利要求9所述的装置,还包括用于响应于所述基于块的计算描述符而从所述基于块的存储设备接收结果的单元。


12.如权利要求9所述的装置,其中,还包括用于使用互联网小型计算机系统接口(iSCSI)传输协议或结构上非易失性存储器快速(NVMeOF)传输协议通过网络发送所述基于块的计算描述符的单元。


13.如权利要求9所述的装置,...

【专利技术属性】
技术研发人员:I·F·亚当斯J·基斯M·P·梅尼耶D·明特恩
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1