CN114270317A - 层次型存储器系统 - Google Patents
层次型存储器系统 Download PDFInfo
- Publication number
- CN114270317A CN114270317A CN202080059148.6A CN202080059148A CN114270317A CN 114270317 A CN114270317 A CN 114270317A CN 202080059148 A CN202080059148 A CN 202080059148A CN 114270317 A CN114270317 A CN 114270317A
- Authority
- CN
- China
- Prior art keywords
- data
- persistent memory
- memory device
- hypervisor
- memory
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
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 (AREA)
Abstract
描述了用于层次型存储器系统的设备、系统和方法。实例方法包含:经由输入/输出(I/O)装置接收在持久存储器装置和非持久存储器装置中存储数据的请求;响应于确定所述请求对应于层次型存储器操作的执行,将存储所述数据的所述请求重定向到逻辑电路系统;响应于接收到所述经重定向请求,在与所述逻辑电路系统相关联的基地址寄存器中存储对应于所述数据的逻辑地址信息;通过所述逻辑电路系统在超管理器上确证中断信号,所述中断信号指示发起由所述超管理器执行的操作以控制所述逻辑电路系统对所述数据的存取;以及至少部分地基于接收到所述经重定向请求,基本上并行地将所述数据写入到所述持久存储器装置和所述非持久存储器装置。
Description
技术领域
本公开总体上涉及半导体存储器和方法,且更具体地说,涉及与层次型存储器系统有关的设备、系统和方法。
背景技术
存储器装置通常提供为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要电力来维持其数据(例如,主机数据、错误数据等),并且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和同步动态随机存取存储器(SDRAM)等等。非易失性存储器可通过在断电时保留所存储的数据来提供持久数据,并且可包含NAND快闪存储器、NOR快闪存储器和电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)和磁阻随机存取存储器(MRAM),如自旋力矩转移随机存取存储器(STT RAM)等等。
存储器装置可耦合到主机(例如,主机计算装置)以存储数据、命令和/或指令,以便在计算机或电子系统运行时供主机使用。例如,在计算或另一电子系统的操作期间,数据、命令和/或指令可在主机和存储器装置之间转移。
附图说明
图1是根据本公开的数个实施例的呈包含层次型存储器组件的设备形式的功能框图。
图2是根据本公开的数个实施例的呈包含层次型存储器组件的计算系统形式的功能框图。
图3是根据本公开的数个实施例的呈包含层次型存储器组件的计算系统形式的另一功能框图。
图4是根据本公开的数个实施例的表示数据读取操作的流程图。
图5是根据本公开的数个实施例的表示数据写入操作的流程图。
图6是根据本公开的数个实施例的表示层次型存储器系统的实例方法的流程图。
图7是根据本公开的数个实施例的表示层次型存储器系统的实例方法的另一流程图。
具体实施方式
描述了用于层次型存储器系统的设备、系统和方法。层次型存储器系统可以利用持久存储器来存储通常存储在非持久存储器中的数据,从而以比仅依赖非持久存储器的方法更低的成本增加分配给计算系统的存储空间量。实例方法包含:经由输入/输出(I/O)装置接收在持久存储器装置和非持久存储器装置中存储数据的请求;响应于确定所述请求对应于层次型存储器操作的执行,将存储所述数据的所述请求重定向到逻辑电路系统;响应于接收到经重定向的存储所述数据的所述请求,在与所述逻辑电路系统相关联的基地址寄存器中存储对应于所述数据的逻辑地址信息;通过所述逻辑电路系统在以通信方式耦合到所述逻辑电路系统的超管理器上确证中断信号,所述中断信号指示发起由所述超管理器执行的操作以控制所述逻辑电路系统对所述数据的存取;以及至少部分地基于接收到经重定向请求,基本上并行地将对应于存储在所述基地址寄存器中的所述地址信息的所述数据写入到所述持久存储器装置和所述非持久存储器装置。
计算系统在操作期间使用各种类型的存储器资源。例如,计算系统可在操作期间使用易失性(例如,随机存取存储器)存储器资源和非易失性(例如,存储)存储器资源的组合。一般来说,易失性存储器资源的操作速度可比非易失性存储器资源快得多,且寿命可比非易失性存储器资源更长;但是,易失性存储器资源通常比非易失性存储器资源更贵。如本文中所使用,易失性存储器资源可替代地称为“非持久存储器装置”,而非易失性存储器资源可替代地称为“持久存储器装置”。
但是,持久存储器装置可以更广泛地指代以持久方式存取数据的能力。作为实例,在持久存储器上下文中,存储器装置可以在存储器阵列中存储多个逻辑到物理映射或转译数据和/或查找表,以便跟踪数据在存储器装置中的位置,与存储器是否为非易失性无关。此外,持久存储器装置除了通过包含为连续过程服务命令的能力(例如,通过使用逻辑到物理映射、查找表等)来使用非易失性之外,还可以指代存储器的非易失性。
这些特性可能需要在计算系统中进行权衡,以便为计算系统提供足够的资源,以满足消费者和计算资源提供商不断增长的需求。例如,在多用户计算网络(例如,基于云的计算系统部署、软件定义的数据中心等)中,可以提供相对大量的易失性存储器来提供在多用户网络中运行的虚拟机。然而,通过依赖易失性存储器向多用户网络提供存储器资源(在一些方法中是常见的),与向网络提供存储器资源相关联的成本可能会增加,尤其是当网络的用户需要使用越来越大的计算资源池时。
此外,在依赖易失性存储器来提供存储器资源以在多用户网络中提供虚拟机的方法中,一旦易失性存储器资源耗尽(例如,一旦将易失性存储器资源分配给多用户网络的用户),在额外的易失性存储器资源可用或添加之前,无法将其他用户添加到多用户网络。这可能会导致潜在用户被拒绝,从而可能会导致收入损失,如果多用户网络可以使用额外的存储器资源,可能会产生收入损失。
易失性存储器资源,例如动态随机存取存储器(DRAM)倾向于以确定性方式操作,而非易失性存储器资源,例如存储类存储器(例如,NAND快闪存储器装置、固态驱动器、电阻可变存储器装置等)倾向于以非确定性方式操作。例如,由于对从存储类存储器装置检索的数据执行错误校正操作、加密操作、RAID操作等,从存储类存储器装置请求数据到数据可用之间的时间量可针对不同读取而不同,从而使得从存储类存储器装置检索数据不确定。相比之下,从DRAM装置请求数据到数据可用之间的时间量可针对不同读取保持固定,从而使得从DRAM装置检索数据具有确定性。
另外,由于易失性存储器资源的确定性行为和非易失性存储器资源的非确定性行为之间的区别,向和从存储器资源转移的数据通常穿过与所使用的存储器类型相关联的特定接口(例如,总线)。例如,向和从DRAM装置转移的数据通常经由双倍数据速率(DDR)总线传递,而向和从NAND装置转移的数据通常经由外围组件互连快速(PCI-e)总线传递。然而,如将认识到的,可用来向和从易失性存储器资源和非易失性存储器资源转移数据的接口的实例不限于这些特定列举的实例。
由于非易失性存储器装置和易失性存储器装置的不同行为,一些方法选择在易失性或非易失性存储器中存储特定类型的数据。与非易失性存储器装置的非确定性行为相比,这可以缓解由于例如易失性存储器装置的确定性行为而可能出现的问题。例如,在一些方法中,计算系统在易失性存储器装置中存储在计算系统操作期间定期存取的少量数据,而较大或存取频率较低的数据存储在非易失性存储器装置中。然而,在多用户网络部署中,绝大多数数据可能存储在易失性存储器装置中。相比之下,本文的实施例可以允许从部署在多用户网络中的非易失性存储器装置存储和检索数据。
如本文所描述,本公开的一些实施例针对计算系统,其中来自非易失性且因此是非确定性的存储器资源的数据经由接口传递,所述接口在其它方法中仅限于易失性且确定性的存储器资源使用。例如,在一些实施例中,可以经由DDR接口等接口向和从非易失性、非确定性存储器资源转移数据,例如NAND快闪装置、电阻可变存储器装置,如相变存储器装置和/或电阻性存储器装置(例如,三维交叉点(3D XP)存储器装置)、固态驱动器(SSD),自选存储器(SSM)装置等,通过DDR接口等接口,在一些方法中,所述接口预留用于向和从易失性、确定性存储器资源转移数据。因此,与使用易失性、确定性存储器装置向计算系统提供主存储器的方法相比,本文的实施例可以允许将非易失性、非确定性存储器装置用作计算系统的主存储器的至少一部分。
在一些实施例中,数据可在中间从易失性存储器或非易失性存储器资源转移到高速缓存(例如,小型静态随机存取存储器(SRAM)高速缓存)或缓冲器,并且随后可供请求数据的应用程序使用。通过将通常以确定性方式提供的数据存储在非确定性存储器资源中并允许如本文所述存取所述数据,计算系统性能可得到改善:与使用易失性存储器资源的方法相比,允许以显著降低的成本向多用户网络提供更多的存储器资源。
在一些实施例中,数据可以基本上并行地写入到持久存储器装置和非持久存储器装置中。如本文中所使用,术语“基本上”意指特性不需要是绝对的,而是足够接近以实现特性的优势。例如,“基本上并行”不限于绝对并行,并且可包含意图并行但由于制造限制可能不完全并行的计时。例如,由于各种接口(例如,DDR与PCIe)可能会出现读取/写入延迟,因此“基本上并行”执行的读取或写入操作可能不会在完全相同的时间完成。例如,操作可以在足够接近的时间完成,以便在接近的时间点完成数据转移。但是,在一些实施例中,可以同时开始读取/写入操作,使得读取/写入的发起发生在基本上并行的时间点。数据可对应于层次型存储器控制器的基地址寄存器内的地址。
通过将数据存储在易失性存储器装置和非易失性存储器装置中,可以减少专用于数据转移的时间(例如,时钟循环数)。例如,可以在DRAM装置达到全部(或接近全部)容量之前移除DRAM装置内的数据,从而减少进行数据转移所涉及的时间量。此外,当DRAM装置达到全部(或接近全部)容量时,用于从DRAM装置转移数据的时钟循环数减少,这可以减少在执行数据转移操作中消耗的功率量。另外,本文中的实施例可以允许DRAM存储最新数据的副本,使得与不以本文描述的方式执行读取和/或写入操作的方法相比,数据的检索可以更快(例如,以数目更少的时钟循环执行)。
为了促进本公开的实施例,非易失性存储器资源的可视性可对部署了层次型存储器系统的计算系统的各个装置进行模糊化。例如,部署在计算系统或多用户网络中的主机、网络接口卡、虚拟机等可能无法区分数据是由计算系统的易失性存储器资源存储还是由非易失性存储器资源存储。例如,可以在计算系统中部署硬件电路系统,其可以以主机、网络接口卡、虚拟机等无法区分数据是由易失性存储器资源还是非易失性存储器资源存储的方式来寄存与数据相对应的地址。
如本文中更详细描述,层次型存储器系统可包含硬件电路系统(例如,逻辑电路系统),其可拦截经重定向数据请求,在与所请求数据相关联的逻辑电路系统中寄存地址(即使硬件电路系统未由其自身的存储器资源备份以存储数据),并使用逻辑电路系统将寄存在逻辑电路系统中的地址映射到对应于易失性存储器装置和非易失性存储器装置中的数据的物理地址。在一些实施例中,地址可以同时写入到持久存储器装置和非持久存储器装置中。
在本公开的以下详细描述中,参考构成本发明的一部分的附图,在附图中,通过图示示出了可以如何实践本公开的一或多个实施例。对这些实施例进行了足够详细的描述,以使所属领域的技术人员能够实践本公开的实施例,并且应理解,可以使用其它实施例,并且可以在不脱离本公开的范围的情况下进行过程、电气和结构改变。
如本文中所使用,诸如“N”、“M”等的指示符,尤其是关于附图中的附图标记的指示符,指示可以包含如此指定的特定特征的数量。还应理解,本文中使用的术语仅用于描述特定实施例,并不旨在限制。如本文中所使用,除非上下文另外明确规定,否则单数形式“一/一种”和“所述”可包含单个和多个提及物。另外,“数个”、“至少一个”和“一或多个”(例如,数个存储器组)可以指一或多个存储器组,而“多个”旨在指超过一个这样的事物。
此外,“可能”和“可”这两个词在本申请中的使用是容许意义上的(即,有可能、能够),而不是强制意义上的(即,必须)。术语“包含”及其派生词是指“包含但不限于”。术语“耦合(coupled/coupling)”是指直接或间接物理连接,或用于存取和移动(传输)命令和/或数据,视上下文而定。术语“数据”和“数据值”在本文中可以互换使用,并且可以根据上下文具有相同的含义。
本文中的图遵循一种编号惯例,其中第一个或前几个数字对应于图号,其余数字标识图中的元件或组件。不同图之间的类似元件或组件可通过使用类似数字来标识。例如,104可以指代图1中的元件“04”,类似元件在图2中可以表示为204。在本文中,一组或多个类似元件或组件通常可以用单个元件编号来指代。例如,多个参考元件106-1、106-2、……、106-N(例如,106-1至106-N)可统称为106。如将理解的,可以添加、交换和/或去除本文中的各种实施例中所示的元件,以提供本公开的数个额外实施例。另外,图中提供的元件的比例和/或相对尺度旨在说明本公开的某些实施例,不应被视为具有限制性意义。
图1是根据本公开的数个实施例的呈包含包括层次型存储器组件104的设备的计算系统100形式的功能框图。如本文中所使用,“设备”可以指但不限于各种结构或结构组合中的任一个,例如电路或电路系统、一或多个裸片、一或多个模块、一或多个装置或一或多个系统。在一些实施例中,层次型存储器组件104可提供为现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数个离散电路组件等,并且可在本文中替代地称为“逻辑电路系统”。
如图1中所示,层次型存储器组件104可包含存储器资源102,其可包含读取缓冲器103、写入缓冲器105和/或输入/输出I/O装置存取组件107。在一些实施例中,存储器资源102可以是随机存取存储器资源,例如块RAM,其在层次型存储器组件104是FPGA的实施例中可允许数据存储在层次型存储器组件104内。但是,实施例不限于此,并且存储器资源102可包括各个寄存器、高速缓存、存储器阵列、锁存器和SRAM、DRAM、EPROM,或其它合适的可存储位串等数据的存储器技术,所述数据包含对应于数据在逻辑电路系统104外部存储的物理位置的寄存地址。存储器资源102在层次型存储器组件104内部,并且通常小于在层次型存储器组件104外部的存储器,例如可在层次型存储器组件104外部的持久和/或非持久存储器资源。
读取缓冲器103可包含存储器资源102的预留用于存储已由层次型存储器组件104接收但尚未由层次型存储器组件104处理的数据的部分。在一些实施例中,读取缓冲器103可约为4千字节(KB)的大小,尽管实施例不限于此特定大小。读取缓冲器103可缓冲要寄存在地址寄存器106-1到106-N中的一个中的数据。
写入缓冲器105可包含存储器资源102的预留用于存储等待传输到层次型存储器组件104外部的某一位置的数据的部分。在一些实施例中,写入缓冲器105可约为4千字节(KB)的大小,尽管实施例不限于此特定大小。写入缓冲器103可缓冲寄存在地址寄存器106-1到106-N中的一个中的数据。
I/O存取组件107可包含存储器资源102的预留用于存储对应于存取层次型存储器组件104外部的组件(例如,本文中在图2和3所示的I/O装置210/310)的数据的部分。I/O存取组件107可存储对应于I/O装置的地址的数据,所述地址可用于从I/O装置读取数据和/或将数据写入到I/O装置。另外,在一些实施例中,I/O存取组件107可接收、存储和/或传输对应于超管理器(例如,图3所示的超管理器312)的状态的数据,如本文中结合图3更详细描述。
层次型存储器组件104可进一步包含存储器存取复用器(MUX)109、状态机111和/或层次型存储器控制器113(或为简单起见,“控制器”)。如图1所示,层次型存储器控制器113可包含多个地址寄存器106-3到106-N和/或中断组件115。存储器存取MUX 109可包含电路系统,所述电路系统可包括一或多个逻辑门,并且可配置成控制逻辑电路系统104的数据和/或地址汇流。例如,存储器存取MUX 109可向和从存储器资源102转移消息,并与层次型存储器控制器113和/或状态机111通信,如下文更详细地描述。
在一些实施例中,MUX 109可将从主机(例如,主机计算装置、虚拟机等)接收的传入消息和/或命令重定向到层次型存储器组件104。例如,MUX 109可将从输入/输出(I/O)装置(例如,本文中在图2和3所示的I/O装置210/310)到地址寄存器中的一个(例如,地址寄存器106-N,其可以是层次型存储器控制器113的BAR4区,如下文所描述)的对应于存取请求的传入消息重定向到读取缓冲器103和/或写入缓冲器105。
另外,MUX 109可重定向由层次型存储器组件104接收的请求(例如,读取请求、写入请求)。在一些实施例中,请求可由层次型存储器组件104从超管理器(例如,本文中在图3所示出的超管理器312)、裸金属服务器或以通信方式耦合到层次型存储器组件104的主机计算装置接收。此类请求可由MUX 109从读取缓冲器103、写入缓冲器105和/或I/O存取组件107重定向到地址寄存器(例如,地址寄存器106-2,其可以是层次型存储器控制器113的BAR2区,如下文所描述)。
MUX 109可重定向此类请求,作为确定要存取的地址寄存器106中的地址的操作的部分。在一些实施例中,MUX 109可重定向此类请求,作为确定要响应于超管理器中断的确证(例如,由中断组件115产生的确证到耦合到层次型存储器组件104的超管理器的中断)而存取的地址寄存器中的地址的操作的部分。
响应于确定请求对应于数据(例如,与写入到层次型存储器组件104外部的某一位置(例如,持久存储器装置,如本文中在图2和3所示的持久存储器装置216/316)的地址相关联的数据),MUX 109可促进数据检索、数据到写入缓冲器105的转移和/或数据到层次型存储器组件104外部的所述位置的转移。响应于确定请求对应于从层次型存储器组件104外部的某一位置(例如,持久存储器装置)读取的数据,MUX 109可促进数据检索、数据到读取缓冲器103的转移,和/或数据或与数据相关联的地址信息到层次型存储器组件104内部的某一位置(例如,地址寄存器106)的转移。
作为非限制性实例,如果层次型存储器组件104从I/O装置接收到读取请求,那么MUX 109可促进通过选择适当的消息从层次型存储器组件104发送而经由超管理器从持久存储器装置检索数据。例如,MUX 109可促进使用中断组件115产生中断,使中断在超管理器上确证,将从持久存储器装置接收的数据缓冲到读取缓冲器103中,和/或利用读取请求已实现的指示响应I/O装置。在层次型存储器组件104从I/O装置接收写入请求的非限制性实例中,MUX 109可促进通过选择适当的消息从层次型存储器组件104发送而经由超管理器将数据转移到持久存储器装置。例如,MUX 109可促进使用中断组件115产生中断,使中断在超管理器上确证,将要转移到持久存储器装置的数据缓冲到写入缓冲器105中,和/或利用写入请求已实现的指示响应I/O装置。
状态机111可包含一或多个处理装置、电路组件和/或逻辑,它们配置成在输入上执行操作并产生输出。在一些实施例中,状态机111可以是有限状态机(FSM)或硬件状态机,其可配置成接收不断改变的输入并基于接收到的输入产生所得输出。例如,状态机111可向和从存储器存取复用器109转移存取信息(例如,“I/O ACCESS INFO”),并且向和从层次型存储器控制器113转移中断配置信息(例如,“INTERRUPT CONFIG”)和/或中断请求消息(例如,“INTERRUPT REQUEST”)。在一些实施例中,状态机111可进一步向和从存储器存取复用器109转移控制消息(例如,“MUX CTRL”)。
ACCESS INFO消息可包含对应于从层次型存储器组件104外部的I/O装置接收的数据存取请求的信息。在一些实施例中,ACCESS INFO可包含对应于要存储在持久存储器装置中的数据的逻辑寻址信息或对应于要从持久存储器装置检索的数据的寻址信息。
INTERRUPT CONFIG消息可由状态机111在层次型存储器控制器113上确证,以将适当的中断消息配置成在层次型存储器组件104外部确证。例如,当作为实现经重定向读取或写入请求的部分,层次型存储器组件104在耦合到层次型存储器组件104上的超管理器确证中断时,INTERRUPT CONFIG消息可由状态机111产生,以基于所述操作是从持久存储器装置检索数据的操作还是将数据写入到持久存储器装置的操作来产生适当的中断消息。
INTERRUPT REQUEST消息可由状态机111产生并在中断组件115上确证,使得中断消息在超管理器(或裸金属服务器或其它计算装置)上确证。如本文中更详细描述,中断115可在超管理器上确证,使得超管理器优先进行数据检索或数据到持久存储器装置的写入作为层次型存储器系统的操作的部分。
MUX CTRL消息可由状态机111产生并在MUX 109上确证以控制MUX 109的操作。在一些实施例中,作为执行上文所描述的MUX 109操作的部分,MUX CTRL消息可在MUX 109上由状态机111确证(或在状态机111上由MUX 109确证)。
层次型存储器控制器113可包含核心,例如集成电路、芯片、芯片上系统或其组合。在一些实施例中,层次型存储器控制器113可以是外围组件互连高速(PCIe)核心。如本文中所使用,“核心”是指接收指令并基于接收到的指令执行任务或动作的逻辑、处理器和/或协同处理器的可重用单元。
层次型存储器控制器113可包含地址寄存器106-1到106-N和/或中断组件115。地址寄存器106-1到106-N可以是基地址寄存器(BAR),它们可存储供逻辑电路系统104或计算系统(例如,本文中在图2和3所示的计算系统201/301)使用的存储器地址。地址寄存器中的至少一个(例如,地址寄存器106-1)可存储提供从外部位置(例如,图3所示的超管理器312)对逻辑电路系统104的内部寄存器的存取的存储器地址。
可以使用另一地址寄存器(例如,地址寄存器106-2)存储对应于中断控制的地址,如本文中更详细描述。在一些实施例中,地址寄存器106-2可映射直接存储器存取(DMA)读取和DMA写入控制和/或状态寄存器。例如,地址寄存器106-2可包含对应于用于DMA命令链的描述符和/或控制位的地址,所述DMA命令链可包含可作为层次型存储器系统的操作的部分而确证到超管理器的一或多个中断消息的产生,如本文中结合图3所描述。
又一地址寄存器(例如,地址寄存器106-3)可存储对应于针对和来自超管理器(例如,本文中在图3所示的超管理器312)的存取的地址。在一些实施例中,针对和/或来自超管理器的存取可经由与层次型存储器组件104相关联的先进可扩展接口(AXI)DMA提供。在一些实施例中,地址寄存器可将对应于经由层次型存储器组件104的DMA(例如,AXI DMA)转移的数据的地址映射到层次型存储器组件104外部的位置。
在一些实施例中,至少一个地址寄存器(例如,地址寄存器106-N)可存储对应于I/O装置(例如,图2所示的I/O装置210)对逻辑电路系统104的存取的地址。地址寄存器106-N可存储被与层次型存储器组件104相关联的DMA组件绕过的地址。可提供地址寄存器106-N,使得映射到其上的地址不被逻辑电路系统104的物理存储器位置“备份”。也就是说,在一些实施例中,层次型存储器组件104可配置有存储对应于存储在持久存储器装置(例如,图2所示的持久存储器装置216)中的数据但不对应于由层次型存储器组件104存储的数据的地址的地址空间。例如,地址寄存器106-N可配置为可存储对应于其中存储数据的物理存储器位置(例如,在存储器装置中)的逻辑地址的虚拟地址空间。
在一些实施例中,地址寄存器106-N可包含一定数量的对应于存储器装置(例如,本文中在图2和3所示的持久存储器装置216/316)的大小的地址空间。例如,如果存储器装置含有一个太字节的存储,那么地址寄存器106-N可配置成具有可包含一个太字节的地址空间的地址空间。但是,如上文所描述,地址寄存器106-N实际不包含一个太字节的存储,而是配置成看起来具有一个太字节的存储空间。
尽管图1中未明确展示,但是层次型存储器组件104可耦合到主机计算系统。主机计算系统可包含系统主板和/或背板,并且可包含数个处理资源(例如,一或多个处理器、微处理器或某一其它类型的控制电路系统)。举例来说,主机和设备100可以是服务器系统和/或高性能计算(HPC)系统和/或其部分。在一些实施例中,计算系统可具有冯诺伊曼架构,但是,本公开的实施例可以在非冯诺伊曼架构中实施,所述非冯诺伊曼架构可能不包含通常与冯诺伊曼架构相关联的一或多个组件(例如,CPU、ALU等)。
图2是根据本公开的数个实施例的呈包含层次型存储器组件204(例如,逻辑电路系统)的计算系统201形式的功能框图。如图2所示,计算系统201可包含层次型存储器组件204,其可类似于图1所示的层次型存储器组件104。另外,计算系统201可包含输入/输出(I/O)装置210、持久存储器装置216、非持久存储器装置230、中间存储器组件220和存储器管理组件214。逻辑电路系统204、I/O装置210和持久存储器装置216、非持久存储器装置230和存储器管理组件214之间的通信可经由接口208来促进。
I/O装置210可以是配置成经由物理地址和/或虚拟机物理地址提供直接存储器存取的装置。在一些实施例中,I/O装置210可以是网络接口卡(NIC)或网络接口控制器、存储装置、图形渲染装置或其它I/O装置。I/O装置210可以是物理I/O装置,或I/O装置210可以是虚拟化I/O装置210。例如,在一些实施例中,I/O装置210可以是经由总线或诸如PCIe接口或其它合适接口的接口物理地耦合到计算系统的物理卡。在I/O装置210是虚拟化I/O装置210的实施例中,虚拟化I/O装置210可以分布式地提供I/O功能。
持久存储器装置216可包含数个存储器单元阵列。例如,阵列可以是具有NAND架构的快闪阵列。但是,实施例不限于特定类型的存储器阵列或阵列架构。举例来说,存储器单元可以分组成包含数个物理页的数个块。在存储器单元的一个平面中可包含数个块,且阵列可包含数个平面。
持久存储器装置216可包含易失性存储器和/或非易失性存储器。在数个实施例中,持久存储器装置216可包含多芯片装置。多芯片装置可包含数个不同存储器类型和/或存储器模块。例如,存储器系统可在任何类型的模块上包含非易失性或易失性存储器。在持久存储器装置216包含非易失性存储器的实施例中,持久存储器装置216可以是快闪存储器装置,例如NAND或NOR快闪存储器装置。
但是,实施例不限于此,并且持久存储器装置216可包含其它非易失性存储器装置,例如非易失性随机存取存储器装置(例如,NVRAM、ReRAM、FeRAM、MRAM、PCM)、例如电阻可变存储器装置(例如,电阻和/或相变存储器装置,如3D交叉点(3D XP)存储器装置)的“新兴”存储器装置、包含自选存储器(SSM)单元阵列等的存储器装置,或其组合。电阻和/或相变非易失性存储器阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,相比于许多基于快闪的存储器,电阻和/或相变存储器装置可执行原位写入操作,其中非易失性存储器单元可在先前不擦除非易失性存储器单元的情况下进行编程。相比于基于快闪的存储器,自选存储器单元可包含具有单个硫族化物材料充当存储器单元的开关和存储元件两者的存储器单元。
持久存储器装置216可为计算系统201提供存储容量,因此可用作计算系统201的额外存储器或存储装置、计算系统201的主存储器或其组合。但是,实施例不限于特定类型的存储器装置,并且持久存储器装置216可包含RAM、ROM、SRAM DRAM、SDRAM、PCRAM、RRAM和快闪存储器等等。此外,尽管在图2中示出单个持久存储器装置216,但是实施例不限于此,并且计算系统201可包含一或多个持久存储器装置216,其中每个持久存储器装置可以具有也可以不具有与其相关联的相同架构。作为非限制性实例,在一些实施例中,持久存储器装置216可包括两个具有不同架构的离散存储器装置,例如NAND存储器装置和电阻可变存储器装置。
非持久存储器装置230可包含易失性存储器,例如易失性存储器单元阵列。在数个实施例中,非持久存储器装置230可包含多芯片装置。多芯片装置可包含数个不同存储器类型和/或存储器模块。在一些实施例中,非持久存储器装置230可用作计算系统201的主存储器。例如,非持久存储器装置230可以是动态随机存取(DRAM)存储器装置,用于向计算系统230提供主存储器。但是,实施例不限于包括DRAM存储器装置的非持久存储器装置230,在一些实施例中,非持久存储器装置230可包含其它非持久存储器装置,例如RAM、SRAM DRAM、SDRAM、PCRAM和/或RRAM等等。
作为计算系统201的操作的部分,非持久存储器装置230可存储可由例如主机计算装置请求的数据。例如,当计算系统201是多用户网络的部分时,非持久存储器装置230可存储在计算系统201的操作期间可在主机计算装置(例如,部署在多用户网络中的虚拟机)之间转移的数据。
在一些方法中,例如非持久存储器装置230的非持久存储器可存储主机(例如,部署在多用户网络中的虚拟机)所存取的所有用户数据。例如,由于非持久存储器的速度,一些方法依赖于非持久存储器为部署在多用户网络中的虚拟机提供存储器资源。但是,在此类方法中,由于非持久存储器通常比持久存储器(例如,持久存储器装置216)更昂贵,所以成本可能会成为一个问题。
相比之下,如下文更详细地描述,本文中的实施例可允许存储在非持久存储器装置230中的至少一些数据存储在持久存储器装置216中。这可允许以低于依赖非持久存储器进行用户数据存储的方法的成本向多用户网络等计算系统201提供给额外的存储器资源。
计算系统201可包含存储器管理组件214,其可以通信方式耦合到非持久存储器装置230和/或接口208。在一些实施例中,存储器管理组件214可以是可以通信方式将例如接口208的直接存储器存取总线耦合到非持久存储器装置230的输入/输出存储器管理单元(IO MMU)。但是,实施例不限于此,并且存储器管理组件214可以是用于促进接口208和非持久存储器装置230之间的通信的其它类型的存储器管理硬件。
存储器管理组件214可将装置可见虚拟地址映射到物理地址。例如,存储器管理组件214可将与I/O装置210相关联的虚拟地址映射到非持久存储器装置230和/或持久存储器装置216中的物理地址。在一些实施例中,映射与I/O装置210相关联的虚拟条目可通过本文中在图1所示的读取缓冲器、写入缓冲器和/或I/O存取缓冲器来促进。
在一些实施例中,存储器管理组件214可读取与I/O装置210相关联的虚拟地址,和/或将虚拟地址映射到非持久存储器装置230和/或持久存储器装置216中的物理地址或层次型存储器组件204中的地址。在存储器管理组件214读取与I/O装置210相关联的虚拟地址和/或将虚拟地址映射到非持久存储器装置230和持久存储器装置216中的物理地址的实施例中,存储器管理组件214可基本上并行地读取和/或映射非持久存储器装置230和持久存储器装置216中的地址。在存储器管理组件214将虚拟I/O装置210地址映射到层次型存储器组件204中的地址的实施例中,存储器管理组件214可将从I/O装置210接收的读取请求(或写入请求)重定向到层次型存储器组件204,其可在层次型存储器组件204的地址寄存器(例如,地址寄存器206-N)中存储与I/O装置210读取或写入请求相关联的虚拟地址信息。在一些实施例中,地址寄存器206-N可以是层次型存储器组件204的特定基地址寄存器,例如BAR4地址寄存器。
经重定向读取(或写入)请求可经由接口208从存储器管理组件214转移到层次型存储器组件204。在一些实施例中,接口208可以是PCIe接口,因此可根据PCIe协议在存储器管理组件214和层次型存储器组件204之间传递信息。但是,实施例不限于此,并且在一些实施例中,接口208可以是根据另一合适的协议运作的接口或总线。
在虚拟NIC地址存储在层次型存储器组件204中之后,对应于虚拟NIC地址的数据可以写入到持久存储器装置216。例如,对应于存储在层次型存储器组件204中的虚拟NIC地址的数据可基本上并行地存储在持久存储器装置216和非持久存储器装置230的物理地址位置中。在一些实施例中,向和/或从持久存储器装置216转移数据可通过超管理器来促进,如本文中结合图3-5所描述。
当数据被例如主机计算装置(例如,部署在计算系统201中的虚拟机)请求时,请求可通过存储器管理组件214从I/O装置210重定向到层次型存储器组件204。因为对应于持久存储器装置216中数据的物理位置的虚拟NIC地址存储在层次型存储器组件204的地址寄存器206-N中,层次型存储器组件204可结合超管理器促进从持久存储器装置216检索数据,如本文中结合图3-5更详细描述。
在一些实施例中,当已存储在持久存储器装置216中的数据转出持久存储器装置216时(例如,当已存储在持久存储器装置216中的数据被主机计算装置请求时),数据可转移到中间存储器组件220和/或非持久存储器装置230,然后再提供给主机计算装置。例如,因为转移到主机计算装置的数据可以确定性方式(例如,经由DDR接口)转移,所以在数据请求实现之前,数据可以临时转移到使用DDR总线操作的存储器,例如中间存储器组件220和/或非持久存储器装置230。
图3是根据本公开的数个实施例的呈包含层次型存储器组件的计算系统形式的另一功能框图。如图3中所示,计算系统301可包含层次型存储器组件304,其可类似于图1和2中所示的层次型存储器组件104/204。另外,计算系统301可包含I/O装置310、持久存储器装置316、非持久存储器装置330、中间存储器组件320、存储器管理组件314和超管理器312。
在一些实施例中,计算系统301可以是多用户网络,例如软件定义的数据中心、云计算环境等。在此类实施例中,计算系统可配置成具有一或多个虚拟机317在其上运行。例如,在一些实施例中,一或多个虚拟机317可部署在超管理器312上,并且可由多用户网络的用户存取。
I/O装置310、持久存储器装置316、非持久存储器装置330、中间存储器组件320和存储器管理组件314可类似于图2所示的I/O装置210、持久存储器装置216、非持久存储器装置230、中间存储器组件220和存储器管理组件214。逻辑电路系统304、I/O装置310和持久存储器装置316、非持久存储器装置330、超管理器312和存储器管理组件314之间的通信可经由接口308促进,所述接口可类似于图2所示的接口208。
如上文结合图2所描述,存储器管理组件314可使与I/O装置310相关联的读取请求或写入请求重定向到层次型存储器组件304。层次型存储器组件304可产生和/或存储对应于所请求数据的逻辑地址。如上文所描述,层次型存储器组件304可在基地址寄存器中存储对应于所请求数据的逻辑地址,所述基地址寄存器例如层次型存储器组件304的地址寄存器306-N。
如图3中所示,超管理器312可经由接口308与层次型存储器组件304和/或I/O装置310通信。超管理器312可经由层次型存储器组件304的NIC存取组件(例如,图1所示的NIC存取组件107)在层次型存储器组件304之间传输数据。另外,超管理器312可与持久存储器装置316、非持久存储器装置330、中间存储器组件320和存储器管理组件314通信。超管理器可配置成执行专用指令以执行本文所述的操作和/或任务。
例如,超管理器312可执行指令以监测数据业务和数据业务模式,从而确定数据是否应该存储在非持久存储器装置330中或者数据是否应该转移到持久存储器装置316。也就是说,在一些实施例中,超管理器312可执行指令以随时间推移学习用户数据请求模式,并基于模式在非持久存储器装置330或持久存储器装置316中选择性地存储数据部分。这可允许存取更频繁的数据存储在非持久存储器装置330中,而存取较不频繁的数据存储在持久存储器装置316中。
因为用户存取最近使用或查看的数据的频率可能高于最近使用或查看次数较少的数据,所以超管理器可执行专用指令,以使最近使用或查看更少的数据存储在持久存储器装置316中,和/或使最近存取或查看更多的数据存储在非持久存储器装置330中。在非限制性实例中,用户在社交媒体上查看最近(例如,一周内等)拍摄的照片可能比较早(例如,一个月前、一年前等)拍摄的照片更频繁。基于此信息,超管理器312可执行专用指令,以使最近查看或拍摄更少的照片存储在持久存储器装置316中,由此减少存储在非持久存储器装置330中的数据量。这可减少需要向计算系统301提供的非持久存储器的总量,由此减少成本并允许更多用户存取非持久存储器装置330。
在操作中,计算系统301可配置成拦截来自I/O装置310的数据请求,并将请求重定向到层次型存储器组件304。在一些实施例中,超管理器312可控制对应于数据请求的数据是存储在非持久存储器装置330中还是存储在持久存储器装置316中(或者是从非持久存储器装置330检索还是从持久存储器装置316检索)。例如,超管理器312可执行指令以选择性地控制数据是存储在持久存储器装置316中还是存储在非持久存储器装置330中(或者是从持久存储器装置316检索还是从非持久存储器装置330检索)。
作为控制数据是存储在持久存储器装置316中还是存储在非持久存储器装置330中(或者是从持久存储器装置316检索还是从非持久存储器装置330检索)的部分,超管理器312可使存储器管理组件314映射与要重定向到层次型存储器组件304并存储在层次型存储器组件304的地址寄存器306中的数据相关联的逻辑地址。例如,超管理器312可执行指令以控制涉及要经由存储器管理组件314选择性地重定向到层次型存储器组件304的数据的读取和写入请求。
存储器管理组件314可将连续虚拟地址映射到基础分段物理地址。因此,在一些实施例中,存储器管理组件314可允许虚拟地址映射到物理地址,而不需要物理地址是连续的。此外,在一些实施例中,存储器管理组件314可允许不支持长度足以寻址其对应的物理存储器空间的存储器地址的装置在存储器管理组件314中寻址。
由于与持久存储器装置316相关联的数据转移具有非确定性,所以在一些实施例中,层次型存储器组件304可配置成通知计算系统301向或从持久存储器装置316转移数据可能发生延迟。作为初始化延迟的部分,当数据请求重定向到层次型存储器组件304时,层次型存储器组件304可为计算系统301提供页面错误处理。在一些实施例中,层次型存储器组件304可产生和确证中断到超管理器312,以发起将数据转入或转出持久存储器装置316和非持久存储器装置330的操作。例如,由于与持久存储器装置316相关联的数据检索和存储具有非确定性,所以当请求转移存储在持久存储器装置316或非持久存储器装置330中的数据时,层次型存储器组件304可产生超管理器中断315。
响应于由层次型存储器组件304产生的页面错误中断,超管理器312可从层次型存储器组件304检索对应于数据的信息。作为补充或替代,超管理器312可响应于由层次型存储器组件304产生的页面错误中断而从持久存储器装置316检索数据。例如,超管理器312可从层次型存储器组件接收NIC存取数据,其可包含对应于存储在层次型存储器组件304的地址寄存器306中的数据的逻辑到物理地址映射。
一旦数据存储在持久存储器装置316中,非持久存储器装置330的一部分(例如,页、块等)就可以标记为不可被层次型存储器组件304存取,使得计算系统301不去尝试从非持久存储器装置330存取数据。这可允许数据请求因为页面错误而被拦截,当已存储在持久存储器装置316中的数据被I/O装置310请求时,页面错误可由层次型存储器组件304产生并确证到超管理器312。
相比于其中响应于应用请求存取不由存储器管理单元(例如,存储器管理组件314)映射的存储器页而发生页面错误异常的方法,在本公开的实施例中,上文所描述的页面错误可由层次型存储器组件304响应于数据在存储器管理组件314中映射到层次型存储器组件304而产生,所述层次型存储器组件又将数据映射到持久存储器装置316。
在一些实施例中,中间存储器组件320可用于响应于由I/O装置310发起的数据请求而缓冲存储在持久存储器装置316中的数据。相比于可经由PCIe接口传递数据的持久存储器装置316,中间存储器组件320可采用DDR接口来传递数据。因此,在一些实施例中,中间存储器组件320可以确定性方式操作。例如,在一些实施例中,所请求的存储在持久存储器装置316中的数据可从持久存储器装置316临时转移到中间存储器组件320,随后经由将中间存储器组件320耦合到I/O装置310的DDR接口转移到主机计算装置。
在一些实施例中,中间存储器组件可包括部署在计算系统301中的离散存储器组件(例如,SRAM高速缓存)。但是,实施例不限于此,并且在一些实施例中,中间存储器组件320可以是非持久存储器装置330中可分配用于响应于数据请求而从持久存储器装置316转移数据的部分。
在非限制性实例中,存储器管理电路系统(例如,存储器管理组件314)可耦合到逻辑电路系统(例如,层次型存储器组件304)。存储器管理电路系统可配置成接收将具有与其相关联的对应虚拟网络接口控制器地址的数据写入到持久存储器装置(例如,持久存储器装置316)和非持久存储器装置(例如,非持久存储器装置330)的请求。存储器管理电路系统可进一步配置成至少部分地基于数据特性重定向将数据写入到逻辑电路系统的请求。数据特性可包含数据的请求或存取频率、自数据上一次被存取或被请求以来所经过的时间量、数据的类型(例如,数据是否对应于特定文件类型,如照片、文档、音频文件、应用程序文件等等)等等。
在一些实施例中,存储器管理电路系统可配置成基于由超管理器312产生的命令和/或由其执行的指令重定向写入逻辑电路系统的请求。例如,如上文所描述,超管理器312可执行控制对应于数据请求(例如,由I/O装置310产生的数据请求)的数据是存储在持久存储器装置316中还是存储在非持久存储器装置330中的指令。作为数据请求的部分,逻辑电路系统可将由超管理器312产生的命令转移到持久存储器316。
在一些实施例中,超管理器312可通过将地址(例如,逻辑地址)写入到存储器管理电路系统来促进请求的重定向。例如,如果超管理器312确定对应于特定数据请求的数据将存储在持久存储器装置316中(或从其检索),那么超管理器312可使对应于请求重定向的地址由存储器管理电路系统存储,使得数据请求重定向到逻辑电路系统。
在接收到经重定向请求后,逻辑电路系统可配置成响应于接收到经重定向请求而产生对应于数据的地址,和/或将地址存储在逻辑电路系统内的地址寄存器306中。在一些实施例中,逻辑电路系统可配置成基于接收到经重定向请求,使指示数据不可被非持久存储器装置330存取的指示与数据相关联。在一些实施例中,在接收到经重定向请求后,逻辑电路系统可配置成同时(例如,基本上并行地)将对应于存储在地址寄存器306内的地址的数据写入到持久存储器装置316和非持久存储器装置330。可以在未接收不同于存取数据的请求的命令的情况下写入数据。例如,数据副本可存储在非持久存储器装置330内,并且响应于存取数据的请求,逻辑电路系统可配置成将地址寄存器306内的地址写入到非持久存储器装置330。
逻辑电路系统可配置成至少部分地基于接收到经重定向请求而使数据写入到持久存储器装置(例如,持久存储器装置316)。在一些实施例中,逻辑电路系统可配置成产生中断信号,并确证中断信号到耦合到逻辑电路系统的超管理器(例如,超管理器312),作为使数据写入到持久存储器装置316的部分。如上文所描述,持久存储器装置316可包括3D XP存储器装置、自选存储器单元阵列、NAND存储器装置或其它合适的持久存储器,或其组合。
在一些实施例中,逻辑电路系统可配置成从存储器管理电路系统接收从持久存储器装置316检索数据的经重定向请求,将从持久存储器装置316检索数据的请求转移到耦合到逻辑电路系统的超管理器312,和/或确证中断信号到超管理器312作为从持久存储器装置316检索数据的请求的部分。超管理器312可配置成从持久存储器装置316检索数据和/或将数据转移到非持久存储器装置330。一旦数据从持久存储器装置316检索到,超管理器312就可配置成使与数据相关联的经更新地址转移到存储器管理电路系统314。在一些实施例中,非持久存储器装置330可通过在新数据或地址写入到非持久存储器装置330中时删除不重要的地址信息来增加计算存储器资源。
在另一非限制性实例中,计算系统301可以是多用户网络,例如软件定义的数据中心、云计算环境等。多用户网络可包含计算资源池,包含非持久存储器装置330和持久存储器装置316。多用户网络可进一步包含耦合到包括多个地址寄存器306的逻辑电路系统(例如,层次型存储器组件304)的接口308。在一些实施例中,多用户网络可进一步包含耦合到接口308的超管理器312。
超管理器312可配置成接收存取对应于非持久存储器组件330的数据的请求,确定数据存储在持久存储器装置316中,并使存取数据的请求重定向到逻辑电路系统。存取数据的请求可以是请求从持久存储器装置316或非持久存储器装置330读取数据或请求将数据写入到持久存储器装置316或非持久存储器装置330。存取地址信息的请求可以是将地址信息写入到持久存储器装置316和非持久存储器装置330的请求。
在一些实施例中,逻辑电路系统可配置成响应于确定数据存储在持久存储器装置316中,将从持久存储器装置316存取数据的请求转移到超管理器312。逻辑电路系统可配置成确证中断到超管理器作为针对超管理器312的存取对应于持久存储器装置316的数据的请求的部分。
超管理器312可配置成基于从逻辑电路系统接收到的请求而使数据使用持久存储器装置316进行存取。如上文所描述,持久存储器装置316可包括电阻可变存储器装置,例如电阻性存储器、相变存储器、自选存储器单元阵列或其组合。在一些实施例中,超管理器312可配置成使数据转移到非持久存储器装置330作为使数据使用持久存储器装置316进行存取的部分。
超管理器312可进一步配置成响应于使数据使用持久存储器装置316进行存取,更新存储于与多用户网络相关联的存储器管理组件314中的信息。例如,超管理器312可配置成使对应于数据的经更新虚拟地址存储于存储器管理组件314中。
在一些实施例中,多用户网络可包含耦合到逻辑电路系统的I/O装置310。在此类实施例中,逻辑电路系统可配置成响应于超管理器312使数据使用持久存储器装置316进行存取来向I/O装置310发送通知。在一些实施例中,地址信息可写入到持久存储器装置316和非持久存储器装置330,并且在不通知I/O装置310的情况下写入到主机计算装置或逻辑电路系统。在一些实施例中,超管理器312也有可能无法区分地址信息的位置。
图4是根据本公开的数个实施例的表示数据读取操作的流程图440。在框441处,例如图2和3中所示的I/O装置210/310的I/O装置可使用对应于数据请求的地址发起读取操作。在一些实施例中,地址可以是物理地址,例如虚拟机物理地址。数据请求可包含读取与对应于其中存储数据的逻辑地址的特定地址相关联的数据的请求。物理地址可对应于持久存储器装置(例如,本文在图2和3中所示的持久存储器装置216/316)中的位置和非持久存储器装置(例如,本文在图2和3中所示的非持久存储器装置230/330)中的位置。
存储在非持久存储器装置中的数据可以被检索和实现。如果数据存储在持久存储器装置中,那么在框442处,存储器管理组件(例如,本文在图2和3中所示的存储器管理组件214/314)可将数据请求重定向到层次型存储器组件(例如,本文在图1-3中所示的层次型存储器组件104/204/304)。如上文所描述,数据请求可基于超管理器(例如,本文在图3中所示的超管理器312)的信息(例如,由其执行的命令或指令)来重定向。
在框443处,层次型存储器组件可接收对应于数据请求的地址寄存器存取信息。在一些实施例中,地址寄存器存取信息可对应于地址寄存器(例如,本文在图1-3中所示的地址寄存器106/206/306)中的位置。例如,地址寄存器存取信息可对应于层次型存储器组件中的地址寄存器中的位置,其中逻辑地址对应于持久存储器装置和非持久存储器装置中存储数据的物理地址。
在框444处,层次型存储器组件可产生超管理器中断。例如,如上文结合图3所描述,一旦层次型存储器组件从存储器管理组件接收到经重定向数据请求,层次型存储器组件就可产生中断,并在超管理器(例如,本文在图3中所示的超管理器312)上确证中断。在一些实施例中,中断可以是在超管理器上确证以通知超管理器事件需要立即关注的信号。例如,中断信号可在超管理器上确证,使得超管理器中断当前正在执行的指令,转而执行与框445处搜集地址寄存器存取信息相关联的指令。
在框445处,超管理器可从层次型存储器组件搜集地址寄存器存取信息。例如,超管理器可从层次型存储器组件接收对应于所请求数据的物理地址的逻辑地址信息。逻辑地址信息可在层次型存储器组件中存储在层次型存储器组件的地址寄存器(例如,基地址寄存器)中,例如本文在图1-3中所示的地址寄存器106/206/306。
在框446处,超管理器可确定所请求数据的物理位置。例如,基于地址寄存器存取信息并且因此基于与从层次型存储器组件搜集的数据相关联的逻辑地址,超管理器可确定存储在持久存储器装置中的数据的物理位置。
在框447处,超管理器可读取对应于地址寄存器存取信息的数据。也就是说,在一些实施例中,超管理器可从持久存储器装置读取(例如,检索)所请求数据。
在框448处,超管理器可使数据转移到非持久存储器装置。在一些实施例中,非持久存储器装置可以是本文在图2和3中所示的非持久存储器装置230/330,但是实施例不限于此,并且在一些实施例中,超管理器可使数据转移到中间存储器组件,例如本文在图2和3中所示的中间存储器组件220/320。
在框449处,超管理器可将对应于所请求数据的I/O装置数据写入到层次型存储器组件。I/O装置数据可存储在层次型存储器组件的地址寄存器中,如上文所描述。
在框450处,层次型存储器组件可完成数据读取事务。例如,层次型存储器组件可将命令转移到I/O装置以通知I/O装置数据读取请求已经实现,并且数据将经由确定性接口转移以实现数据读取请求。
在框451处,超管理器可更新存储器管理组件以将I/O装置地址定向到非持久存储器装置。例如,因为数据已在框450处从持久存储器装置转移到非持久存储器装置(例如,非持久存储器装置和/或中间存储器组件),所以超管理器可以更新存储器管理组件,使得对应于所请求数据的地址映射到非持久存储器装置和持久存储器装置。在一些实施例中,地址可以是物理地址,例如虚拟机物理地址。
在框452处,超管理器可记录哪一存储器用于满足数据请求。例如,超管理器可记录在从I/O装置接收到数据请求时数据已存储在持久存储器装置中。在一些实施例中,超管理器可使用随时间变化的信息来选择性地将数据写入定向到持久存储器装置或非持久存储器装置。
图5是根据本公开的数个实施例的表示数据写入操作的流程图560。在框561处,例如图2和3中所示的I/O装置210/310的I/O装置可使用对应于数据写入请求的地址发起写入操作。地址可以是物理地址,例如虚拟机物理地址。数据写入请求可包含写入与对应于其中将存储数据的逻辑地址的特定虚拟地址相关联的数据的请求。物理地址可对应于持久存储器装置(例如,本文在图2和3中所示的持久存储器装置216/316)中的位置或非持久存储器装置(例如,本文在图2和3中所示的非持久存储器装置230/330)中的位置。
如果数据将存储在非持久存储器装置中,那么数据可写入到非持久存储器装置,数据写入请求可实现。但是,如果数据将存储在持久存储器装置中,那么在框442处,存储器管理组件(例如,本文在图2和3中所示的存储器管理组件214/314)可将数据写入请求重定向到层次型存储器组件(例如,本文在图1-3中所示的层次型存储器组件104/204/304)。如上文所描述,数据请求可基于超管理器(例如,本文在图3中所示的超管理器312)的信息(例如,由其执行的命令或指令)来重定向。
在框563处,层次型存储器组件可接收对应于数据写入请求的地址寄存器存取信息。在一些实施例中,地址寄存器存取信息可对应于地址寄存器(例如,本文在图1-3中所示的地址寄存器106/206/306)中的位置。例如,地址寄存器存取信息可对应于层次型存储器组件中的地址寄存器中的位置,其中逻辑地址对应于持久存储器装置中将存储数据的物理地址。
在框564处,层次型存储器组件可产生超管理器中断。例如,如上文结合图3所描述,一旦层次型存储器组件从存储器管理组件接收到经重定向数据写入请求,层次型存储器组件就可产生中断并在超管理器(例如,本文在图3中所示的超管理器312)上确证中断。
在框565处,超管理器可从层次型存储器组件搜集地址寄存器存取信息。例如,超管理器可从层次型存储器组件接收对应于其中将存储数据的物理地址的逻辑地址信息。
在框566处,超管理器可任选地将数据写入(或使数据写入)到持久存储器装置。例如,基于经重定向数据写入请求,超管理器可确定数据将写入到持久存储器装置,并使数据写入到持久存储器装置。在其中框566任选执行的实施例中,数据可在中间写入到非持久存储器装置。另外,对应于数据的I/O装置数据可任选地写入到非持久存储器装置,作为将数据写入到非持久存储器装置的部分。
任选地,在框567处,超管理器可将数据写入(或使数据写入)到非持久存储器装置。在一些实施例中,超管理器可将数据写入到非持久存储器装置,使得在接收到对应于数据的读取请求的情况下,可以经由确定性接口或总线检索数据。
在框568处,超管理器可更新存储器管理组件以将I/O装置虚拟地址定向到非持久存储器装置。例如,如果在框567处数据写入到非持久存储器装置,那么在框568处,超管理器可更新由存储器管理组件存储的虚拟地址,使得与数据相关联且由存储器管理组件存储的虚拟地址映射到非持久存储器装置中存储数据的物理地址。
图6是根据本公开的数个实施例的表示层次型存储器系统的实例方法670的流程图。在框672处,方法670可包含经由输入/输出(I/O)装置接收在持久存储器装置和非持久存储器装置中存储数据的请求。I/O装置可类似于本文在图2和3中所示的I/O装置210/310。例如,在一些实施例中,I/O装置可以是物理网络接口卡、虚拟网络接口卡,或其它包含直接存储器存取能力的I/O装置。
在框674处,方法670可包含响应于确定存储数据的请求对应于层次型存储器操作的执行,将请求重定向到逻辑电路系统。在一些实施例中,超管理器可使对应于存储在地址寄存器内的逻辑地址信息的数据同时存储在持久存储器装置和非持久存储器装置内。存储数据可基于层次型存储器组件所进行的活动。在一个实例中,存储数据可基于从层次型存储器组件接收的请求。逻辑电路系统可类似于本文在图1-3中所示的层次型存储器组件104/204/304。
在框676处,方法670可进一步包含响应于接收到经重定向的存储数据的请求,在与逻辑电路系统相关联的地址寄存器中存储对应于数据的逻辑地址信息。如上文所描述,地址寄存器可以是层次型存储器组件的基地址寄存器(例如,BAR4)。在一些实施例中,超管理器可使对应于存储在持久存储器装置和非持久存储器装置内的数据的逻辑地址信息存储在地址寄存器内。存储数据可基于从层次型存储器组件接收的请求。
方法670可包含基于接收到请求,通过逻辑电路系统请求存储在持久存储器装置中的数据,和/或基于逻辑电路系统的请求,将数据转移到非持久存储器装置、缓冲器或这两者。在一些实施例中,在框677处,方法670可包含通过逻辑电路系统在以通信方式耦合到逻辑电路系统的超管理器上确证中断信号,所述中断信号指示发起由超管理器执行的操作以控制逻辑电路系统对数据的存取。非持久存储器装置可类似于本文在图2和3中所示的非持久存储器装置230/330,而持久存储器装置可类似于本文在图2和3中所示的持久存储器装置216/316。
在一些实施例中,在框678处,方法670可包含至少部分地基于接收到经重定向请求,基本上并行地将对应于存储在基地址寄存器中的地址信息的数据写入到持久存储器装置和非持久存储器装置。数据存储请求可基于由超管理器执行的指令而重定向到层次型存储器组件。将数据写入到持久存储器装置和非持久存储器装置的请求可转移到超管理器,并且在一些实施例中,基于从层次型存储器组件接收的请求,超管理器可使数据写入到持久存储器装置和非持久存储器装置。基于经重定向请求,超管理器可将对应于存储在地址寄存器内的逻辑地址的数据写入到持久存储器装置和非持久存储器装置。数据可基本上并行地写入到持久存储器装置和非持久存储器装置。
图7是根据本公开的数个实施例的表示层次型存储器系统的实例方法780的另一流程图。在框782处,方法780可包含监测存储在地址寄存器(例如,本文在图1-3中所示的地址寄存器106/206/306)中的虚拟机物理(VM物理)地址。VM物理地址可包含对应于数据的逻辑地址。如上文所描述,地址寄存器可以是层次型存储器组件的基地址寄存器(例如,BAR4)。存储在层次型存储器组件中的逻辑地址可映射到对应于存储在持久存储器装置和非持久存储器装置中的数据的物理地址。非持久存储器装置可类似于本文在图2和3中所示的非持久存储器装置230/330。持久存储器装置可类似于本文在图2和3中所示的持久存储器装置216/316。
在框784处,方法780可包含经由输入/输出(I/O)装置接收在持久存储器装置和非持久存储器装置中存储数据的请求。将数据写入到持久存储器装置和非持久存储器装置的请求可转移到超管理器,并且在一些实施例中,基于从层次型存储器组件接收的请求,超管理器可使数据写入到持久存储器装置和非持久存储器装置。
在框786处,方法780可包含确定对应于VM物理地址中的至少一个的数据存储请求已经重定向到以通信方式耦合到I/O装置的逻辑电路系统,作为对由以通信方式耦合到逻辑电路系统和I/O装置的超管理器产生的命令的响应。逻辑电路系统可类似于本文在图1-3中所示的层次型存储器组件104/204/304。请求可基于由超管理器(例如,本文在图3中所示的超管理器312)执行的指令而重定向到层次型存储器组件。在一些实施例中,请求可经由存储器管理组件(例如,本文在图2和3中所示的存储器管理组件214/314)重定向到层次型存储器组件。
在框787处,方法780可通过超管理器接收指示发起由超管理器执行的操作以控制数据存取的中断信号。中断信号可由层次型存储器组件产生,所述层次型存储器组件可在超管理器上确证中断信号。如上文所描述,超管理器可控制存储在对应于地址寄存器内的VM物理地址的持久存储器装置和非持久存储器装置内的数据的存取。在一些实施例中,层次型存储器组件可产生并向超管理器确证中断以发起将数据转入或转出持久存储器装置和非持久存储器的操作。
在框788处,方法780可进一步包含响应于接收到经重定向数据存取请求,通过超管理器读取存储在地址寄存器中的对应于数据的VM物理地址中的所述至少一个。超管理器可读取对应于存储在持久存储器装置和非持久存储器装置内的数据的VM物理地址。如上文所描述,地址寄存器可以是层次型存储器组件的基地址寄存器(例如,BAR4)。在一些实施例中,存储器管理组件可读取VM物理地址和/或将虚拟地址映射到非持久存储器装置和/或持久存储器装置中的物理地址或层次型存储器组件中的地址。
在框789处,方法780可包含通过超管理器使存储在基地址寄存器中的VM物理地址中的所述至少一个基本上并行地写入到持久存储器装置和非持久存储器装置。例如,超管理器可发送使数据基本上并行地存储到持久存储器装置和非持久存储器装置的命令。
尽管已在本文中说明并描述了具体实施例,但所属领域的一般技术人员应了解,经计算以实现相同结果的布置可取代所示的具体实施例。本公开旨在涵盖本公开的一或多个实施例的修改或变化。应理解,以上描述是以说明方式而非限制方式进行的。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的技术人员来说将是显而易见的。本公开的一或多个实施例的范围包含在其中使用以上结构和过程的其它应用。因此,本公开的一或多个实施例的范围应参考所附权利要求书以及此类权利要求被赋予的等效物的完整范围而确定。
在前述具体实施方式中,出于简化本公开的目的,将一些特征一并归到单个实施例中。本公开的这一方法不应被理解为反映以下意图:本公开的所公开实施例必须使用比每个权利要求中明确陈述的特征更多的特征。相反,如所附权利要求书所反映,本发明主题在于单个所公开实施例的不到全部的特征。因此,所附权利要求书特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例存在。
Claims (21)
1.一种方法,其包括:
经由输入/输出(I/O)装置接收在持久存储器装置和非持久存储器装置中存储数据的请求;
响应于确定存储所述数据的所述请求对应于层次型存储器操作的执行,将所述请求重定向到逻辑电路系统;
响应于接收到经重定向的存储所述数据的所述请求,在与所述逻辑电路系统相关联的基地址寄存器中存储对应于所述数据的逻辑地址信息;
通过所述逻辑电路系统在以通信方式耦合到所述逻辑电路系统的超管理器上确证中断信号,所述中断信号指示发起由所述超管理器执行的操作以控制所述逻辑电路系统对所述数据的存取;以及
至少部分地基于接收到所述经重定向请求,基本上并行地将对应于存储在所述基地址寄存器中的所述地址信息的所述数据写入到所述持久存储器装置和所述非持久存储器装置。
2.根据权利要求1所述的方法,其进一步包括:
响应于接收到所述请求,通过所述逻辑电路系统请求存储在所述持久存储器装置中的所述数据;以及
响应于所述逻辑电路系统的所述请求,将存储在所述持久存储器装置中的所述数据复制到所述非持久存储器装置、缓冲器或这两者。
3.根据权利要求1至2中任一权利要求所述的方法,其进一步包括:
更新所述地址信息以对应于所述持久存储器装置和所述非持久存储器装置中的物理地址位置,存储在所述基地址寄存器中的所述地址信息所述数据写入到所述物理地址位置;以及
在所述持久存储器和所述非持久存储器中存储经更新地址信息。
4.根据权利要求1至2中任一权利要求所述的方法,其进一步包括拦截来自所述I/O装置的所述数据存取请求,并将所述数据存取请求重定向到以通信方式耦合到所述逻辑电路系统和所述I/O装置的超管理器。
5.根据权利要求1至2中任一权利要求所述的方法,其进一步包括在未接收不同于存取所述数据的所述请求的命令的情况下,将对应于存储在所述基地址寄存器中的所述地址信息的所述数据写入到所述持久存储器装置和所述非持久存储器装置。
6.根据权利要求5所述的方法,其进一步包括将存储在所述基地址寄存器中的所述地址信息写入到所述持久存储器装置和所述非持久存储器装置,而不向能够耦合到所述逻辑电路系统和所述I/O装置的主机确证通知信号。
7.一种方法,其包括:
监测存储在基地址寄存器中的虚拟机物理(VM物理)地址;
经由输入/输出(I/O)装置接收在持久存储器装置和非持久存储器装置中存储数据的请求;
确定对应于所述VM物理地址中的至少一个的数据存储请求已经重定向到以通信方式耦合到所述I/O装置的逻辑电路系统,作为对由以通信方式耦合到所述逻辑电路系统和所述I/O装置的超管理器产生的命令的响应;
通过所述超管理器接收指示发起由所述超管理器执行的操作以控制对所述数据的存取的中断信号;
响应于接收到所述经重定向数据存取请求,通过所述超管理器读取存储在所述基地址寄存器中的对应于所述数据的所述VM物理地址中的所述至少一个;以及
通过所述超管理器使存储在所述基地址寄存器中的所述VM物理地址中的所述至少一个基本上并行地写入到持久存储器装置和非持久存储器装置。
8.根据权利要求7所述的方法,其进一步包括在新地址信息写入时删除所述非持久存储器内不重要的地址信息。
9.根据权利要求7所述的方法,其进一步包括:
基于接收到所述经重定向请求,通过所述逻辑电路系统产生中断信号;以及
作为由所述逻辑电路系统产生的存取来自所述持久存储器装置和所述非持久存储器装置的所述数据的所述经重定向请求的部分,将所述中断信号转移到以通信方式耦合到所述逻辑电路系统的超管理器。
10.根据权利要求7至9中任一权利要求所述的方法,其进一步包括作为将数据写入到所述持久存储器装置的所述请求的部分,通过所述逻辑电路系统将所述命令转移到所述超管理器。
11.根据权利要求7至9中任一权利要求所述的方法,其进一步包括通过所述超管理器从所述持久存储器装置检索数据。
12.根据权利要求7至9中任一权利要求所述的方法,其进一步包括:
在所述非持久存储器中存储对应于基地址寄存器中的所述VM物理地址的所述数据的副本;以及
响应于所述超管理器接收到中断信号,向所述非持久存储器自动发送所述VM物理地址的副本。
13.一种系统,其包括:
多用户网络,其包括包含非持久存储器装置和持久存储器装置的计算资源共享池、耦合到包括多个地址寄存器的逻辑电路系统的接口和耦合到所述接口的超管理器,其中所述超管理器配置成:
从所述逻辑电路系统发送对应于通过所述超管理器重定向到所述逻辑电路系统的数据存储请求的中断;
通过所述超管理器请求存储在所述逻辑电路系统的地址寄存器中的输入/输出(I/O)装置地址信息;
响应于接收到所述中断,通过所述超管理器存取所接收的所述地址信息;以及
使所述地址信息基本上并行地写入到所述持久存储器装置和所述非持久存储器装置。
14.根据权利要求13所述的系统,其中所述逻辑电路系统配置成:
接收所述地址信息请求;以及
响应于接收到所述请求,在所述地址寄存器中存储所述I/O装置地址信息。
15.根据权利要求13所述的系统,其中所述超管理器配置成响应于使所述数据使用所述持久存储器装置进行存取,更新存储在与所述多用户网络相关联的存储器管理组件中的信息。
16.根据权利要求13至15中任一权利要求所述的系统,其中所述超管理器无法区分所述持久存储器和所述非持久存储器装置内的所述I/O地址信息的位置。
17.根据权利要求13至15中任一权利要求所述的系统,其中存取所述I/O地址信息的所述请求是将所述I/O地址信息写入到所述持久存储器装置和所述非持久存储器装置的请求。
18.根据权利要求13至15中任一权利要求所述的系统,其中所述持久存储器装置包括电阻性存储器、相变存储器、自选存储器单元阵列或其组合。
19.根据权利要求13至15中任一权利要求所述的系统,其中所述非持久存储器装置包括同步动态存储器、动态随机存取存储器或随机存取存储器单元阵列中的至少一个。
20.根据权利要求13至15中任一权利要求所述的系统,其中所述逻辑电路系统配置成响应于所述超管理器使所述I/O地址信息被存取而向所述I/O装置发送通知。
21.根据权利要求13至15中任一权利要求所述的系统,其中所述超管理器更新存储在所述I/O装置中且对应于所述持久存储器装置和所述非持久存储器装置中的数据的所述地址信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/547,643 | 2019-08-22 | ||
US16/547,643 US10929301B1 (en) | 2019-08-22 | 2019-08-22 | Hierarchical memory systems |
PCT/US2020/046358 WO2021034657A1 (en) | 2019-08-22 | 2020-08-14 | Hierarchical memory systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114270317A true CN114270317A (zh) | 2022-04-01 |
CN114270317B CN114270317B (zh) | 2023-03-24 |
Family
ID=74645753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080059148.6A Active CN114270317B (zh) | 2019-08-22 | 2020-08-14 | 层次型存储器系统 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10929301B1 (zh) |
EP (1) | EP4018327A4 (zh) |
KR (1) | KR20220038191A (zh) |
CN (1) | CN114270317B (zh) |
WO (1) | WO2021034657A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10929301B1 (en) * | 2019-08-22 | 2021-02-23 | Micron Technology, Inc. | Hierarchical memory systems |
US10789094B1 (en) * | 2019-08-22 | 2020-09-29 | Micron Technology, Inc. | Hierarchical memory apparatus |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120047313A1 (en) * | 2010-08-19 | 2012-02-23 | Microsoft Corporation | Hierarchical memory management in virtualized systems for non-volatile memory models |
US20140040550A1 (en) * | 2011-09-30 | 2014-02-06 | Bill Nale | Memory channel that supports near memory and far memory access |
US20140379956A1 (en) * | 2013-06-21 | 2014-12-25 | International Business Machines Corporation | Managing a translation lookaside buffer |
CN104969168A (zh) * | 2012-12-26 | 2015-10-07 | 桑迪士克企业知识产权有限责任公司 | 具有用于分级写入的nvram的持久性存储装置 |
CN105612503A (zh) * | 2013-08-09 | 2016-05-25 | 桑迪士克科技股份有限公司 | 持久性数据结构 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6212598B1 (en) | 1998-11-30 | 2001-04-03 | Micron Technology, Inc. | Controlling a paging policy based on a requestor characteristic |
US8286162B2 (en) | 2005-12-30 | 2012-10-09 | Intel Corporation | Delivering interrupts directly to a virtual processor |
US7613876B2 (en) | 2006-06-08 | 2009-11-03 | Bitmicro Networks, Inc. | Hybrid multi-tiered caching storage system |
EP2433217B1 (en) | 2009-05-19 | 2019-10-16 | VMware, Inc. | Shortcut input/output in virtual machine systems |
KR101081907B1 (ko) | 2010-01-05 | 2011-11-09 | 성균관대학교산학협력단 | 가상화 장치 |
CN103354939B (zh) | 2010-12-17 | 2016-03-16 | 艾沃思宾技术公司 | 用于使dram和mram访问交错的存储器控制器和方法 |
US8892802B2 (en) * | 2012-01-01 | 2014-11-18 | International Business Machines Corporation | Enhancing interrupt handling in a virtual environment |
JP2013142947A (ja) * | 2012-01-10 | 2013-07-22 | Sony Corp | 記憶制御装置、記憶装置および記憶制御装置の制御方法 |
US8806104B2 (en) * | 2012-09-25 | 2014-08-12 | Intel Corporation | Enabling virtualization of a processor resource |
US9626324B2 (en) * | 2014-07-08 | 2017-04-18 | Dell Products L.P. | Input/output acceleration in virtualized information handling systems |
US9892037B2 (en) * | 2014-12-29 | 2018-02-13 | International Business Machines Corporation | Efficient and secure direct storage device sharing in virtualized environments |
US11036533B2 (en) * | 2015-04-17 | 2021-06-15 | Samsung Electronics Co., Ltd. | Mechanism to dynamically allocate physical storage device resources in virtualized environments |
US9875131B2 (en) | 2015-11-25 | 2018-01-23 | Red Hat Israel, Ltd. | Virtual PCI device based hypervisor bypass using a bridge virtual machine |
US20170220592A1 (en) | 2016-02-01 | 2017-08-03 | Microsoft Technology Licensing, Llc | Modular data operations system |
US10515023B2 (en) * | 2016-02-29 | 2019-12-24 | Intel Corporation | System for address mapping and translation protection |
US10061918B2 (en) | 2016-04-01 | 2018-08-28 | Intel Corporation | System, apparatus and method for filtering memory access logging in a processor |
US10929301B1 (en) * | 2019-08-22 | 2021-02-23 | Micron Technology, Inc. | Hierarchical memory systems |
-
2019
- 2019-08-22 US US16/547,643 patent/US10929301B1/en active Active
-
2020
- 2020-08-14 CN CN202080059148.6A patent/CN114270317B/zh active Active
- 2020-08-14 KR KR1020227009010A patent/KR20220038191A/ko active IP Right Grant
- 2020-08-14 EP EP20854825.5A patent/EP4018327A4/en active Pending
- 2020-08-14 WO PCT/US2020/046358 patent/WO2021034657A1/en unknown
- 2020-12-07 US US17/113,802 patent/US11513969B2/en active Active
-
2022
- 2022-11-10 US US17/984,958 patent/US20230072589A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120047313A1 (en) * | 2010-08-19 | 2012-02-23 | Microsoft Corporation | Hierarchical memory management in virtualized systems for non-volatile memory models |
US20140040550A1 (en) * | 2011-09-30 | 2014-02-06 | Bill Nale | Memory channel that supports near memory and far memory access |
CN104969168A (zh) * | 2012-12-26 | 2015-10-07 | 桑迪士克企业知识产权有限责任公司 | 具有用于分级写入的nvram的持久性存储装置 |
US20140379956A1 (en) * | 2013-06-21 | 2014-12-25 | International Business Machines Corporation | Managing a translation lookaside buffer |
CN105612503A (zh) * | 2013-08-09 | 2016-05-25 | 桑迪士克科技股份有限公司 | 持久性数据结构 |
Also Published As
Publication number | Publication date |
---|---|
US10929301B1 (en) | 2021-02-23 |
US20210097001A1 (en) | 2021-04-01 |
WO2021034657A1 (en) | 2021-02-25 |
EP4018327A1 (en) | 2022-06-29 |
EP4018327A4 (en) | 2023-09-20 |
CN114270317B (zh) | 2023-03-24 |
KR20220038191A (ko) | 2022-03-25 |
US20230072589A1 (en) | 2023-03-09 |
US11513969B2 (en) | 2022-11-29 |
US20210056039A1 (en) | 2021-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230072589A1 (en) | Hierarchical memory systems | |
US20210349822A1 (en) | Three tiered hierarchical memory systems | |
US11650843B2 (en) | Hierarchical memory systems | |
CN114258528A (zh) | 阶层式存储器设备 | |
CN114258534B (zh) | 阶层式存储器系统 | |
CN114341818B (zh) | 分级存储器设备 | |
CN114303124B (zh) | 分级存储器设备 | |
US11106595B2 (en) | Hierarchical memory systems | |
US11614894B2 (en) | Hierarchical memory systems | |
CN114270442A (zh) | 层次型存储器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |