CN104049906A - 用于动态高速缓存共享的系统、方法和计算机可读介质 - Google Patents

用于动态高速缓存共享的系统、方法和计算机可读介质 Download PDF

Info

Publication number
CN104049906A
CN104049906A CN201410051986.5A CN201410051986A CN104049906A CN 104049906 A CN104049906 A CN 104049906A CN 201410051986 A CN201410051986 A CN 201410051986A CN 104049906 A CN104049906 A CN 104049906A
Authority
CN
China
Prior art keywords
virtual machine
cache
flash memory
caching device
divider
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410051986.5A
Other languages
English (en)
Inventor
P·R·凡卡泰纱
S·K·潘达
P·R·玛哈拉纳
L·伯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Infineon Technologies North America Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of CN104049906A publication Critical patent/CN104049906A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及用于动态高速缓存共享的系统、方法和计算机可读介质。在客户虚拟机内的O/S内核层、驱动器层和应用层中实现的高速缓存控制器将高速缓存存储区动态分配给虚拟机,以改善对虚拟机的不断变化的需求的响应性。以多个逻辑装置的形式提供单个高速缓存装置或者一群高速缓存装置,并暴露给资源分配器。核心缓存算法在客户虚拟机中执行。当在虚拟机监视器的管理下,增加新的虚拟机时,促使现有虚拟机放弃分配的供相应的现有虚拟机使用的高速缓存存储区的一部分。放弃的高速缓存被分配给新的虚拟机。类似地,如果虚拟机被关闭或者被迁移到新的主机系统,那么分配给该虚拟机的高速缓存容量在由虚拟机监视器管理的剩余的虚拟机之间被重新分配。

Description

用于动态高速缓存共享的系统、方法和计算机可读介质
技术领域
本发明涉及数据存储系统,更具体地,涉及采用基于闪存的数据高速缓存的数据存储系统。
背景技术
随着多核处理器和输入-输出(I/O)互连带来的技术进步,当今服务器的执行应用程序的能力正在快速增长。然而,支持服务器的传统数据存储装置,比如硬盘驱动器的I/O速度并未按与I/O互连和多核处理器相同的速率增大。从而,对传统的数据存储装置的I/O操作已成为限制应用性能的瓶颈。换句话说,在服务器上运行的应用不能充分利用可获得的计算速度和数据传输能力。
一些常规的计算系统采用非易失性存储器作为较慢的数据存储装置(例如,磁盘存储介质、光盘存储介质或者可通过网络访问的一个或多个数据存储装置)的块级或文件级存储替代物,以改善计算系统和/或由计算系统执行的应用的性能。在这方面,由于与往来于较慢的存储装置相比,对于某些非易失性存储器(为简单起见,下面称为“高速缓存装置”),可以明显较快地进行输入/输出(I/O)操作,因此,高速缓存装置的使用提供显著提高I/O操作的速率的机会。
使用了基于企业级固态磁盘(SSD)和高速外设互联标准(PCIe)的机载固态存储,力图通过提供极优的I/O数据速率性能来解决I/O瓶颈。然而,SSD较贵,并且性能改善并不总是证明对于所有长期存储,部署SSD的投资都是正确的。因而,部署SSD,以通过利用SSD作为保存频繁使用的数据的高速缓存来提高服务器的性能。
虚拟化解决方案的最新进展使数据中心能够在多个仿真机之间合并和共享硬件资源。即,单个服务器能够提供对客户端用户来说表现为专用服务器平台的事物中的共享资源。这些允许网络的虚拟化解决方案的普及对I/O性能提出了额外的压力。例如,易于预测一些应用将在一天的特定时间被使用和接收更多的I/O请求。然而,在许多客户端访问特定硬件平台的情况下,当多个客户端I/O请求在特定时刻到达服务器时,有时不能预测应用性能命中。通过将频繁访问的“热”数据从长期存储装置转移到与服务器耦接的SSD,虚拟化环境中的服务器方缓存能够显著加速应用性能。
在虚拟化环境中实现服务器方缓存的挑战是如何在多个客户机之间共享在单个基于SSD/PCIe的高速缓存装置中可用的高速缓存存储区。通过将虚拟机的文件系统从一个存储系统转移到另一个存储系统,使虚拟机能够被迁移到新的硬件平台的虚拟化特征(例如,vMotion),和使支持到x86处理器指令集的64位扩展的机器上的平台虚拟化成为可能的服务器虚拟化要求服务器方缓存需要是动态的,以容纳迁入或迁出物理机的各个虚拟服务器。
发明内容
用于动态管理高速缓存存储区,以便改善对虚拟机的不断变化的需求的响应性的系统和方法的实施例以多个逻辑装置的形式,提供单个高速缓存装置或者一群高速缓存装置,并向虚拟机监视器暴露所述单个高速缓存装置或者一群高速缓存装置。核心缓存算法在客户虚拟机中执行。当在虚拟机监视器的管理下,添加新的虚拟机时,促使现有虚拟机放弃分配的供相应的现有虚拟机使用的高速缓存存储区的一部分。放弃的高速缓存被分配给新的虚拟机。类似地,如果虚拟机被关闭或者被迁移到新的主机系统,那么分配给该虚拟机的高速缓存容量在由虚拟机监视器管理的剩余虚拟机之间被重新分配。
在例证实施例中,公开一种适合于动态管理由一群一个或多个基于闪存的装置和管理一组虚拟机的主计算机系统支持的高速缓存存储区的高速缓存资源管理系统。系统包括高速缓存资源管理器、虚拟机管理器、插件和驱动器。高速缓存资源管理器是在主计算机系统上运行的应用。高速缓存资源管理器配置有按照主计算系统支持的虚拟机的数目,分配可用的高速缓存存储容量的标识部分(例如,区间)的倍数的一个或多个策略。虚拟机管理器集成在运行于主计算机系统上的O/S的内核中。虚拟机管理器布置有高速缓存资源分配器和基于闪存的高速缓存装置驱动器。高速缓存资源分配器要求一群基于闪存的高速缓存装置,向每个虚拟机分配逻辑驱动器,并标识由一群基于闪存的装置提供的可用高速缓存存储容量的一部分。插件与虚拟基础架构客户端通信,向至少一个基于闪存的高速缓存装置提供虚拟机、虚拟机管理器和客户虚拟机角度的上下文。每个虚拟机可用的驱动器使能够实现与一群基于闪存的高速缓存装置的通信,好像该虚拟机在与专用存储装置通信似的。
在另一个例证实施例中,公开一种管理由一群一个或多个基于闪存的装置和管理一组虚拟机的主计算机系统支持的高速缓存存储区的方法。所述方法包括以下步骤:向虚拟机管理器提供高速缓存资源管理器应用,高速缓存资源管理器利用按照主计算系统支持的虚拟机的数目,分配可用的高速缓存存储容量的标识部分的倍数的一个或多个策略,向虚拟机管理器提供高速缓存资源分配器和基于闪存的高速缓存装置驱动器,高速缓存资源分配器要求一群基于闪存的高速缓存装置,向每个虚拟机分配逻辑驱动器,并标识由一群基于闪存的装置提供的可用高速缓存存储容量的一部分,向虚拟基础架构客户端提供插件,插件向至少一个基于闪存的高速缓存装置提供虚拟机、虚拟机管理器和客户上下文,并将驱动器暴露给每个虚拟机,以使虚拟机能够与一群基于闪存的高速缓存装置通信,好像虚拟机在与专用存储装置通信似的。
在另一个例证实施例中,公开一种具有以非临时的形式保存在其上的可执行指令的计算机可读介质,当在主计算机的处理系统上执行时,所述可执行指令指示处理系统协调以下任务。指示高速缓存资源分配器要求耦接到主计算机的高速缓存装置。高速缓存资源管理器被启动,与高速缓存资源分配器通信,以确定可用的高速缓存装置,并扫描主计算机,以确定主计算机支持的数目。一旦标识出虚拟机的数目和可用的高速缓存装置,高速缓存资源管理器就指示高速缓存资源分配器将可用的高速缓存容量分成相同大小的区间,创建逻辑驱动器,并按照高速缓存分配策略,创建区间映射。处理系统还指示高速缓存资源管理器将每个逻辑驱动器映射到相应的虚拟机,并将区间映射与每个逻辑驱动器联系起来。之后,处理系统指示虚拟机将高速缓存装置添加到高速缓存群中。
附图说明
图1是图解说明按照本发明的例证实施例的主计算机环境的示意图。
图2是图解说明图1的高速缓存群内的高速缓存数据布局的方框图。
图3是图1的动态高速缓存共享系统的体系结构的示意图。
图4是单个高速缓存装置在一组虚拟机之间的分配的示意图。
图5是图解说明准备图3的动态高速缓存共享系统的方法的流程图。
图6是在引入新的虚拟机之后的区间映射的示意图。
图7是图解说明利用图3的动态高速缓存共享系统,处理I/O操作的方法的流程图。
图8A和8B包括图解说明动态管理高速缓存存储区的方法的流程图。
具体实施方式
当增加或者从虚拟机管理器的控制中除去虚拟机时,在客户虚拟机内的O/S内核层、驱动器层和应用层中实现的动态高速缓存共享系统将高速缓存存储区动态分配给虚拟机,以改善对主计算机上的虚拟机的不断变化的存储需求的响应性。以多个逻辑装置的形式提供单个高速缓存装置或者一群高速缓存装置,并暴露给资源分配器。核心缓存算法在客户虚拟机中执行。借助定义的接口,核心缓存算法起O/S不可知的可移植库作用。O/S栈中的过滤驱动器截取I/O请求,并通过高速缓存管理库路由I/O请求,以实现缓存功能。高速缓存管理库与过滤驱动器通信,以实现O/S特定动作和I/O路由。当在虚拟机管理器的管理下,增加新的虚拟机时,促使现有虚拟机放弃分配的供相应的现有虚拟机使用的高速缓存存储区的一部分。放弃的高速缓存被分配给新的虚拟机。类似地,如果虚拟机被关闭或者被迁移到新的主机系统,那么分配给该虚拟机的高速缓存容量在由虚拟机监视器管理的剩余的虚拟机之间被重新分配。
如图1中图解所示,在按照本发明的主计算机环境100的说明性或例证实施例中,诸如FB高速缓存卡132和FB高速缓存卡134之类的基于闪存的高速缓存装置的高速缓存群130通过相应的高速外设接口(PCIe)总线耦接到主机系统110。FB高速缓存卡132和FB高速缓存卡134是独立标识的高速缓存装置,所述高速缓存装置被管理,并且其相应的高速缓存存储区作为高速缓存群130被共享。
另外,主机系统110通过外设互连卡140耦接到一组本地存储装置145,并通过外设互连卡150,耦接到对应的一组远程数据存储装置155。本地存储装置145和远程数据存储装置155用作为复合数据存储区暴露于虚拟环境100的各组物理磁盘驱动器实现。外设互连卡140和/或外设互连卡150可利用将物理磁盘驱动器组合成单个逻辑单元的独立磁盘冗余阵列管理技术,来管理由各组物理磁盘驱动器提供的存储空间。取决于对应的数据存储区支持的应用所要求的可靠性和性能,用通常称为“RAID级”的几种方式之一,在物理驱动器之间分配数据。
如图1中所示,主机系统110是诸如具有通过总线相互耦接的处理器112和存储器120的服务器计算机之类的计算机。操作中,处理器112在应用层128、文件系统126和动态高速缓存共享系统300中执行指令,以使主机系统110上的虚拟机的托管成为可能。处理器112通过高速缓存装置驱动器121与高速缓存群130通信。处理器112通过串行连接小型计算机系统接口/高级主计算机接口(SAS/AHCI)驱动器122和外设互连卡140,与本地卷145通信。处理器112还通过存储区域网/网络接口连接器(SAN/NIC)驱动器123和外设互连卡150,与远程卷155通信。
按照本发明的主计算机环境100高度可缩放,并不局限于单个处理器112或单个存储器120。在备选实施例(未示出)中,主机系统110可包括与处理器112相似或不相似的多个处理器。另外,主机系统110可包括与存储器120相似或不相似的附加存储元件。类似地,通过产生多个实例高速缓存装置驱动器121、SAS/ACHI驱动器122和SAN/NIC驱动器123,另外的存储装置可被并入主机系统110。
操作中,动态高速缓存共享系统300动态管理由一群一个或多个基于闪存的装置(例如,高速缓存群130)和管理一组虚拟机的主机系统110支持的高速缓存存储区200。动态高速缓存共享系统300是在位于应用层128和文件系统126之下的共享装置驱动器层实现的。动态高速缓存共享系统300是与基于闪存的高速缓存装置(例如,FB高速缓存卡132和FB高速缓存卡134)和常规的数据存储系统(例如,利用诸如因特网小型计算机系统接口(iSCSI)、以太网光纤通道(FCoE)、光纤通道(FC)、SAS和串行高级技术附件(SATA)之类的各种接口实现的数据存储系统)结合的通用缓存层。动态高速缓存共享系统300在块设备层工作,对文件系统126和应用层128中的应用来说透明。动态高速缓存共享系统300标识和消耗存在于并入高速缓存群130中的FB高速缓存卡132和FB高速缓存卡134中的存储空间。另外,动态高速缓存共享系统300提供跨常规数据存储系统,比如本地卷145和远程卷155的缓存功能。利用相对于物理磁盘和高速缓存资源管理应用的定义明确的接口,核心缓存功能被实现成O/S不可知的可移植库。
高速缓存元数据管理(比如散列表、LRU、空闲列表、高速缓存分配单元管理数据结构)对极大的高速缓存存储区的设计来说重要。由于固态磁盘(SSD)高速缓存可扩展到千兆字节,并且主机系统110上的每个I/O涉及查寻散列列和高速缓存分配单元数据结构,以决定高速缓存命中/缺失,因此必要的是应考虑到性能而优化高速缓存元数据管理,元数据足迹(footprint)应小到足以保存在双倍数据速率(DDR)随机存取存储器(RAM)中,以便快速查寻。
图2是图解说明图1的高速缓存群130内的高速缓存存储区200的方框图。高速缓存存储区200被分区或分割成至少两个独立的存储区。第一部分或分区包括高速缓存元数据210。第二或数据存储部分220包括一组高速缓存窗口222。如图2中进一步图解所示,高速缓存元数据210包括关于每个高速缓存窗口222的对应条目215。高速缓存存储区300的相当大量的存储容量被分配给在例证中被标识成高速缓存窗口的区域。每个高速缓存窗口被进一步细分成期望大小的多行的高速缓存块225。
高速缓存存储区200的分配单元和高速缓存块大小相当大,从而降低元数据存储器需求。在例证实施例中,整个高速缓存数据存储部分200被分成多个大块的分配单元(称为高速缓存窗口,每个1MB)。高速缓存窗口大小是可调的参数,可根据主机系统配置和I/O工作负荷而调整。高速缓存窗口222是用于高速缓存管理的分配/解除分配单元。每个高速缓存窗口222由均为64KB多个高速缓存块组成。高速缓存块大小是可调的参数,可根据主机系统配置和I/O工作负荷而调整。整个高速缓存存储区200可被用于缓存多个块装置,每个高速缓存窗口222代表单个块装置上的空间的连续区域。
散列表、空闲高速缓存列表、最近最少使用(LRU)列表和高速缓存替换算法在高速缓存窗口级工作。这显著减小了为表示高速缓存元数据210而需要的存储器的数量,因为每个高速缓存窗口222是相当大的分配单元。高速缓存元数据210被保存在用于读缓存的内存中,以便快速查寻。高速缓存替换以需求、阈值、寿命、或许其它因素为基础,并利用基于多优先权的LRU队列。基于优先权的LRU队列利用有效高速缓存行的数目和高速缓存窗口222被访问的次数来确定高速缓存窗口222的优先权。已满并且被访问最多的高速缓存窗口222被赋予最高的优先权,并被放置在最高优先权LRU队列的结尾。一旦整个高速缓存存储区200已满,优先权最低的高速缓存窗口222将首先被替换,从而保留最频繁访问的数据。智能热图生成算法缓存被反复访问的区域。本地卷145或远程卷155中的很少被访问的数据区不被放入高速缓存存储区200中。
图3是图1的动态高速缓存共享系统300的体系结构的示意图。动态高速缓存共享系统300包括直接与主机系统硬件310通信的虚拟机管理器320,和在应用层128中工作以支持使在主机系统110上运行的虚拟环境的实时监视成为可能的各种功能的高速缓存资源管理器330。虚拟机管理器320是通常称为内核的O/S组件。虚拟机管理器320从虚拟服务器接收监视信息,并集中管理将高速缓存群130中的一个或多个基于闪存的高速缓存装置暴露给由主机系统硬件310及本地卷145和远程卷155提供的数据存储区支持的数十个或数百个虚拟机的机制。
虚拟机管理器320能够支持多个O/S,每个O/S具有与虚拟机管理器320的应用层128接口。在图解所示的实施例中,O/S A(例如,Linux、Unix)由接口350支持,接口350包括用户层中的管理API354,和通过SCSI HBA仿真器与虚拟机管理器320通信的内核层中的过滤驱动器和库352。类似地,O/S B(例如,Windows Server2008)由接口360支持,接口360包括管理API364及过滤驱动器和库362。
虚拟机管理器320布置有高速缓存资源分配器322、高速缓存装置驱动器324和CICOM提供器326,以管理和控制高速缓存存储区200,并与高速缓存资源管理器330通信。这些和其它组件在主机系统110上的客户虚拟机中执行,以提供I/O过滤、热数据分类和缓存功能。虚拟机管理器320利用SCSI HBA仿真器,向虚拟机模仿高速缓存装置。按照两种方式将装置暴露给虚拟机。在第一种方式中,原始磁盘访问模块328以原始装置的方式暴露数据存储装置。原始磁盘访问模块328装置直接向虚拟机暴露SCSI块装置。另一方面,借助集成在虚拟机管理器320中的虚拟机文件系统(VMFS)模块,通过VMFS向虚拟机暴露数据存储区。VMFS模块可保存和管理将虚拟装置逻辑块地址和物理磁盘或高速缓存存储区200联系起来的映射。VMFS还创建精简配置的逻辑存储区,以利用虚拟磁盘支持数据快照、备份和其它操作。配置VMFS的磁盘所在的物理装置被称为数据存储区。利用带有管理插件340的虚拟基础架构客户端(VIC),这些虚拟磁盘可被动态转移到动态高速缓存共享系统300中的不同数据存储区(物理磁盘),而不存在虚拟机的任何停机时间。
高速缓存资源分配器322负责标识和要求动态高速缓存共享系统300中的所有高速缓存装置,并为该系统上的被配置成与动态高速缓存共享系统300的管理组件通信的每个虚拟机分配逻辑驱动器。高速缓存资源分配器322创建的逻辑驱动器作为RAW装置被映射到客户虚拟机。高速缓存资源分配器322将整个高速缓存容量分成相同大小的多个区间或块。区间大小被调整为等于高速缓存窗口大小。高速缓存存储容量被分配给在区间边界中的不同虚拟机。
高速缓存资源分配器322提供一组定义明确的API,以便为每个虚拟机创建和破坏逻辑驱动器。高速缓存资源分配器创建的每个逻辑驱动器具有动态高速缓存共享系统300支持的最大高速缓存容量的容量,然而整个高速缓存装置只有少数区间被映射到每个虚拟机。映射信息由高速缓存资源管理器330提供。根据在资源管理器330中定义的策略,和随着时间的推移的虚拟机的增加和去除,在动态高速缓存共享系统300的使用期限内,映射信息可动态变化。
高速缓存资源分配器322通过确保对照当前的有效区间映射,证实对应于每个逻辑驱动器的I/O,强制实施由高速缓存资源管理器定义的区间映射。高速缓存资源分配器322根据区间映射,通过高速缓存装置驱动器324或其它装置(未示出),将I/O请求重定向到物理装置。
高速缓存资源管理器330是起主机系统110上的客户虚拟机作用的较小并且高效的软件模块。在虚拟机管理器320的控制下,高速缓存资源管理器324监视和管理在所有虚拟机之间的高速缓存装置利用和分配。在初始化期间,高速缓存资源管理器324连接到所有的虚拟机,分配高速缓存容量,并监视高速缓存利用。高速缓存资源管理器324还通过虚拟机管理器320的虚拟化服务API,向虚拟服务器注册和等待诸如虚拟机增加、除去、迁移之类的事件,并协调高速缓存存储容量在当前执行的虚拟机之间的重新分配。
另外,高速缓存资源管理器324执行负责以受控的方式在虚拟机间分配高速缓存的策略引擎。策略引擎可包括在所有虚拟机之间平等共享高速缓存容量,向某些虚拟机保证最小的高速缓存容量,并在其它虚拟机之间重新分配剩余的高速缓存容量,在所有虚拟机之间保持热图,并根据每个虚拟机进行的I/O活动,根据当前工作负荷重新分配高速缓存的策略。
当新的虚拟机被增加或迁移到物理机时,高速缓存资源管理器324检测该事件,并尝试通过进行以下步骤,在可用的虚拟机之间重新分配高速缓存。首先,高速缓存资源管理器324通过客户虚拟机中的管理API354、356,请求分配有高速缓存容量的当前运行的客户虚拟机放弃一定量的高速缓存。由于高速缓存分配的区间大小等于高速缓存窗口大小,因此客户虚拟机将从其LRU队列的顶部放弃最不热的数据,从而降低由减少的高速缓存分配引起的性能影响。一旦主机系统110上的所有虚拟机都放弃分配给它们的一定量的高速缓存,释放的高速缓存区间被分配给被增加或迁移的新的虚拟机。
插件340被安排成与虚拟基础架构客户端(VIC)通信,以提供在虚拟环境中管理动态高速缓存共享系统解决方案的管理能力。插件340向就数据中心群集、主机和客户机而论的管理动作提供上下文。系统管理员将能够利用插件340来监视和管理动态高速缓存共享系统解决方案。插件340利用管理API354、364和高速缓存资源管理器330与虚拟机交互,以提供上述管理功能。
虚拟机将根据在虚拟机中执行的O/S,使用过滤驱动器和库352、362。过滤驱动器和库352、362使高速缓存装置能够被配置以区间映射,并确保高速缓存装置只利用分配给它的区间。另外,过滤驱动器和库352、362使得能够在作为增加新的虚拟机、虚拟机离线或者被迁出主机系统110的结果的高速缓存重新分配期间,实现向虚拟机增加区间和从虚拟机除去区间。此外,过滤驱动器和库352、362确保暴露给虚拟机的原始装置被配置成高速缓存装置。
图4是借助平等的高速缓存分配管理策略,在一组虚拟机之间分配单个高速缓存装置的示意图。图4中图解所示的实施例是用于举例说明3个虚拟机如何平等共享基于闪存的高速缓存存储区200的高速缓存窗口222的小规模布置。
在举例说明的实施例中,基于闪存的高速缓存存储区200包括30个高速缓存窗口(用块0-29表示),高速缓存窗口0-9与虚拟机1关联,并且对虚拟机1来说被标识成逻辑磁盘1,高速缓存窗口10-19与虚拟机2关联,并且对虚拟机2来说被标识成逻辑磁盘2,高速缓存窗口20-29与虚拟机3关联,并且对虚拟机3来说被标识成逻辑磁盘3。与高速缓存资源分配器322一起工作的原始磁盘访问模块328完成逻辑驱动器和高速缓存存储区200中的指定的一组连续块之间的上述关联或链接。
图5是图解说明准备图3的动态高速缓存共享系统的方法500的流程图。方法500始于方框502,在方框502,高速缓存资源分配器标识并要求耦接到主机系统的基于闪存的高速缓存装置。在方框504,虚拟机管理器确定将由主机系统支持的虚拟机的数目。在方框506,在主计算机中运行的动态高速缓存共享系统指令高速缓存资源分配器将可用的高速缓存容量分成相等的区间或块。在方框508,进一步指令高速缓存资源分配器为将由主机系统支持的每个虚拟机创建逻辑驱动器。在方框510,指令高速缓存资源分配器按照高速缓存分配策略,创建区间映射。在方框512,资源管理器将逻辑驱动器作为相应的原始装置映射到每个虚拟机,还指令虚拟机依据区间映射,将高速缓存装置加入高速缓存群中。之后,如在方框514中所示,根据使用频度算法,缓存主机系统上的I/O操作。
图6是在引入新的虚拟机之后的区间映射的示意图。图6中图解说明的实施例是举例说明当采用平等共享基于闪存的高速缓存存储区200的高速缓存窗口222的分配策略时,如何实现第4个虚拟机的增加的小规模布置。
在举例说明的实施例中,基于闪存的高速缓存存储区200包括30个高速缓存窗口(用块0-29表示),高速缓存窗口3-9与虚拟机1关联,并且对虚拟机1来说被标识成逻辑磁盘1,高速缓存窗口13-19与虚拟机2关联,并且对虚拟机2来说被标识成逻辑磁盘2,高速缓存窗口23-29与虚拟机3关联,并且对虚拟机3来说被标识成逻辑磁盘3。用带标记的块0-2、10-12、20-22表示的释放的高速缓存窗口作为逻辑磁盘4被重新分配给虚拟机4。在重新分配之后,虚拟机1-3分别被分配总共30个高速缓存窗口中的7个高速缓存窗口,而虚拟机4被分配剩余的9个高速缓存窗口。与高速缓存资源分配器322一起工作的原始磁盘访问模块328完成逻辑驱动器和高速缓存存储区200中的指定的各组块之间的上述关联或链接。
图7是图解说明利用图3的动态高速缓存共享系统300,处理I/O操作的方法700的流程图。如图所示,方法700始于方框702,在方框702,动态高速缓存共享系统驱动器按照映射到高速缓存装置的区间,发出对于高速缓存装置的命中或高速缓存填充I/O操作。在方框704,资源分配器接收与映射到特定虚拟机的暴露的逻辑驱动器标识符相关的I/O操作。在方框706,资源分配器确认该I/O操作在区间映射中,被标识成属于指定虚拟机的区间的范围内。在方框708,高速缓存资源管理器通过适当的SCSI驱动器,将I/O重定向到物理装置。
图8A和8B包括图解说明动态管理高速缓存存储区的方法800的流程图。方法800始于方框802,在方框802,动态高速缓存共享系统关于将在主机系统上支持的虚拟机的数目的变化,来监视虚拟化服务API。如在判定框804中所示,判定是在向主机支持的虚拟机的集合中添加虚拟机,还是在从所述集合中除去虚拟机。当在增加虚拟机时(如用退出判定框804的标记“是”的流程控制箭头所示),处理继续进行方框806,在方框806,高速缓存资源分配器根据分配策略,确定待分配给新的虚拟机的高速缓存的量。否则,处理转到方框812,如用连接符B所示。在方框808,高速缓存资源管理器与每个现有的虚拟机通信,以释放适当量的高速缓存存储容量,以便重新分配给新的虚拟机。另外,更新区间映射,并传送给高速缓存资源分配器。在方框810,指令高速缓存资源分配器创建新的逻辑驱动器,并使之与最近释放的区间或高速缓存窗口相联系。另外,指令高速缓存资源分配器向该虚拟机暴露新生成的逻辑驱动器。之后,处理继续进行方框802的功能。
当虚拟机被迁离主机系统时,处理继续进行方框812,在方框812,高速缓存资源分配器确定在从离开主机系统的虚拟机释放之后,变得可供重新分配给剩余虚拟机的高速缓存容量的量。在方框814,按照分配策略,资源管理器确定应使之可供剩余的虚拟机使用的释放的存储容量的量。应注意当分配策略如此规定时,重新分配给每个虚拟机的存储容量的量可能不必相等。在方框816,指令高速缓存资源分配器除去与旧的虚拟机相联系的逻辑驱动器,和更新修正的区间映射,并利用可用的高速缓存容量的相应部分重新配置剩余的虚拟机。
应理解,图5、7、8A和8B的流程图只是用来例证或说明成为所述方法的基础的逻辑。本领域的技术人员会理解,在各个实施例中,可以按照任意各种方式设计或配置包括动态高速缓存处理系统或高速缓存控制器的数据处理系统,以实现所述方法。上面说明的步骤或动作可按任何适当的顺序或序列发生,包括并行或者彼此同步地发生。在一些实施例中,上面关于图5、7、8A和8B说明的步骤或动作可以与其它步骤或动作结合,或者被省略。尽管为了清楚起见,以图5、7、8A和8B中的流程图的形式进行了说明,不过基础的逻辑可被模块化,或者以任何适当的方式布置。本领域的技术人员能够容易地编程或配置适当的软件或适当的逻辑,比如以专用集成电路(ASIC)或者类似装置或者装置的组合的形式,以实现上面说明的方法。另外,应理解软件指令或类似逻辑与其中保存或包含这样的软件指令或类似逻辑,以便由处理器112执行的局部存储器120或其它存储器的组合包括“计算机可读介质”或“计算机程序产品”,如在专利词典中使用该术语一样。
应注意为了说明本发明的原理和概念,参考一个或多个例证实施例,说明了本发明。本发明并不局限于这些实施例。鉴于这里提供的说明,本领域的技术人员会明白,可对这里说明的实施例作出许多变化,所有这样的变化都在权利要求书中限定的本发明的范围之内。

