在虚拟机上使用FTL进行开放通道存储设备管理制造技术

技术编号:31372411 阅读:14 留言:0更新日期:2021-12-15 10:14
本发明专利技术的实施例提供访问主机的存储设备的系统和方法。该方法可以包括:通过第一访客闪存转换层(FTL)实例从运行在主机上的第一虚拟机接收访问存储设备的第一请求,其中第一请求包括存储设备的第一物理地址;通过第一FTL实例,将第一请求传送至主机FTL驱动程序;通过主机FTL驱动程序,将第一请求转换为第一硬件命令;通过主机FTL驱动程序,将第一硬件命令传送至存储装置;并通过固态驱动器执行第一硬件命令。命令。命令。

【技术实现步骤摘要】
在虚拟机上使用FTL进行开放通道存储设备管理

技术介绍

[0001]具有诸如固态驱动器(SSD)之类的存储设备的主机系统可以运行多个虚拟机。如果SSD上没有实施闪存转换层(FTL),则SSD可以称为开放通道固态驱动器。通常情况下,开放通道SSD的FTL是在主机系统上实施的。然而,运行在所述虚拟机上的应用程序不能通过所述主机系统上的常规FTL单独操作所述SSD的内存块。

技术实现思路

[0002]本申请实施例提供了一种用于访问主机的存储设备的计算机实现的方法。所述方法包括:通过运行在所述主机的客户操作系统上的第一虚拟机的第一客户闪存转换层(FTL)实例,从所述第一虚拟机接收访问所述存储设备的第一请求,其中,所述第一请求包括所述存储设备的第一物理地址;通过所述第一客户FTL实例将所述第一请求传送到运行于所述主机的主机操作系统的主机FTL驱动程序;通过所述主机FTL驱动程序将所述第一请求转换为第一硬件命令;通过所述主机FTL驱动程序将所述第一硬件命令传送至所述存储设备;并且通过所述存储设备执行所述第一硬件命令以访问所述第一物理地址。
[0003]本申请实施例还提供了一种装置。所述装置包括:用于存储指令集的存储器;以及至少一个处理器,所述处理器被配置为执行所述指令集以使得所述装置执行:通过运行在所述主机的客户操作系统上的第一虚拟机的第一客户闪存转换层(FTL)实例,从所述第一虚拟机接收访问所述存储设备的第一请求,其中,所述第一请求包括所述存储设备的第一物理地址;通过所述第一客户FTL实例将所述第一请求传送到运行于所述主机的主机操作系统的主机FTL驱动程序;通过所述主机FTL驱动程序将所述第一请求转换为第一硬件命令;通过所述主机FTL驱动程序将所述第一硬件命令传送至所述存储设备;并且通过所述存储设备执行所述第一硬件命令以访问所述第一物理地址。
[0004]本申请实施例还提供了一种主机,包括一个或多个非暂时性计算机可读介质,该介质存储有指令集,该指令集可由所述主机的至少一个处理器执行,以使得所述主机执行用于访问主机的存储设备的方法。所述方法可以包括:通过运行在所述主机的客户操作系统上的第一虚拟机的第一客户闪存转换层(FTL)实例,从所述第一虚拟机接收访问所述存储设备的第一请求,其中,所述第一请求包括所述存储设备的第一物理地址;通过所述第一客户FTL实例将所述第一请求传送到运行于所述主机的主机操作系统的主机FTL驱动程序;通过所述主机FTL驱动程序将所述第一请求转换为第一硬件命令;通过所述主机FTL驱动程序将所述第一硬件命令传送至所述存储设备;并且通过所述存储设备执行所述第一硬件命令以访问所述第一物理地址。
[0005]所专利技术的实施例的附加特征和优点将部分地在以下描述中阐述,并且部分将从描述中明显地说明,或者可以通过实施例的实践而获知。所专利技术的实施例的特征和优点可以通过权利要求中阐述的要素和组合来实现和获得。
[0006]需要理解的是,上述一般性描述和下面的详细描述都仅是示例性和说明性的,并且所专利技术的实施例不作为对所要求保护的内容的限定。
附图说明
[0001]本专利技术的实施例和各个方面在以下详细描述和附图中示出。图中所示的各种特征未按比例绘制。
[0002]图1A是根据本申请的一些实施例的用于提供虚拟机服务的示例性装置的框图。
[0003]图1B示出了根据本专利技术的实施例的示例性云系统的示意图。
[0004]图2A示出了根据本专利技术的一些实施例的在主机上管理开放通道SSD的示意图。
[0005]图2B示出了根据本专利技术的一些实施例的访客FTL驱动器的示意图。
[0006]图2C示出了根据本专利技术的一些实施例的IO请求和管理请求的示例性请求格式。
[0007]图3是根据本专利技术的一些实施例的在SSD上操作的访客FTL实例的示例性过程的流程图。
[0008]图4示出了根据本专利技术的一些实施例的主机FTL驱动程序和客户FTL实例的初始化过程的示例性流程图。
[0009]图5是根据本专利技术的一些实施例的用于访问主机的固态驱动器的计算实现的方法的流程图。
具体实施方式
[0010]下文将更详细地描述本专利技术的具体方面。如果与引用的术语或定义相冲突,则以本文提供的术语和定义为准。术语“示例”的意思是“例子”,而不是“典范”。
[0011]虚拟机是计算机系统的仿真,它可以提供物理计算机的功能。与传统设计不同,在本申请的实施例中,虚拟机配备有客户闪存转换层(FTL)实例,用于发送与主机的存储设备(例如,固态驱动器(SSD))的物理地址相关联的请求,并且运行有一个或多个虚拟机的所述主机装备有用于验证和处理所述请求的主机FTL驱动程序。因此,依据本申请实施例的虚拟机可以直接对所述主机的所述存储设备(例如SSD)的物理地址进行操作,同时,所述主机FTL驱动程序可以保证各个虚拟机的数据安全。
[0012]所述客户FTL实例可以将主机侧的逻辑块地址(LBA)(例如,SSD的扇区号)映射到所述闪存的物理块地址(PBA)。这个过程也可以称为LBA2PBA映射。为了在虚拟机中实现FTL功能,提供虚拟机服务的装置可以如下所示。
[0013]图1A是根据本申请的一些实施例的用于提供虚拟机服务的示例性装置100的框图。如图1A所示,装置100可以包括处理器102、存储器104、网络接口106、外围接口108和总线110。
[0014]当处理器102执行本文描述的指令和方法时,装置100可以变成用于提供虚拟机服务的专用机器。处理器102可以是任何类型的能够操纵或处理信息的电路。例如,处理器102可以包括任意数量的中央处理单元(或“CPU”)、图形处理单元(或“GPU”)、神经处理单元(“NPU”)、微控制器单元(“MCU”)、光学处理器、可编程逻辑控制器、微控制器、微处理器、数字信号处理器、知识产权(IP)核、可编程逻辑阵列(PLA)、可编程阵列逻辑(PAL)、通用阵列逻辑(GAL)、复杂可编程逻辑器件(CPLD)、现场可编程门阵列(FPGA)、片上系统(SoC)、专用集成电路(ASIC)等。在一些实施例中,处理器102还可以是被分组为单个逻辑组件的一组处理器。例如,如图1A所示,处理器102可以包括多处理器,包括处理器102a、处理器102b和处理器102n。
[0015]可以配置内存104来存储数据(例如,一组指令、计算机代码、中间数据等)。例如,如图1A所示,存储的所述数据可以包括程序指令(例如,用于实现处理视频内容的方法的步骤的程序指令)和用于处理的数据(例如,视频序列、视频比特流或视频流)。处理器102可以访问所述程序指令以及用于处理的数据(例如,通过总线110),并且执行所述程序指令以对所述用于处理的数据执行操作或处理。内存104可以包括高速随机存取存储设备或非易失性存储设备。在一些实施例中,内存104可以包括任意数量的随机存取存储器(RAM)、只读存储器(ROM)、光盘、磁盘、硬盘驱动器、固态驱动器(SSD)、闪存驱动器、安全数字(SD)卡、记忆棒本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算机实施的访问主机的存储设备的方法,包括:通过运行在所述主机的客户操作系统上的第一虚拟机的第一客户闪存转换层(FTL)实例,从所述第一虚拟机接收访问所述存储设备的第一请求,其中,所述第一请求包括所述存储设备的第一物理地址;通过所述第一客户FTL实例,将所述第一请求传送到运行于所述主机的主机操作系统的主机FTL驱动程序;通过所述主机FTL驱动程序,将所述第一请求转换为第一硬件命令;通过所述主机FTL驱动程序,将所述第一硬件命令传送至所述存储设备;和通过所述存储设备,执行所述第一硬件命令以访问所述第一物理地址。2.根据权利要求1所述的方法,进一步包括:通过第二客户FTL实例,从运行在所述主机上的第二虚拟机接收用于访问所述存储设备的第二请求;和通过所述主机FTL驱动程序,将所述第二请求转换为第二硬件命令,其中,所述第二请求包括所述存储设备的第二物理地址。3.根据权利要求2所述的方法,进一步包括:根据所述第一硬件命令操作第一组复数个并行单元(PU);和根据所述第二硬件命令操作第二组复数个PU,其中,所述第一组复数个PU和所述第二组复数个PU之间没有共同的PU。4.根据权利要求3所述的方法,其中,所述第一组复数个PU只能由所述第一虚拟机访问,并且所述第二组复数个PU只能由所述第二虚拟机访问。5.根据权利要求2所述的方法,其中,所述客户操作系统包括用于存储所述第一请求的第一客户队列和用于存储所述第二请求的第二客户队列,所述第一客户队列和所述第二客户队列可由所述主机FTL驱动程序进行访问;和所述存储设备包括用于存储所述第一硬件命令的第一主机队列和用于存储所述第二硬件命令的第二主机队列,所述第一主机队列和所述第二主机队列可由所述主机FTL驱动程序和所述存储设备进行访问。6.根据权利要求1所述的方法,还包括:通过所述存储装置,向所述主机FTL驱动程序传送完成后信号;通过所述主机FTL驱动程序,将所述完成后信号转换为针对所述客户FTL实例的客户响应;和通过所述主机FTL驱动程序,将所述客户响应传送到所述客户FTL实例。7.根据权利要求1所述的方法,其中,所述第一请求包括输入/输出(IO)请求或管理请求。8.根据权利要求7所述的方法,其中,所述IO请求包括第一操作码字段、起始物理地址字段、第一数据缓冲区字段和第一数据缓冲区长度字段;和所述管理请求包括第二操作码字段、第二数据缓冲区字段和第二数据缓冲区长度字段。
9.根据权利要求7所述的方法,其中,所述IO请求与读取命令、写入命令或擦除命令相关联,并且所述管理请求与几何命令、坏块表命令、识别命令或格式命令相关联。10.根据权利要求5所述的方法,还包括:在所述主机操作系统上启动所述主机FTL驱动程序;在所述存储设备上创建第二队列;在所述客户操作系统上启动客户FTL驱动程序;创建虚拟存储设备和第一队列;和使用所述客户FTL驱动程序初始化所述第一FTL实例。11.一种装置,包括:用于存储指令集的存储器;和至少一个处理器,所述处理器被配置为执行所述指令集以使得所述装置执行:通过运行在所述主机的客户操作系统上的第一虚拟机的第一客户闪存转换层(FTL)实例,从所述第一虚拟机接收访问所述存储设备的第一请求,其中,所述第一请求包括所述存储设备的第一物理地址;通过所述第一客户FTL实例,将所述第一请求传送到运行于所述主机的主机...

【专利技术属性】
技术研发人员:邱晟刘飞李舒
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

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

1