CN114341816A - 三层层次型存储器系统 - Google Patents
三层层次型存储器系统 Download PDFInfo
- Publication number
- CN114341816A CN114341816A CN202080059385.2A CN202080059385A CN114341816A CN 114341816 A CN114341816 A CN 114341816A CN 202080059385 A CN202080059385 A CN 202080059385A CN 114341816 A CN114341816 A CN 114341816A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- persistent memory
- address
- persistent
- 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
Links
Images
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/1016—Performance improvement
-
- 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/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/225—Hybrid cache memory, e.g. having both volatile and non-volatile portions
-
- 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/30—Providing cache or TLB in specific location of a processing system
- G06F2212/305—Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
-
- 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/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
Abstract
本文中描述了与三层层次型存储器系统有关的系统、设备和方法。三层层次型存储器系统可以利用持久存储器来存储通常存储在非持久存储器中的数据,从而以比仅依赖非持久存储器的方法更低的成本增加分配给计算系统的存储空间量。实例设备可包含持久存储器和一或多个非持久存储器,所述非持久存储器配置成在所述设备从输入/输出(I/O)装置接收存取存储在所述持久存储器中的数据的请求之前将与所述I/O装置相关联的地址映射到逻辑电路系统中的地址,并在所述设备接收到所述请求并存取所述数据之后将与所述I/O装置相关联的所述地址映射到非持久存储器中的地址。
Description
技术领域
本公开总体上涉及半导体存储器和方法,且更具体地说,涉及三层层次型存储器系统。
背景技术
存储器装置通常提供为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要电力来维持其数据(例如,主机数据、错误数据等),并且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和同步动态随机存取存储器(SDRAM)等等。非易失性存储器可通过在断电时保留所存储的数据来提供持久数据,并且可包含NAND快闪存储器、NOR快闪存储器和电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)和磁阻随机存取存储器(MRAM),如自旋力矩转移随机存取存储器(STT RAM)等等。
存储器装置可耦合到主机(例如,主机计算装置)以存储数据、命令和/或指令,以便在计算机或电子系统运行时供主机使用。例如,在计算或另一电子系统的操作期间,数据、命令和/或指令可在主机和存储器装置之间转移。
附图说明
图1是根据本公开的数个实施例的呈包含层次型存储器组件的设备形式的功能框图。
图2是根据本公开的数个实施例的呈包含层次型存储器组件的计算系统形式的功能框图。
图3是根据本公开的数个实施例的呈包含层次型存储器组件的计算系统形式的另一功能框图。
图4是根据本公开的数个实施例的表示数据存取操作的流程图。
图5是根据本公开的数个实施例的表示数据编程操作的流程图。
图6是根据本公开的数个实施例的表示三层层次型存储器系统的实例方法的流程图。
图7是根据本公开的数个实施例的表示三层层次型存储器系统的实例方法的另一流程图。
具体实施方式
本文中描述了三层层次型存储器系统。根据本公开的三层层次型存储器系统可以利用持久存储器来存储通常存储在非持久存储器中的数据,从而以比仅依赖非持久存储器的方法更低的成本增加分配给计算系统的存储空间量。实例设备包含持久存储器、第一非持久存储器和第二非持久存储器,所述第二非持久存储器配置成在所述设备从输入/输出(I/O)装置接收存取存储在所述持久存储器中的数据的请求之前将与所述I/O装置相关联的地址映射到逻辑电路系统中的地址,并在所述设备接收到所述请求并存取所述数据之后将与所述I/O装置相关联的所述地址映射到所述第一非持久存储器中的地址。
计算系统在操作期间使用各种类型的存储器资源。例如,计算系统可在操作期间使用易失性(例如,随机存取存储器)存储器资源和非易失性(例如,存储)存储器资源的组合。一般来说,易失性存储器资源的操作速度可比非易失性存储器资源快得多,且寿命可比非易失性存储器资源更长;但是,易失性存储器资源通常比非易失性存储器资源更贵。如本文中所使用,易失性存储器资源可替代地称为“非持久存储器装置”,而非易失性存储器资源可替代地称为“持久存储器装置”。
但是,持久存储器装置可以更广泛地指代以持久方式存取数据的能力。作为实例,在持久存储器上下文中,存储器装置可以在存储器阵列中存储多个逻辑到物理映射或转译数据和/或查找表,以便跟踪数据在存储器装置中的位置,与存储器是否为非易失性无关。此外,持久存储器装置除了通过包含为连续过程服务命令的能力(例如,通过使用逻辑到物理映射、查找表等)来使用非易失性之外,还可以指代存储器的非易失性。
这些特性可能需要在计算系统中进行权衡,以便为计算系统提供足够的资源,以满足消费者和计算资源提供商不断增长的需求。例如,在多用户计算网络(例如,基于云的计算系统部署、软件定义的数据中心等)中,可以提供相对大量的易失性存储器来提供在多用户网络中运行的虚拟机。然而,通过依赖易失性存储器向多用户网络提供存储器资源(在一些方法中是常见的),与向网络提供存储器资源相关联的成本可能会增加,尤其是当网络的用户需要使用越来越大的计算资源池时。
此外,在依赖易失性存储器来提供存储器资源以在多用户网络中提供虚拟机的方法中,一旦易失性存储器资源耗尽(例如,一旦将易失性存储器资源分配给多用户网络的用户),在额外的易失性存储器资源可用或添加之前,无法将其他用户添加到多用户网络。这可能会导致潜在用户被拒绝,从而可能会导致收入损失,如果多用户网络可以使用额外的存储器资源,可能会产生收入损失。
易失性存储器资源,例如动态随机存取存储器(DRAM)倾向于以确定性方式操作,而非易失性存储器资源,例如存储类存储器(例如,NAND快闪存储器装置、固态驱动器、电阻可变存储器装置等)倾向于以非确定性方式操作。例如,由于对从存储类存储器装置检索的数据执行错误校正操作、加密操作、RAID操作等,从存储类存储器装置请求数据到数据可用之间的时间量可针对不同读取而不同,从而使得从存储类存储器装置检索数据不确定。相比之下,从DRAM装置请求数据到数据可用之间的时间量可针对不同读取保持固定,从而使得从DRAM装置检索数据具有确定性。
另外,由于易失性存储器资源的确定性行为和非易失性存储器资源的非确定性行为之间的区别,向和从存储器资源转移的数据通常穿过与所使用的存储器类型相关联的特定接口(例如,总线)。例如,向和从DRAM装置转移的数据通常经由双倍数据速率(DDR)总线传递,而向和从NAND装置转移的数据通常经由外围组件互连快速(PCI-e)总线传递。然而,如将认识到的,可用来向和从易失性存储器资源和非易失性存储器资源转移数据的接口的实例不限于这些特定列举的实例。
由于非易失性存储器装置和易失性存储器装置的不同行为,一些方法选择在易失性或非易失性存储器中存储特定类型的数据。与非易失性存储器装置的非确定性行为相比,这可以缓解由于例如易失性存储器装置的确定性行为而可能出现的问题。例如,在一些方法中,计算系统在易失性存储器装置中存储在计算系统操作期间定期存取的少量数据,而较大或存取频率较低的数据存储在非易失性存储器装置中。然而,在多用户网络部署中,绝大多数数据可能存储在易失性存储器装置中。相比之下,本文的实施例可以允许从部署在多用户网络中的非易失性存储器装置存储和检索数据。
如本文所描述,本公开的一些实施例针对计算系统,其中来自非易失性且因此是非确定性的存储器资源的数据经由接口传递,所述接口在其它方法中仅限于易失性且确定性的存储器资源使用。例如,在一些实施例中,可以经由DDR接口等接口向和从非易失性、非确定性存储器资源转移数据,例如NAND快闪装置、电阻可变存储器装置,如相变存储器装置和/或电阻性存储器装置(例如,三维交叉点(3D XP)存储器装置)、固态驱动器(SSD),自选存储器(SSM)装置等,通过DDR接口等接口,在一些方法中,所述接口预留用于向和从易失性、确定性存储器资源转移数据。因此,与使用易失性、确定性存储器装置向计算系统提供主存储器的方法相比,本文的实施例可以允许将非易失性、非确定性存储器装置用作计算系统的主存储器的至少一部分。
在一些实施例中,数据可从非易失性存储器资源中间地转移到高速缓存(例如,小型静态随机存取存储器(SRAM)高速缓存)或缓冲器,并且随后可供请求数据的应用程序使用。通过将通常以确定性方式提供的数据存储在非确定性存储器资源中并允许如本文所述存取所述数据,计算系统性能可得到改善:与使用易失性存储器资源的方法相比,允许以显著降低的成本向多用户网络提供更多的存储器资源。
为了促进本公开的实施例,非易失性存储器资源的可视性可对部署了层次型存储器系统的计算系统的各个装置进行模糊化。例如,部署在计算系统或多用户网络中的主机、网络接口卡、虚拟机等可能无法区分数据是由计算系统的易失性存储器资源存储还是由非易失性存储器资源存储。例如,可以在计算系统中部署硬件电路系统,其可以以主机、网络接口卡、虚拟机等无法区分数据是由易失性存储器资源还是非易失性存储器资源存储的方式来寄存与数据相对应的地址。
如本文中更详细描述,层次型存储器系统可包含硬件电路系统(例如,逻辑电路系统),其可拦截经重定向数据请求,在与所请求数据相关联的逻辑电路系统中寄存地址(即使硬件电路系统未由其自身的存储器资源备份以存储数据),并使用逻辑电路系统将寄存在逻辑电路系统中的地址映射到对应于非易失性存储器装置中的数据的物理地址。
在本公开的以下详细描述中,参考构成本发明的一部分的附图,在附图中,通过图示示出了可以如何实践本公开的一或多个实施例。对这些实施例进行了足够详细的描述,以使所属领域的技术人员能够实践本公开的实施例,并且应理解,可以使用其它实施例,并且可以在不脱离本公开的范围的情况下进行过程、电气和结构改变。
如本文中所使用,诸如“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-1到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和具有第二非持久存储器219的存储器管理电路系统(例如,存储器管理组件)214。因而,计算系统201可被称为三层(例如,三级)层次型存储器系统,其中持久存储器装置216、第一非持久存储器装置230和第二非持久存储器219各自包括层次型存储器系统的不同层(例如,层级)。逻辑电路系统204、I/O装置210和持久存储器装置216、非持久存储器装置230和存储器管理组件214(例如,第二非持久存储器219)之间的通信可经由接口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和非持久存储器219可各自包含易失性存储器,例如易失性存储器单元阵列。在数个实施例中,非持久存储器装置230可包含多芯片装置。多芯片装置可包含数个不同存储器类型和/或存储器模块。在一些实施例中,非持久存储器装置230可用作计算系统201的主存储器。例如,非持久存储器装置230可以是动态随机存取(DRAM)存储器装置,用于向计算系统230提供主存储器。在一些实施例中,非持久存储器装置219还可包括DRAM(例如,DRAM单元阵列)。但是,实施例不限于包括DRAM的非持久存储器装置230和非持久存储器210,在一些实施例中,非持久存储器装置230和/或非持久存储器装置219可包含其它非持久存储器,例如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的非持久存储器219可将装置可见虚拟地址映射到物理地址。例如,非持久存储器219可将与I/O装置210相关联的虚拟地址映射到非持久存储器装置230和/或持久存储器装置216中的物理地址。举例来说,非持久存储器219可支持部分虚拟地址空间(例如,与复制现有虚拟地址空间的高速缓存相比)。在一些实施例中,映射与I/O装置210相关联的虚拟条目可通过本文中在图1所示的读取缓冲器、写入缓冲器和/或I/O存取缓冲器来促进。
在一些实施例中,存储器管理组件214可读取与I/O装置210相关联的虚拟地址,并且非持久存储器219可将虚拟地址映射到非持久存储器装置230中的物理地址或层次型存储器组件204中的地址。在非持久存储器219将虚拟I/O装置210地址映射到层次型存储器组件204中的地址的实施例中,存储器管理组件214可将从I/O装置210接收的读取请求(或写入请求)重定向到层次型存储器组件204,其可在层次型存储器组件204的地址寄存器(例如,地址寄存器206-N)中存储与I/O装置210读取或写入请求相关联的虚拟地址信息。也就是说,层次型存储器组件204中的与I/O装置210相关联的地址映射到的地址可以是地址寄存器2016-N中的地址。在一些实施例中,地址寄存器206-N可以是层次型存储器组件204的特定基地址寄存器,例如BAR4地址寄存器。
经重定向读取(或写入)请求可经由接口208从存储器管理组件214转移到层次型存储器组件204。在一些实施例中,接口208可以是PCIe接口,因此可根据PCIe协议在存储器管理组件214和层次型存储器组件204之间传递信息。但是,实施例不限于此,并且在一些实施例中,接口208可以是根据另一合适的协议运作的接口或总线。
在虚拟NIC地址存储在层次型存储器组件204中之后,对应于虚拟NIC地址的数据可以写入到持久存储器装置216。例如,对应于存储在层次型存储器组件204中的虚拟NIC地址的数据可存储在持久存储器装置216的物理地址位置中。在一些实施例中,向和/或从持久存储器装置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、包含非持久存储器319的存储器管理组件314及超管理器312。
在一些实施例中,计算系统301可以是多用户网络,例如软件定义的数据中心、云计算环境等。在此类实施例中,计算系统可配置成具有一或多个虚拟机317在其上运行。例如,在一些实施例中,一或多个虚拟机317可部署在超管理器312上,并且可由多用户网络的用户存取。
I/O装置310、持久存储器装置316、非持久存储器装置330、中间存储器组件320、存储器管理组件314和非持久存储器319可类似于图2所示的I/O装置210、持久存储器装置216、非持久存储器装置230、中间存储器组件220、存储器管理组件214和非持久存储器219。举例来说,持久存储器装置316、非持久存储器装置330和非持久存储器319可分别包括层次型存储器系统的不同层,如本文中先前所描述。逻辑电路系统304、I/O装置310和持久存储器装置316、非持久存储器装置330、超管理器312和存储器管理组件314(例如,非持久存储器319)之间的通信可经由接口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可使非持久存储器319映射与要重定向到层次型存储器组件304并存储在层次型存储器组件304的地址寄存器306中的数据相关联的逻辑地址。例如,超管理器312可执行指令以控制涉及要经由非持久存储器319选择性地重定向到层次型存储器组件304的数据的读取和写入请求。
非持久存储器319可将连续虚拟地址映射到基础分段物理地址。因此,在一些实施例中,非持久存储器319可允许虚拟地址映射到物理地址,而不要求物理地址是连续的。举例来说,由非持久存储器319映射的与I/O装置310相关联的特定地址可与由非持久存储器319映射的与I/O装置310相关联的其它地址是连续的,但是非持久存储器装置330中的与I/O装置310相关联的所述特定地址所映射到的地址可以不与非持久存储器装置330中的非持久存储器319映射到的其它地址连续。此外,在一些实施例中,非持久存储器319可允许不支持长度足以寻址其对应物理存储器空间的存储器地址的装置在非持久存储器319中寻址。
由于与持久存储器装置316相关联的数据转移具有非确定性,所以在一些实施例中,层次型存储器组件304可配置成通知计算系统301向或从持久存储器装置316转移数据可能发生延迟。作为初始化延迟的部分,当数据请求重定向到层次型存储器组件304时,层次型存储器组件304可为计算系统301提供页面错误处理。在一些实施例中,层次型存储器组件304可产生和确证中断到超管理器312,以发起将数据转入或转出持久存储器装置316的操作。例如,由于与持久存储器装置316相关联的数据检索和存储具有非确定性,所以当请求转移存储在持久存储器装置316中的数据时,层次型存储器组件304可产生超管理器中断315。
响应于由层次型存储器组件304产生的页面错误中断,超管理器312可从层次型存储器组件304检索对应于数据的信息。例如,超管理器312可从层次型存储器组件接收NIC存取数据,其可包含对应于存储在层次型存储器组件304的地址寄存器306中的数据的逻辑到物理地址映射。
一旦数据存储在持久存储器装置316中,非持久存储器装置330的一部分(例如,页、块等)就可以标记为不可被层次型存储器组件304存取,使得计算系统301不去尝试从非持久存储器装置330存取数据。这可允许数据请求因为页面错误而被拦截,当已存储在持久存储器装置316中的数据被I/O装置310请求时,页面错误可由层次型存储器组件304产生并确证到超管理器312。
相比于其中响应于应用请求存取不由存储器管理单元(例如,存储器管理组件314的非持久存储器319)映射的存储器页而发生页面错误异常的方法,在本公开的实施例中,上文所描述的页面错误可由层次型存储器组件304响应于数据在非持久存储器319中映射到层次型存储器组件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)。存储器管理电路系统可配置成接收将具有与其相关联的对应虚拟网络接口控制器地址的数据写入到非持久存储器装置(例如,非持久存储器装置330)的请求。存储器管理电路系统可进一步配置成至少部分地基于数据特性重定向将数据写入到逻辑电路系统的请求。数据特性可包含数据的请求或存取频率、自数据上一次被存取或被请求以来所经过的时间量、数据的类型(例如,数据是否对应于特定文件类型,如照片、文档、音频文件、应用程序文件等等)等等。
在一些实施例中,存储器管理电路系统可配置成基于由超管理器312产生的命令和/或由其执行的指令将写入数据的请求重定向到逻辑电路系统。例如,如上文所描述,超管理器312可执行控制对应于数据请求(例如,由I/O装置310产生的数据请求)的数据是存储在持久存储器装置316中还是存储在非持久存储器装置330中的指令。
在一些实施例中,超管理器312可通过将地址(例如,逻辑地址)写入到存储器管理电路系统的非持久存储器319来促进请求的重定向。例如,如果超管理器312确定对应于特定数据请求的数据将存储在持久存储器装置316中(或从其检索),那么超管理器312可使对应于请求重定向的地址由非持久存储器319存储,使得数据请求重定向到逻辑电路系统。
在接收到经重定向请求后,逻辑电路系统可配置成响应于接收到经重定向请求而产生对应于数据的地址,和/或将地址存储在逻辑电路系统内的地址寄存器306中。在一些实施例中,逻辑电路系统可配置成基于接收到经重定向请求,使指示数据不可被非持久存储器装置330存取的指示与数据相关联。
逻辑电路系统可配置成至少部分地基于接收到经重定向请求而使数据写入到持久存储器装置(例如,持久存储器装置316)(例如,在存储器管理组件314接收到写入请求并将写入请求重定向到逻辑电路系统之后)。在一些实施例中,逻辑电路系统可配置成产生中断信号,并确证中断信号到耦合到逻辑电路系统的超管理器(例如,超管理器312),作为使数据写入到持久存储器装置316的部分。如上文所描述,持久存储器装置316可包括3D XP存储器装置、自选存储器单元阵列、NAND存储器装置或其它合适的持久存储器,或其组合。
在一些实施例中,逻辑电路系统可配置成从存储器管理电路系统接收从持久存储器装置316存取(例如,检索)数据的经重定向请求,将从持久存储器装置316检索数据的请求转移到耦合到逻辑电路系统的超管理器312,和/或确证中断信号到超管理器312作为从持久存储器装置316检索数据的请求的部分。超管理器312可配置成(例如,在存储器管理电路系统接收到请求并将请求重定向到逻辑电路系统之后)从持久存储器装置316检索数据和/或在检索到数据之后将数据转移到非持久存储器装置330。一旦数据从持久存储器装置316检索到,超管理器312就可配置成使与数据相关联的经更新地址转移到非持久存储器319并存储在其中。经更新地址可以是对应于数据的虚拟地址。举例来说,经更新地址可将数据映射到非持久存储器装置330(例如,非持久存储器装置330中数据转移到的位置)。
在另一非限制性实例中,计算系统301可以是多用户网络,例如软件定义的数据中心、云计算环境等。多用户网络可包含计算资源池,包含非持久存储器装置330和持久存储器装置316。多用户网络可进一步包含耦合到包括多个地址寄存器306的逻辑电路系统(例如,层次型存储器组件304)的接口308。在一些实施例中,多用户网络可进一步包含耦合到接口308的超管理器312。
超管理器312可配置成接收存取对应于非持久存储器组件330的数据的请求,确定数据存储在持久存储器装置中,并使存取数据的请求重定向到逻辑电路系统。存取数据的请求可以是请求从持久存储器装置或非持久存储器装置读取数据或请求将数据写入到持久存储器装置或非持久存储器装置。
在一些实施例中,逻辑电路系统可配置成响应于确定数据存储在持久存储器装置316中,将从持久存储器装置316存取数据的请求转移到超管理器312。逻辑电路系统可配置成确证中断到超管理器作为针对超管理器312的存取对应于持久存储器装置316的数据的请求的部分。
超管理器312可配置成基于从逻辑电路系统接收到的请求而使数据使用持久存储器装置316进行存取。如上文所描述,持久存储器装置316可包括电阻可变存储器装置,例如电阻性存储器、相变存储器、自选存储器单元阵列或其组合。在一些实施例中,超管理器312可配置成使数据转移到非持久存储器装置330作为使数据使用持久存储器装置316进行存取的部分。
超管理器312可进一步配置成响应于使数据使用持久存储器装置316进行存取,更新存储于与多用户网络相关联的存储器管理组件314的非持久存储器319中的信息。例如,超管理器312可配置成使对应于数据的经更新虚拟地址存储于非持久存储器319中。
在一些实施例中,多用户网络可包含耦合到逻辑电路系统的I/O装置310。在此类实施例中,逻辑电路系统可配置成响应于超管理器312使数据使用持久存储器装置316进行存取来向I/O装置310发送通知。
图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处,超管理器可更新存储器管理组件的非持久存储器(例如,本文在图2和3中所示的非持久存储器219/319)以将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处,超管理器可更新存储器管理组件的非持久存储器(例如,本文在图2和3中所示的非持久存储器219/319)以将I/O装置虚拟地址映射(例如,定向)到非持久存储器装置(例如,非持久存储器装置中的地址)。例如,如果在框567处数据写入到非持久存储器装置,那么在框568处,超管理器可更新由存储器管理组件的非持久存储器存储的虚拟地址,使得与数据相关联且由存储器管理组件的非持久存储器存储的虚拟地址映射到非持久存储器装置中存储数据的物理地址。
图6是根据本公开的数个实施例的表示层次型存储器系统的实例方法670的流程图。在框672处,方法670可包含在存储器管理电路系统的非持久存储器中将与I/O装置相关联的地址映射到逻辑电路系统中的地址。举例来说,非持久存储器可以是本文在图2和3中所示的存储器管理组件214/314的非持久存储器219/319,举例来说,I/O装置可以是本文在图2和3中所示的I/O装置210/310,并且举例来说,逻辑电路系统可以是本文在图1、2和3中所示的层次型存储器组件104/204/304。例如,与I/O装置相关联的虚拟地址可映射到非持久存储器中的物理地址,如本文中先前所描述。
在框674处,方法670可包含从I/O装置接收存取存储在持久存储器装置中的数据的请求。举例来说,持久存储器装置可以是本文在图2和3中所示的持久存储器装置216/316,并且举例来说,所述请求可从I/O装置经由本文在图2和3中所示的接口208/308接收。例如,所述请求可以是读取请求,如本文中先前所描述。
在框676处,方法670可包含在接收到请求之后存取存储在持久存储器装置中的数据。举例来说,可在请求重定向到逻辑电路系统之后存取数据,如本文中先前所描述。
在框678处,方法670可包含在存取数据之后,在存储器管理电路系统的非持久存储器中将与I/O装置相关联的地址映射到非持久存储器装置中的地址。举例来说,非持久存储器装置可以是本文在图2和3中所示的非持久存储器装置230/330。例如,地址可通过更新非持久存储器219/319来映射,如本文中先前所描述。
图7是根据本公开的数个实施例的表示三层层次型存储器系统的实例方法780的另一流程图。在框782处,方法780可包含在第一非持久存储器中将与I/O装置相关联的地址映射到逻辑电路系统中的地址。举例来说,第一非持久存储器可以是本文在图2和3中所示的非持久存储器219/319,举例来说,I/O装置可以是本文在图2和3中所示的I/O装置210/310,并且举例来说,逻辑电路系统可以是本文在图1、2和3中所示的层次型存储器组件104/204/304。例如,与I/O装置相关联的虚拟地址可映射到非持久存储器中的物理地址,如本文中先前所描述。
在框784处,方法780可包含从I/O装置接收将数据编程到持久存储器的请求。举例来说,持久存储器可以是本文在图2和3中所示的持久存储器装置216/316,并且举例来说,请求可经由本文在图2和3中所示的接口208/308从I/O装置接收。例如,请求可以是写入请求,如本文中先前所描述。
在框786处,方法780可包含在接收到请求之后将数据编程到持久存储器或第二非持久存储器。举例来说,数据可在请求重定向到逻辑电路系统之后编程,如本文中先前所描述。举例来说,第二非持久存储器可以是本文在图2和3中所示的非持久存储器装置230/330。例如,数据是编程到持久存储器还是编程到第二非持久存储器可取决于与数据相关联的业务模式,如本文中先前所描述。
在框788处,方法780可包含在编程数据之后,在第一非持久存储器中将与I/O装置相关联的地址映射到第二非持久存储器中的地址。例如,地址可通过更新第一非持久存储器来映射,如本文中先前所描述。
尽管已在本文中说明并描述了具体实施例,但所属领域的一般技术人员应了解,经计算以实现相同结果的布置可取代所示的具体实施例。本公开旨在涵盖本公开的一或多个实施例的修改或变化。应理解,以上描述是以说明方式而非限制方式进行的。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的技术人员来说将是显而易见的。本公开的一或多个实施例的范围包含在其中使用以上结构和过程的其它应用。因此,本公开的一或多个实施例的范围应参考所附权利要求书以及此类权利要求被赋予的等效物的完整范围而确定。
在前述具体实施方式中,出于简化本公开的目的,将一些特征一并归到单个实施例中。本公开的这一方法不应被理解为反映以下意图:本公开的所公开实施例必须使用比每个权利要求中明确陈述的特征更多的特征。相反,如所附权利要求书所反映,本发明主题在于单个所公开实施例的不到全部的特征。因此,所附权利要求书特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例存在。
Claims (20)
1.一种设备,其包括:
持久存储器;
第一非持久存储器;以及
第二非持久存储器,其配置成:
在所述设备从输入/输出(I/O)装置接收存取存储在所述持久存储器中的数据的请求之前,将与所述I/O装置相关联的地址映射到逻辑电路系统中的地址;且
在所述设备接收到所述请求并存取所述数据之后,将与所述I/O装置相关联的所述地址映射到所述第一非持久存储器中的地址。
2.根据权利要求1所述的设备,其中所述第二非持久存储器包含在所述设备的存储器管理电路系统中。
3.根据权利要求1至2中任一权利要求所述的设备,其中:
所述持久存储器包括NAND存储器或3D交叉点存储器或这两者;且
所述第一非持久存储器和所述第二非持久存储器各自包括动态随机存取存储器(DRAM)。
4.根据权利要求1至2中任一权利要求所述的设备,其中:
所述持久存储器配置成为计算系统提供存储容量;且
所述第一非持久存储器配置成在所述计算系统的操作期间存储所述计算系统的主机计算装置所请求的数据。
5.根据权利要求1至2中任一权利要求所述的设备,其中所述逻辑电路系统中的与所述I/O装置相关联的所述地址映射到的所述地址是所述逻辑电路系统的寄存器中的地址。
6.一种设备,其包括:
持久存储器装置;
第一非持久存储器装置;以及
具有第二非持久存储器的存储器管理电路系统,所述第二非持久存储器配置成:
在所述设备从输入/输出(I/O)装置接收将数据编程到所述持久存储器的请求之前,将与所述I/O装置相关联的地址映射到逻辑电路系统中的地址;以及
在所述设备接收所述请求并编程所述数据之后,将与所述I/O装置相关联的所述地址映射到所述第一非持久存储器装置中的地址。
7.根据权利要求6所述的设备,其中所述第二非持久存储器配置成将与所述I/O装置相关联的额外地址映射到所述持久存储器装置中的地址。
8.根据权利要求6所述的设备,其中所述第二非持久存储器配置成将与所述数据相关联的地址映射到所述逻辑电路系统。
9.根据权利要求6至8中任一权利要求所述的设备,其中:
与所述I/O装置相关联的所述地址与由所述第二非持久存储器映射的与所述I/O装置相关联的其它地址连续;且
所述第一非持久存储器中的与所述I/O装置相关联的所述地址通过所述第二非持久存储器映射到的所述地址不与所述第一非持久存储器中的所述第二非持久存储器映射到的其它地址连续。
10.一种方法,其包括:
在存储器管理电路系统的非持久存储器中将与输入/输出(I/O)装置相关联的地址映射到逻辑电路系统中的地址;
从所述I/O装置接收存取存储在持久存储器装置中的数据的请求;
在接收到所述请求之后,存取存储在所述持久存储器装置中的所述数据;以及
在存取所述数据之后,在所述存储器管理电路系统的所述非持久存储器中将与所述I/O装置相关联的所述地址映射到非持久存储器装置中的地址。
11.根据权利要求10所述的方法,其中:
与所述I/O装置相关联的所述地址是虚拟地址;且
所述非持久存储器装置中的所述地址是物理地址。
12.根据权利要求10所述的方法,其中所述方法包含:
经由接口将存取所述数据的所述请求重定向到所述逻辑电路系统;以及
在重定向所述请求之后存取所述数据。
13.根据权利要求12所述的方法,其中所述方法包含在所述存储器管理电路系统的所述非持久存储器中存储对应于所述请求的重定向的地址。
14.根据权利要求10所述的方法,其中所述方法包含在存取所述数据之后,在所述存储器管理电路系统的所述非持久存储器中存储与所述数据相关联的经更新地址。
15.根据权利要求14所述的方法,其中所述经更新地址是将所述数据映射到所述非持久存储器装置的虚拟地址。
16.根据权利要求10至15中任一权利要求所述的方法,其中所述方法包含在存取所述数据之后,将所述数据转移到所述非持久存储器装置。
17.一种方法,其包括:
在第一非持久存储器中将与输入/输出(I/O)装置相关联的地址映射到逻辑电路系统中的地址;
从所述I/O装置接收将数据编程到持久存储器的请求;
在接收到所述请求之后,将所述数据编程到所述持久存储器或第二非持久存储器;以及
在编程所述数据之后,在所述第一非持久存储器中将与所述I/O装置相关联的所述地址映射到所述第二非持久存储器中的地址。
18.根据权利要求17所述的方法,其中所述方法包含:
经由接口将编程所述数据的所述请求重定向到所述逻辑电路系统;以及
在重定向所述请求之后编程所述数据。
19.根据权利要求17至18中任一权利要求所述的方法,其中所述方法包含基于与所述数据相关联的业务模式,确定将所述数据编程到所述持久存储器和所述第二非持久存储器中的哪一个。
20.根据权利要求17至18中任一权利要求所述的方法,其中所述方法包含在编程所述数据之后,在所述第一非持久存储器中存储与所述数据相关联的经更新地址,其中所述经更新地址将所述数据映射到所述第二非持久存储器中的物理地址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/547,635 | 2019-08-22 | ||
US16/547,635 US11074182B2 (en) | 2019-08-22 | 2019-08-22 | Three tiered hierarchical memory systems |
PCT/US2020/046735 WO2021034792A1 (en) | 2019-08-22 | 2020-08-18 | Three tiered hierarchical memory systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114341816A true CN114341816A (zh) | 2022-04-12 |
Family
ID=74645562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080059385.2A Pending CN114341816A (zh) | 2019-08-22 | 2020-08-18 | 三层层次型存储器系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11074182B2 (zh) |
EP (1) | EP4018326A4 (zh) |
KR (1) | KR20220050177A (zh) |
CN (1) | CN114341816A (zh) |
WO (1) | WO2021034792A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11074182B2 (en) * | 2019-08-22 | 2021-07-27 | Micron Technology, Inc. | Three tiered hierarchical memory systems |
US11928762B2 (en) * | 2021-09-03 | 2024-03-12 | Adobe Inc. | Asynchronous multi-user real-time streaming of web-based image edits using generative adversarial network(s) |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5499384A (en) * | 1992-12-31 | 1996-03-12 | Seiko Epson Corporation | Input output control unit having dedicated paths for controlling the input and output of data between host processor and external device |
US7353301B2 (en) * | 2004-10-29 | 2008-04-01 | Intel Corporation | Methodology and apparatus for implementing write combining |
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 |
US7818489B2 (en) * | 2006-11-04 | 2010-10-19 | Virident Systems Inc. | Integrating data from symmetric and asymmetric memory |
KR100880425B1 (ko) | 2007-02-13 | 2009-01-29 | 삼성전자주식회사 | 메모리 맵 테이블 서치 타임을 최소화 또는 줄일 수 있는방법 및 그에 따른 반도체 메모리 장치 |
US10437865B1 (en) | 2009-01-21 | 2019-10-08 | Vmware, Inc. | Computer storage deduplication |
US20110041039A1 (en) * | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
KR101081907B1 (ko) | 2010-01-05 | 2011-11-09 | 성균관대학교산학협력단 | 가상화 장치 |
US20120047313A1 (en) | 2010-08-19 | 2012-02-23 | Microsoft Corporation | Hierarchical memory management in virtualized systems for non-volatile memory models |
EP2742429A4 (en) * | 2011-08-09 | 2015-03-25 | Lsi Corp | I / O DEVICE AND INTERACTION WITH DATA PROCESSING HOST |
US8892802B2 (en) | 2012-01-01 | 2014-11-18 | International Business Machines Corporation | Enhancing interrupt handling in a virtual environment |
KR20150020384A (ko) | 2013-08-13 | 2015-02-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US20160062696A1 (en) * | 2014-03-26 | 2016-03-03 | 2419265 Ontario Limited | Solid-state memory device with plurality of memory devices |
US9690716B2 (en) | 2015-02-13 | 2017-06-27 | Intel Corporation | High performance persistent memory for region-centric consistent and atomic updates |
US9349491B1 (en) | 2015-04-17 | 2016-05-24 | Micron Technology, Inc. | Repair of memory devices using volatile and non-volatile memory |
US9720846B2 (en) * | 2015-05-28 | 2017-08-01 | Red Hat Israel, Ltd. | Memory swap for direct memory access by a device assigned to a guest operating system |
US9424155B1 (en) * | 2016-01-27 | 2016-08-23 | International Business Machines Corporation | Use efficiency of platform memory resources through firmware managed I/O translation table paging |
US20170220592A1 (en) | 2016-02-01 | 2017-08-03 | Microsoft Technology Licensing, Llc | Modular data operations system |
US10528255B2 (en) * | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
US11416395B2 (en) * | 2018-02-05 | 2022-08-16 | Micron Technology, Inc. | Memory virtualization for accessing heterogeneous memory components |
US11074182B2 (en) * | 2019-08-22 | 2021-07-27 | Micron Technology, Inc. | Three tiered hierarchical memory systems |
-
2019
- 2019-08-22 US US16/547,635 patent/US11074182B2/en active Active
-
2020
- 2020-08-18 WO PCT/US2020/046735 patent/WO2021034792A1/en unknown
- 2020-08-18 KR KR1020227009117A patent/KR20220050177A/ko unknown
- 2020-08-18 CN CN202080059385.2A patent/CN114341816A/zh active Pending
- 2020-08-18 EP EP20854651.5A patent/EP4018326A4/en active Pending
-
2021
- 2021-07-22 US US17/382,953 patent/US11698862B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20210349822A1 (en) | 2021-11-11 |
EP4018326A1 (en) | 2022-06-29 |
KR20220050177A (ko) | 2022-04-22 |
US20210056025A1 (en) | 2021-02-25 |
US11698862B2 (en) | 2023-07-11 |
US11074182B2 (en) | 2021-07-27 |
WO2021034792A1 (en) | 2021-02-25 |
EP4018326A4 (en) | 2023-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230072589A1 (en) | Hierarchical memory systems | |
US11698862B2 (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 |