Claims (20)

1.一种管理高速缓存存储区的方法,所述高速缓存存储区由一群一个或多个基于闪存的装置和管理一组虚拟机的主计算机系统支持,所述方法包括:
向虚拟机管理器提供高速缓存资源管理器应用,高速缓存资源管理器被配置有用于根据由主计算系统支持的虚拟机的数目来分配可用的高速缓存存储容量的标识部分的倍数的一个或多个策略;
向虚拟机管理器提供高速缓存资源分配器和基于闪存的高速缓存装置驱动器,高速缓存资源分配器被配置成要求一群基于闪存的高速缓存装置,向每个虚拟机分配逻辑驱动器,并标识由一群基于闪存的装置提供的可用高速缓存存储容量的一部分;
向虚拟基础架构客户端提供插件,该插件被配置成向至少一个基于闪存的高速缓存装置提供虚拟机、虚拟机管理器和客户上下文;和
将驱动器暴露给每个虚拟机,以使虚拟机能够与一群基于闪存的高速缓存装置通信,好像虚拟机在与专用存储装置通信似的。
2.按照权利要求1所述的方法,其中将驱动器暴露给每个虚拟机是对在虚拟机上执行的操作系统和高速缓存资源管理器定义的区间映射起反应。
3.按照权利要求2所述的方法,其中每个虚拟机只响应于区间映射而将I/O操作指向区间。
4.按照权利要求2所述的方法,其中高速缓存资源管理器响应于在主计算系统上工作的虚拟机的数目的变化,来动态地修改区间映射。
5.按照权利要求1所述的方法,其中插件被配置成向人机接口提供信息。
6.按照权利要求1所述的方法,其中插件还被配置成代表高速缓存资源管理器来与虚拟机通信。
7.按照权利要求1所述的方法,其中每个驱动器以映射到基于闪存的高速缓存装置的区间,发出对于来自所述一群基于闪存的高速缓存装置中的基于闪存的一个高速缓存装置的命中或高速缓存填充I/O,所述I/O由与映射到特定虚拟机的逻辑驱动器关联的高速缓存资源分配器接收,高速缓存资源分配器确认I/O范围,并将该I/O重定向到物理装置。
8.一种高速缓存资源管理系统,适合于动态管理由一群一个或多个基于闪存的装置和管理一组虚拟机的主计算机系统支持的高速缓存存储区,所述系统包括:
在主计算机系统上运行的高速缓存资源管理器应用,该高速缓存资源管理器应用被配置有用于根据由主计算系统支持的虚拟机的数目来分配可用的高速缓存存储容量的标识部分的倍数的一个或多个策略;
在主计算机系统上运行的虚拟机管理器,该虚拟机管理器布置有高速缓存资源分配器和基于闪存的高速缓存装置驱动器,高速缓存资源分配器被配置成要求一群基于闪存的高速缓存装置,向每个虚拟机分配逻辑驱动器,并标识由该群基于闪存的装置提供的可用高速缓存存储容量的一部分;
被布置成与虚拟基础架构客户端通信的插件,所述插件被配置成向至少一个基于闪存的高速缓存装置提供虚拟机、虚拟机管理器和客户上下文;和
每个虚拟机可用的至少一个驱动器,使得能够实现与一群基于闪存的高速缓存装置的通信,好像该虚拟机在与专用存储装置通信似的。
9.按照权利要求8所述的系统,其中所述至少一个驱动器是根据在虚拟机上运行的操作系统配置的,并且对高速缓存资源管理器定义的区间映射起反应。
10.按照权利要求9所述的系统,其中每个虚拟机只响应于区间映射而将I/O操作指向区间。
11.按照权利要求9所述的系统,其中高速缓存资源管理器响应于在主计算系统上工作的虚拟机的数目的变化,动态地修改区间映射。
12.按照权利要求8所述的系统,其中插件还被配置成向人机接口提供信息。
13.按照权利要求8所述的系统,其中插件还被配置成代表高速缓存资源管理器来与虚拟机通信。
14.按照权利要求8所述的系统,其中每个驱动器以映射到基于闪存的高速缓存装置的区间,发出对于来自所述一群基于闪存的高速缓存装置中的一个基于闪存的高速缓存装置的命中或高速缓存填充I/O,所述I/O由与映射到特定虚拟机的逻辑驱动器关联的高速缓存资源分配器接收,高速缓存资源分配器确认I/O范围,并将该I/O重定向到物理装置。
15.一种计算机可读介质,具有以非临时的形式存储在其上的计算机可执行指令,所述可执行指令当在主计算机的处理系统上执行时指示处理系统:
指示高速缓存资源分配器要求耦接到主计算机的高速缓存装置;
指示高速缓存资源管理应用:
与高速缓存资源分配器通信,以确定可用的高速缓存装置,和
扫描主计算机,以确定由主计算机支持的虚拟机的数目,一旦标识出虚拟机的数目和可用的高速缓存装置,高速缓存资源管理器就指示高速缓存资源分配器:
将可用的高速缓存容量分成相同大小的区间,和
创建逻辑驱动器,并按照高速缓存分配策略创建区间映射;还指示高速缓存资源管理器:
将每个逻辑驱动器映射到相应的虚拟机;和
将区间映射与每个逻辑驱动器联系起来;和
指示虚拟机:将高速缓存装置添加到高速缓存群中。
16.按照权利要求15所述的计算机可读介质,其中处理器还被指示指令虚拟机通过高速缓存装置之一来处理I/O操作。
17.按照权利要求15所述的计算机可读介质,其中处理器还被指示指令虚拟机管理器监视由主计算机活动地支持的虚拟机的数目。
18.按照权利要求17所述的计算机可读介质,其中当虚拟机管理器检测到支持额外的虚拟机的请求时,高速缓存资源分配器利用策略来确定待分配给新虚拟机的高速缓存的量,资源管理器确定将从目前在主计算机上执行的虚拟机收回的高速缓存的量,指示目前在主计算机上执行的虚拟机释放所述量的高速缓存,将该高速缓存分配给新的虚拟机,更新区间映射,指示资源分配器创建新的逻辑驱动器,并用高速缓存装置配置该新的虚拟机。
19.按照权利要求17所述的计算机可读介质,其中当虚拟机管理器检测到禁止支持虚拟机的请求时,高速缓存资源分配器将可供在主计算机上执行的剩余虚拟机之间重新分配的高速缓存存储空间的量通知给高速缓存资源管理器,资源管理器按照策略将可用的高速缓存分配给每个剩余的虚拟机,更新区间映射,指令资源分配器除去该逻辑驱动器,并利用可用高速缓存存储空间的相应部分来重新配置剩余的虚拟机。
20.按照权利要求18所述的计算机可读介质,其中所述策略以平等的高速缓存分配、最低保证高速缓存容量和相应虚拟机的当前工作负荷中的一个或多个为基础。
CN201410051986.5A 2013-03-11 2014-02-17 用于动态高速缓存共享的系统、方法和计算机可读介质 Pending CN104049906A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN270KO2013 2013-03-11
IN270/KOL/2013 2013-03-11

Publications (1)

Publication Number Publication Date
CN104049906A true CN104049906A (zh) 2014-09-17

Family

ID=50241209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410051986.5A Pending CN104049906A (zh) 2013-03-11 2014-02-17 用于动态高速缓存共享的系统、方法和计算机可读介质

Country Status (6)

Country Link
US (1) US20140258595A1 (zh)
EP (1) EP2778919A3 (zh)
JP (1) JP2014175009A (zh)
KR (1) KR20140111589A (zh)
CN (1) CN104049906A (zh)
TW (1) TW201439898A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017063512A1 (zh) * 2015-10-15 2017-04-20 成都电科致远网络科技有限公司 应用于虚拟化桌面场景的存储服务平台及其实现方法
CN107003811A (zh) * 2014-12-17 2017-08-01 英特尔公司 减少在固态驱动器中输入和输出操作的混杂
CN107430556A (zh) * 2015-03-27 2017-12-01 英特尔公司 动态高速缓存分配
CN107436808A (zh) * 2016-04-22 2017-12-05 凯为公司 用于动态虚拟片上系统的方法和装置
CN109643243A (zh) * 2016-09-26 2019-04-16 英特尔公司 动态虚拟cpu核分配
CN110737394A (zh) * 2018-07-20 2020-01-31 伊姆西Ip控股有限责任公司 管理缓存的方法、装置和计算机程序产品
CN110933245A (zh) * 2019-11-21 2020-03-27 深信服科技股份有限公司 一种虚拟机及数据传输方法、系统、设备、计算机介质
CN112540982A (zh) * 2019-09-20 2021-03-23 Sap欧洲公司 具有可更新逻辑表指针的虚拟数据库表
CN114510443A (zh) * 2021-12-29 2022-05-17 中科创达软件科技(深圳)有限公司 一种数据传输方法和系统

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10191855B2 (en) 2014-07-03 2019-01-29 Avago Technologies International Sales Pte. Limited Caching systems and methods for page reclamation with simulated NVDRAM in host bus adapters
US9747228B2 (en) * 2014-07-03 2017-08-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Caching systems and methods for execution within an NVDRAM environment
US10176097B2 (en) 2014-12-16 2019-01-08 Samsung Electronics Co., Ltd. Adaptable data caching mechanism for in-memory cluster computing
US9619391B2 (en) 2015-05-28 2017-04-11 International Business Machines Corporation In-memory caching with on-demand migration
CN107203328A (zh) * 2016-03-17 2017-09-26 伊姆西公司 存储管理方法和存储设备
US10481983B1 (en) 2016-03-31 2019-11-19 Amazon Technologies, Inc. Snapshot clustering techniques for multipart volumes
US10534749B1 (en) 2016-03-31 2020-01-14 Amazon Technologies, Inc. Block device emulation for data snapshots
US10289493B1 (en) 2016-03-31 2019-05-14 Amazon Technologies, Inc. Data snapshot analysis systems and techniques
US10019180B1 (en) * 2016-03-31 2018-07-10 Amazon Technologies, Inc. Snapshot data operation request processing
US10838620B2 (en) * 2016-05-26 2020-11-17 Nutanix, Inc. Efficient scaling of distributed storage systems
JP2019168733A (ja) * 2016-07-08 2019-10-03 日本電気株式会社 情報処理システム、キャッシュ容量配分方法、記憶制御装置およびその方法とプログラム
TWI582597B (zh) * 2016-12-07 2017-05-11 英業達股份有限公司 硬體資源共用系統及連線橋接平台的操作方法
CN106815068A (zh) * 2016-12-09 2017-06-09 中电科华云信息技术有限公司 基于Openstack实现Hyperv虚拟机热迁移的方法
KR20180097220A (ko) * 2017-02-23 2018-08-31 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
CN108733307B (zh) * 2017-04-17 2021-06-08 伊姆西Ip控股有限责任公司 存储管理方法、设备以及计算机可读介质
KR101951309B1 (ko) * 2017-04-19 2019-04-29 서울시립대학교 산학협력단 데이터 처리 장치 및 데이터 처리 방법
US11074001B2 (en) * 2018-04-09 2021-07-27 Red Hat, Inc. Managing virtual-machine image cloning
US11520700B2 (en) 2018-06-29 2022-12-06 Intel Corporation Techniques to support a holistic view of cache class of service for a processor cache
US10922142B2 (en) 2018-10-31 2021-02-16 Nutanix, Inc. Multi-stage IOPS allocation
US11989436B2 (en) 2022-07-18 2024-05-21 Hewlett Packard Enterprise Development Lp Variable extent size

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101460923A (zh) * 2006-06-01 2009-06-17 微软公司 用于在m核处理器上操作n核应用程序的虚拟机
CN102289390A (zh) * 2010-06-01 2011-12-21 微软公司 系统管理程序调度器
US20120210068A1 (en) * 2011-02-15 2012-08-16 Fusion-Io, Inc. Systems and methods for a multi-level cache

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155558B1 (en) * 2004-07-21 2006-12-26 Vmware, Inc. Providing access to a raw data storage unit in a computer system
US20090113111A1 (en) * 2007-10-30 2009-04-30 Vmware, Inc. Secure identification of execution contexts
US20100185816A1 (en) * 2009-01-21 2010-07-22 Sauber William F Multiple Cache Line Size
US9582222B2 (en) * 2009-04-30 2017-02-28 Western Digital Technologies, Inc. Pre-cache similarity-based delta compression for use in a data storage system
US8312471B2 (en) * 2010-04-26 2012-11-13 Vmware, Inc. File system independent content aware cache
US20120137062A1 (en) * 2010-11-30 2012-05-31 International Business Machines Corporation Leveraging coalesced memory
US9069587B2 (en) * 2011-10-31 2015-06-30 Stec, Inc. System and method to cache hypervisor data
CN103999056B (zh) * 2011-12-27 2017-05-31 英特尔公司 管理工作负载存储器分配的方法、设备和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101460923A (zh) * 2006-06-01 2009-06-17 微软公司 用于在m核处理器上操作n核应用程序的虚拟机
CN102289390A (zh) * 2010-06-01 2011-12-21 微软公司 系统管理程序调度器
US20120210068A1 (en) * 2011-02-15 2012-08-16 Fusion-Io, Inc. Systems and methods for a multi-level cache

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003811B (zh) * 2014-12-17 2020-07-03 英特尔公司 减少在固态驱动器中输入和输出操作的混杂
CN107003811A (zh) * 2014-12-17 2017-08-01 英特尔公司 减少在固态驱动器中输入和输出操作的混杂
CN107430556A (zh) * 2015-03-27 2017-12-01 英特尔公司 动态高速缓存分配
CN107430556B (zh) * 2015-03-27 2021-07-20 英特尔公司 动态高速缓存分配
WO2017063512A1 (zh) * 2015-10-15 2017-04-20 成都电科致远网络科技有限公司 应用于虚拟化桌面场景的存储服务平台及其实现方法
CN107436808A (zh) * 2016-04-22 2017-12-05 凯为公司 用于动态虚拟片上系统的方法和装置
CN107436808B (zh) * 2016-04-22 2023-07-07 马维尔亚洲私人有限公司 用于动态虚拟片上系统的方法和装置
CN109643243A (zh) * 2016-09-26 2019-04-16 英特尔公司 动态虚拟cpu核分配
CN109643243B (zh) * 2016-09-26 2024-03-08 英特尔公司 用于动态虚拟cpu核分配的方法、系统、设备、装置和介质
CN110737394A (zh) * 2018-07-20 2020-01-31 伊姆西Ip控股有限责任公司 管理缓存的方法、装置和计算机程序产品
CN110737394B (zh) * 2018-07-20 2023-09-01 伊姆西Ip控股有限责任公司 管理缓存的方法、装置和计算机程序产品
CN112540982A (zh) * 2019-09-20 2021-03-23 Sap欧洲公司 具有可更新逻辑表指针的虚拟数据库表
CN112540982B (zh) * 2019-09-20 2024-04-16 Sap欧洲公司 具有可更新逻辑表指针的虚拟数据库表
CN110933245A (zh) * 2019-11-21 2020-03-27 深信服科技股份有限公司 一种虚拟机及数据传输方法、系统、设备、计算机介质
CN110933245B (zh) * 2019-11-21 2021-11-19 深信服科技股份有限公司 一种虚拟机及数据传输方法、系统、设备、计算机介质
CN114510443A (zh) * 2021-12-29 2022-05-17 中科创达软件科技(深圳)有限公司 一种数据传输方法和系统
CN114510443B (zh) * 2021-12-29 2024-02-13 中科创达软件科技(深圳)有限公司 一种数据传输方法和系统

Also Published As

Publication number Publication date
US20140258595A1 (en) 2014-09-11
EP2778919A3 (en) 2015-03-04
EP2778919A2 (en) 2014-09-17
JP2014175009A (ja) 2014-09-22
TW201439898A (zh) 2014-10-16
KR20140111589A (ko) 2014-09-19

Similar Documents

Publication Publication Date Title
CN104049906A (zh) 用于动态高速缓存共享的系统、方法和计算机可读介质
US10891055B2 (en) Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices
US11003576B2 (en) Namespace change propagation in non-volatile memory devices
US11029853B2 (en) Dynamic segment allocation for write requests by a storage system
US9141529B2 (en) Methods and apparatus for providing acceleration of virtual machines in virtual environments
EP3665561B1 (en) A metadata control in a load-balanced distributed storage system
US11061622B2 (en) Tiering data strategy for a distributed storage system
US11734040B2 (en) Efficient metadata management
CN103761053B (zh) 一种数据处理方法和装置
CN103577345A (zh) 提高由多个系统共享的存储高速缓存灵活性的方法和结构
US8868622B2 (en) Method and apparatus for allocating resources in a computer system
CN104903872A (zh) 用于自适应持久化的系统、方法和接口
US10423331B2 (en) Polymorphic storage devices
EP2836900B1 (en) Creating encrypted storage volumes
CN103176845A (zh) 一种虚拟机部署方法、系统和装置
US10176103B1 (en) Systems, devices and methods using a solid state device as a caching medium with a cache replacement algorithm
US20200026659A1 (en) Virtualized memory paging using random access persistent memory devices
US10089706B1 (en) GPU virtual device driver for offload processing in a storage array
US8918621B1 (en) Block address isolation for file systems
US10055354B1 (en) Systems, devices and methods using a solid state device as a caching medium with a hashing algorithm to maintain sibling proximity
KR20230173059A (ko) 스마트 메모리 모듈 및 그것의 동작 방법
WO2018067745A1 (en) Parallel segment writer

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) CORPORAT

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES CORP.

Effective date: 20150819

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150819

Address after: Singapore Singapore

Applicant after: Avago Technologies General IP (Singapore) Pte. Ltd.

Address before: California, USA

Applicant before: LSI Corp.

WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140917

WD01 Invention patent application deemed withdrawn after publication