一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

阶层式存储器设备的制作方法

2022-03-31 11:33:08 来源:中国专利 TAG:


1.本公开大体上涉及半导体存储器和方法,且更确切地说,涉及阶层式存储器设备。


背景技术:

2.存储器装置通常被提供为计算机或其它电子系统中的内部、半导体、集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可需要功率以维持其数据(例如,主机数据、误差数据等)并包含随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)和同步动态随机存取存储器(sdram)等等。非易失性存储器可通过在未被供电时保存所存储数据来提供持久数据,且可包含nand快闪存储器、nor快闪存储器和电阻可变存储器,例如相变随机存取存储器(pcram)、电阻性随机存取存储器(rram)和磁阻随机存取存储器(mram),例如自旋力矩转移随机存取存储器(stt ram)等等。
3.存储器装置可耦合到主机(例如,主机计算装置)以存储数据、命令和/或指令以在操作计算机或电子系统时供主机使用。举例来说,数据、命令和/或指令可在计算或其它电子系统的操作期间在主机与存储器装置之间传送。
附图说明
4.图1是根据本公开的数个实施例的呈包含阶层式存储器设备的计算系统形式的功能框图。
5.图2是根据本公开的数个实施例的阶层式存储器设备的功能框图。
6.图3是根据本公开的数个实施例的呈包含阶层式存储器设备的计算系统形式的另一功能框图。
7.图4是根据本公开的数个实施例的呈包含阶层式存储器设备的计算系统形式的又一功能框图。
8.图5是根据本公开的数个实施例的表示阶层式存储器设备的实例方法的流程图。
具体实施方式
9.本文中描述了与阶层式存储器相关的系统、设备和方法。根据本公开的阶层式存储器设备可以是存储器系统的部分,其可充分利用持久存储器来存储大体上存储于非持久存储器中的数据,由此相较于仅仅依赖于非持久存储器的方法以更低成本增加分配给计算系统的存储空间的量。实例设备包含逻辑电路系统,其被配置成接收指示对耦合到所述逻辑电路系统的基地址寄存器的存取已发生的命令。所述命令可指示涉及持久存储器装置、非持久存储器装置或这两者的数据存取。逻辑电路系统可确定存取命令对应于将数据从非持久存储器装置分流到持久存储器装置的操作,响应于接收到存取命令和所述确定而产生中断信号,且使得中断信号在可耦合到逻辑电路系统的主机上确证,作为将数据从非持久存储器装置分流到持久存储器装置的操作的部分。
10.计算系统在操作期间利用各种类型的存储器资源。举例来说,计算系统可在操作期间利用易失性(例如,随机存取存储器)存储器资源和非易失性(例如,存储)存储器资源的组合。一般来说,易失性存储器资源可在比非易失性存储器资源快得多的速度下操作,且可具有比非易失性存储器资源更长的寿命;然而,易失性存储器资源通常比非易失性存储器资源昂贵。如本文所使用,易失性存储器资源在替代方案中可被称作“非持久存储器装置”,而非易失性存储器资源在替代方案中可被称作“持久存储器装置”。
11.然而,持久存储器装置可更广泛地指代以持久方式存取数据的能力。作为实例,在持久存储器上下文中,存储器装置可将多个逻辑到物理映射或转译数据和/或查找表存储在存储器阵列中以便跟踪存储器装置中的数据位置,而与存储器是否为非易失性的无关。此外,持久存储器装置可指代存储器的非易失性,还有通过包含服务于用于连续过程的命令(例如,通过使用逻辑到物理映射、查找表等)的能力来使用所述非易失性。
12.这些特性可能需要计算系统中的折衷,以便提供具有充分资源以根据消费者和计算资源提供者的不断提高的需求起作用的计算系统。举例来说,在多用户计算网络(例如,基于云的计算系统部署、软件定义的数据中心等)中,可提供相对大量的易失性存储器来提供在多用户网络中运行的虚拟机。然而,通过依赖于易失性存储器向多用户网络提供存储器资源(正如在一些方法中常见的),与向网络提供存储器资源相关联的成本可能增加,尤其是因为网络的用户需要使计算资源的越来越大的池变得可用。
13.此外,在依赖于易失性存储器以提供存储器资源以在多用户网络中提供虚拟机的方法中,一旦易失性存储器资源耗尽(例如,一旦易失性存储器资源分配给多用户网络的用户),那么可不将额外用户添加到多用户网络,直到额外易失性存储器资源可供使用或添加为止。这可能导致潜在用户离开,从而可能导致在额外存储器资源可供多用户网络使用的情况下可产生的收益的损失。
14.易失性存储器资源(例如,动态随机存取存储器(dram)倾向于以确定性方式操作),而非易失性存储器资源(例如,存储类别存储器(例如,nand快闪存储器装置、固态驱动器、电阻可变存储器装置等))倾向于以非确定性方式操作。举例来说,由于对从存储类存储器装置检索的数据执行的错误校正操作、加密操作、raid操作等,向存储类存储器装置请求数据与数据可用之间的时间量可在读取之间变化,由此使从存储类存储器装置进行的数据检索为非确定性的。相比之下,从dram装置请求数据与数据可用之间的时间量可在读取之间保持固定,由此使从dram装置进行的数据检索为确定性的。
15.另外,由于易失性存储器资源的确定性行为与非易失性存储器资源的非确定性行为之间的差异,传送进出存储器资源的数据通常穿越与正使用的存储器的类型相关联的特定接口(例如,总线)。举例来说,传送进出dram装置的数据通常经由双数据速率(ddr)总线传递,而传送进出nand装置的数据通常经由外围组件互连高速(pci-e)总线传递。然而,如将了解,数据可经由其传送进出易失性存储器资源和非易失性存储器资源的接口的实例不限于这些特定列举实例。
16.由于非易失性存储器装置和易失性存储器装置的不同行为,一些方法选择将某些类型的数据存储在易失性或非易失性存储器中。相较于非易失性存储器装置的非确定性行为,这可减轻可能由于例如易失性存储器装置的确定性行为而产生的问题。举例来说,计算系统在一些方法中存储在计算系统在易失性存储器装置中的操作期间有规律地存取的少
量数据,而更大或更不频繁地存取的数据存储在非易失性存储器装置中。然而,在多用户网络部署中,绝大部分数据可存储在易失性存储器装置中。相比之下,本文中的实施例可允许从部署在多用户网络中的非易失性存储器装置进行数据存储和检索。
17.如本文所描述,本公开的一些实施例是针对计算系统,在所述计算系统中,来自非易失性且因此非确定性存储器资源的数据经由在其它方法中限于由易失性且确定性存储器资源使用的接口传递。举例来说,在一些实施例中,数据可经由在一些方法中被保留用于进出易失性确定性存储器资源的数据传送的接口(例如,ddr接口)传送进出非易失性非确定性存储器资源,例如nand快闪装置、电阻可变存储器装置,例如相变存储器装置和/或电阻性存储器装置(例如,三维交叉点(3d xp)存储器装置)、固态驱动器(ssd)、自选存储器(ssm)装置等。因此,相比于使用易失性确定性存储器装置以将主存储器提供到计算系统的方法,本文中的实施例可允许非易失性非确定性存储器装置用作用于计算系统的主存储器的至少一部分。
18.在一些实施例中,数据可经由中介从非易失性存储器资源传送到高速缓冲存储器(例如,小型静态随机存取存储器(sram)高速缓冲存储器)或缓冲器,且随后使所述数据可供请求数据的应用使用。通过将通常以确定性方式提供的数据存储在非确定性存储器资源中且允许如此处所描述存取所述数据,可通过例如相较于使用易失性存储器资源操作的方法允许较大量的存储器资源以大大减小的成本可供多用户网络使用来改进计算系统性能。
19.为了促进本公开的实施例,可使针对非易失性存储器资源的可见性对于其中部署阶层式存储器系统的计算系统的各个装置是模糊的。举例来说,本文中可在替代方案中被称作在计算系统或多用户网络中部署的网络接口控制器(nic)、虚拟机等的主机、网络接口卡可能不能够区分数据是由计算系统的易失性存储器资源还是非易失性存储器资源存储。举例来说,硬件电路系统可部署在可按使得主机、nic、虚拟机等不能够区分数据是由易失性还是非易失性存储器资源存储的方式而寄存对应于数据的地址的计算系统中。
20.如本文中更详细地描述,阶层式存储器系统可包含硬件电路系统(例如,逻辑电路系统),其可接收重新引导的数据请求,在与所请求数据相关联的逻辑电路系统中寄存地址(即使硬件电路系统未由其自身的存储器资源备份以存储数据),并使用逻辑电路系统将寄存在逻辑电路系统中的地址映射到对应于非易失性存储器装置中的数据的物理地址。
21.在本公开的以下详细描述中,参考形成本公开的部分的附图,且图中借助于说明展示可实践本公开的一或多个实施例的方式。足够详细地描述这些实施例以使得所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例,且可在不脱离本公开的范围的情况下进行工艺、电气和结构改变。
22.如本文中所使用,例如“n”等特定地关于图中的附图标号的指定符指示可包含数个如此指定的特定特征。还应理解,本文中所使用的术语仅出于描述特定实施例的目的,而不意图为限制性的。如本文中所使用,除非上下文另外明确规定,否则单数形式“一(a/an)”和“所述(the)”可包含单数指示物和复数指示物两者。另外,“数个”、“至少一个”和“一或多个”可指这种事物中的一或多个(例如,数个存储器组可指一或多个存储器组),而“多个”意图指这种事物中的多于一个。
23.此外,贯穿本技术案在容许意义上(例如,可能、能够)而非在强制性意义上(例如,必须)使用词语“可(can和may)”。术语“包含”和其派生词指“包含但不限于”。视上下文而
定,术语“耦合(coupled/coupling)”意指物理上直接或间接连接或存取和移动(传输)命令和/或数据。视上下文而定,术语“数据”和“数据值”在本文中可互换地使用且可具有相同含义。
24.本文中的图式遵循编号定则,其中前一或多个数字对应于图式编号,且剩余的数字标识图式中的元件或组件。可通过使用类似数字来标识不同图之间的类似元件或组件。举例来说,104可表示图1中的元件“04”,且类似元件可在图2中表示为204。通常在本文中可用单个元件编号指代一组或多个类似元件或组件。举例来说,多个参考元件106-1、106-2、...、106-n(例如,106-1到106-n)大体上可被称作106。如应了解,可添加、交换和/或排除本文中的各种实施例中展示的元件,以便提供本公开的数个额外实施例。另外,图式中提供的元件的比例和/或相对尺度意图说明本公开的某些实施例,且不应被视作限制性意义。
25.图1是根据本公开的数个实施例的呈包含阶层式存储器设备104的计算系统100形式的功能框图。阶层式存储器设备104可为计算系统的部分,如将在本文中进一步描述。如本文所使用,“设备”可指但不限于多种结构或结构的组合中的任何一种,例如,电路或电路系统、一或多个裸片、一或多个模块、一或多个装置或一或多个系统。在一些实施例中,阶层式存储器设备104可提供为现场可编程门阵列(fpga)、专用集成电路(asic)、数个离散电路组件等,并且在本文中在替代方案中可被称作“逻辑电路系统”。
26.如图1中所说明,阶层式存储器设备104可包含存储器资源102,其可包含读取缓冲器103、写入缓冲器105和/或输入/输出(i/o)装置存取组件107。在一些实施例中,存储器资源102可为随机存取存储器资源,例如块ram,其可允许在阶层式存储器设备104为fpga的实施例中将数据存储在阶层式存储器设备104内。然而,实施例不限于此,且存储器资源102可包括各种寄存器、高速缓冲存储器、存储器阵列、锁存器和sram、dram、eprom,或可存储包含对应于其中数据被存储在阶层式存储器设备104外部的物理位置的所寄存地址的数据(例如,位串)的其它合适的存储器技术。存储器资源102在阶层式存储器设备104内部,且通常小于阶层式存储器设备104外部的存储器,例如可在阶层式存储器设备104外部的持久和/或非持久存储器资源。
27.读取缓冲器103可包含存储器资源102的一部分,其被保留用于存储已经由阶层式存储器设备104接收但尚未由阶层式存储器设备104处理的数据。举例来说,读取缓冲器103可存储已经与对阶层式存储器设备104外部的存储器(例如,持久存储器)执行的感测(例如,读取)操作相关联(例如,在操作期间和/或作为操作的一部分)而通过阶层式存储器设备104接收的数据。在一些实施例中,读取缓冲器103的大小可为约4千字节(kb),但实施例不限于此特定大小。读取缓冲器103可缓冲待寄存在地址寄存器106-1到106-n中的一个中的数据。
28.写入缓冲器105可包含存储器资源102的一部分,其被保留用于存储正等待传输到阶层式存储器设备104外部的位置的数据。举例来说,写入缓冲器105可存储待与对外部存储器执行的程序(例如,写入)操作相关联而传输到阶层式存储器设备104外部的存储器(例如,持久存储器)的数据。在一些实施例中,写入缓冲器105的大小可为约4千字节(kb),但实施例不限于此特定大小。写入缓冲器105可缓冲待寄存在地址寄存器106-1到106-n中的一个中的数据。
29.i/o存取组件107可包含存储器资源102的一部分,其被保留用于存储对应于对阶
层式存储器设备104外部的组件,例如本文中图3和4中所说明的i/o装置310和410的存取的数据。i/o存取组件107可存储对应于i/o装置的地址的数据,其可用于从i/o装置读取数据和/或将数据写入到i/o装置。另外,在一些实施例中,i/o存取组件107可接收、存储和/或传输对应于超管理器(例如,图4中所说明的超管理器412)的状态的数据,如本文中结合图4更详细描述。
30.阶层式存储器设备104可进一步包含存储器存取多路复用器(mux)109、状态机111,和/或阶层式存储器控制器113(或为简单起见“控制器”)。如图1所示,阶层式存储器控制器113可包含多个地址寄存器106-1到106-n和/或中断组件115。存储器存取mux 109可包含电路系统,所述电路系统可包括一或多个逻辑门且可被配置成控制针对阶层式存储器设备104的数据和/或地址总线。举例来说,存储器存取mux 109可传送消息进出存储器资源102,以及与阶层式存储器控制器113和/或状态机111通信,如下文更详细地描述。
31.在一些实施例中,存储器存取mux 109可将从主机(例如,主机计算装置、虚拟机等)接收到的传入消息和/或命令重新引导到阶层式存储器设备104。举例来说,mux 109可将对应于从输入/输出(i/o)装置(例如,本文中图3和4中所说明的i/o装置310或410)到地址寄存器中的一个(例如,地址寄存器106-n,其可为阶层式存储器控制器113的bar4区域,如下文所描述)的存取(例如,读取)或程序(例如,写入)请求的传入消息重新引导到读取缓冲器103和/或写入缓冲器105。
32.另外,存储器存取mux 109可重新引导由阶层式存储器设备104接收的请求(例如,读取请求、写入请求)。在一些实施例中,可通过阶层式存储器设备104从超管理器(例如,本文中图4中所说明的超管理器412)、裸机服务器或以通信方式耦合到阶层式存储器设备104的主机计算装置接收请求。此类请求可由存储器存取mux 109从读取缓冲器103、写入缓冲器105和/或i/o存取组件107重新引导到地址寄存器(例如,地址寄存器106-2,其可以是阶层式存储器控制器113的bar2区域,如下文所描述)。
33.存储器存取mux 109可重新引导此类请求作为确定待存取的地址寄存器106中的地址的操作的部分。在一些实施例中,存储器存取mux 109可响应于超管理器中断的确证(例如,由中断组件115产生的针对耦合到阶层式存储器设备104的超管理器确证的中断)重新引导此类请求作为确定待存取的地址寄存器中的地址的操作的部分。
34.响应于确定请求对应于与写入到阶层式存储器设备104外部的位置(例如,写入到持久存储器装置,例如本文中图3和4中所说明的持久存储器装置316或416)的地址相关联的数据,存储器存取mux 109可促进数据的检索、数据到写入缓冲器105的传送和/或数据到阶层式存储器设备104外部的位置的传送。响应于确定请求对应于从阶层式存储器设备104(例如,从持久存储器装置)外部的位置读取的数据,mux 109可促进数据的检索、数据到读取缓冲器103的传送和/或数据或与数据相关联的地址信息到阶层式存储器设备104内部的位置,例如地址寄存器106的传送。
35.作为非限制性实例,如果阶层式存储器设备104从i/o装置接收读取请求,那么存储器存取mux 109可通过选择待从阶层式存储器设备104发送的适当消息而经由超管理器促进从持久存储器装置检索数据。举例来说,存储器存取mux 109可促进使用中断组件115产生中断,使得中断在超管理器上确证,将从持久存储器装置接收到的数据缓冲到读取缓冲器103中,和/或以读取请求已经满足的指示对i/o装置作出响应。在阶层式存储器设备
104从i/o装置接收写入请求的非限制性实例中,存储器存取mux 109可通过选择待从阶层式存储器设备104发送的适当消息而经由超管理器促进数据到持久存储器装置的传送。举例来说,存储器存取mux 109可促进使用中断组件115产生中断,使得中断在超管理器上确证,将待传送到持久存储器装置的数据缓冲到写入缓冲器105中,和/或以写入请求已经满足的指示对i/o装置作出响应。本文中将进一步描述分别响应于读取和写入请求的接收的此类检索和数据传送的实例。
36.状态机111可包含被配置成对输入执行操作且产生输出的一或多个处理装置、电路组件和/或逻辑。在一些实施例中,状态机111可为有限状态机(fsm)或硬件状态机,其可被配置成接收变化的输入且基于所接收的输入产生所得输出。举例来说,状态机111可传送存取信息(例如,“i/o access info”)进出存储器存取mux 109,以及传送中断配置信息(例如,“interrupt config”)和/或中断请求消息(例如,“interrupt request”)进出阶层式存储器控制器113。在一些实施例中,状态机111可进一步传送控制消息(例如,“mux ctrl”)进出存储器存取多路复用器109。
37.access info消息可包含对应于从阶层式存储器设备104外部的i/o装置接收到的数据存取请求的信息。在一些实施例中,access info可包含对应于待存储在持久存储器装置中的数据的逻辑寻址信息,或对应于待从持久存储器装置检索的数据的寻址信息。
38.interrupt config消息可由状态机111在阶层式存储器控制器113上确证以配置待在阶层式存储器设备104外部确证的适当中断消息。举例来说,当阶层式存储器设备104在耦合到阶层式存储器设备104的超管理器上确证中断作为满足重新引导的读取或写入请求的部分时,interrupt config消息可由状态机111产生以基于所述操作是从持久存储器装置检索数据的操作还是将数据写入到持久存储器装置的操作而产生适当的中断消息。
39.interrupt request消息可由状态机111产生且在中断组件115上确证以使得在超管理器(或裸机服务器或其它计算装置)上确证中断消息。如本文中更详细描述,中断115可在超管理器上确证以使得超管理器对数据检索或数据到持久存储器装置的写入区分优先级作为阶层式存储器系统的操作的部分。
40.mux ctrl消息可由状态机111产生且在存储器存取mux 109上确证以控制存储器存取mux 109的操作。在一些实施例中,mux ctrl消息可由状态机111在存储器存取mux 109上确证(反之亦然),作为上文描述的存储器存取mux 109操作的执行的一部分。
41.阶层式存储器控制器113可包含核心,例如集成电路、芯片、芯片上系统或其组合。在一些实施例中,阶层式存储器控制器113可以是外围组件互连高速(pcie)核心。如本文中所使用,“核心”指代接收指令且基于接收到的指令执行任务或动作的逻辑、处理器和/或协同处理器的可重复使用单元。
42.阶层式存储器控制器113可包含地址寄存器(例如,基地址寄存器)106-1到106-n和/或中断组件115。地址寄存器106-1到106-n可为基地址寄存器(bar),其可存储由阶层式存储器设备104或计算系统(例如,本文中图3和4中所说明的计算系统301或401)使用的存储器地址。地址寄存器中的至少一个(例如,地址寄存器106-1)可存储存储器地址,其提供从外部位置,例如图4中所说明的超管理器412对阶层式存储器设备104的内部寄存器的存取。
43.不同地址寄存器(例如,地址寄存器106-2)可用于存储对应于中断控制的地址,如
本文中更详细描述。在一些实施例中,地址寄存器106-2可映射直接存储器存取(dma)读取和dma写入控制和/或状态寄存器。举例来说,地址寄存器106-2可包含对应于用于dma命令链的描述符和/或控制位的地址,其可包含产生可针对超管理器确证的一或多个中断消息作为阶层式存储器系统的操作的一部分,如本文中结合图4所描述。
44.地址寄存器中的又一个(例如,地址寄存器106-3)可存储对应于进出超管理器(例如,本文中图4中所说明的超管理器412)的存取的地址。在一些实施例中,可经由与阶层式存储器设备104相关联的先进可扩展接口(axi)dma提供进出超管理器的存取。在一些实施例中,地址寄存器可映射对应于经由阶层式存储器设备104的dma(例如,axidma)传送到阶层式存储器设备104外部的位置的数据的地址。
45.在一些实施例中,至少一个地址寄存器(例如,地址寄存器106-n)可存储对应于i/o装置(例如,图3/4所说明的i/o装置310/410)存取信息(例如,对阶层式存储器设备104的存取)的地址。地址寄存器106-n可存储被与阶层式存储器设备104相关联的dma组件略过的地址。可提供地址寄存器106-n使得映射到其上的地址不由阶层式存储器设备104的物理存储器位置“备份”。也就是说,在一些实施例中,阶层式存储器设备104可配置有地址空间,其存储对应于持久存储器装置的地址(例如,逻辑地址)和/或存储于持久存储器装置(例如,图3和4中所说明的持久存储器装置316或416)中的数据,而不存储阶层式存储器设备104所存储的数据。每一相应地址可对应于持久存储器装置中的不同位置和/或存储在持久存储器装置中的数据的不同部分的位置。举例来说,地址寄存器106-n可被配置为可存储对应于物理存储器位置(例如,在存储器装置中)的逻辑地址的虚拟地址空间,数据可编程到所述物理存储器位置或将数据存储在所述物理存储器位置中。
46.在一些实施例中,地址寄存器106-n可包含对应于存储器装置(例如,本文中图3和4中所说明的持久存储器装置316或416)的大小的一定量的地址空间。举例来说,如果存储器装置含有一个太字节的存储装置,那么地址寄存器106-n可被配置成具有可包含一个太字节的地址空间的地址空间。然而,如上文所描述,地址寄存器106-n实际上不包含一个太字节的存储容量,而是被配置成呈现为具有一个太字节的存储空间。
47.作为实例,阶层式存储器设备104(例如,存储器存取mux 109和/或状态机111)可接收指示对耦合到状态机111(例如,包含于状态机中的逻辑电路系统)的基址寄存器的存取已发生的命令。在一些实例中,状态机111的逻辑电路系统可驻留于控制器(例如,阶层式存储器控制器113)上。在其它实例中,状态机111的逻辑电路系统可在控制器113外部。所述命令可指示涉及持久存储器装置、非持久存储器装置或这两者的数据存取。在一些实施例中,持久存储器装置可在阶层式存储器设备104的外部。举例来说,持久存储器装置可为图3和4中所说明的持久存储器装置316或416。然而,在一些实施例中,持久存储器装置可包含在阶层式存储器设备104中(例如,在所述阶层式存储器设备内部)。
48.举例来说,阶层式存储器设备104可经由接口从存储器管理电路系统(例如,经由本文中图3和4中所说明的接口308或408从存储器管理电路系统314或414)接收命令。举例来说,所述命令可为来自i/o装置(例如,本文中图3和4中所说明的i/o装置310或410)的重新引导的请求。
49.响应于接收到所述命令,状态机111可确定存取命令对应于将数据从非持久存储器装置分流到持久存储器装置的操作。使用地址寄存器106-n,持久存储器装置中的地址对
应于数据的部分(例如,持久存储器装置中的数据的位置)。举例来说,存储器存取mux109和/或状态机111可存取寄存器106-n以从寄存器106-n检索(例如,俘获)地址。阶层式存储器设备104(例如,存储器存取mux 109和/或状态机111)也可响应于接收到存取命令而检测对i/o装置的存取,且从i/o装置接收(例如,俘获)对应于存取命令的i/o装置存取信息,包含例如虚拟i/o装置存取信息。i/o装置存取信息可存储在寄存器106-n和/或i/o存取组件107中(例如,虚拟i/o装置存取信息可存储在i/o存取组件107中)。此外,在一些实施例中,阶层式存储器设备104可使信息与指示非持久存储器装置(例如,本文中图3和4中所说明的非持久存储器装置330/430)不可存取的数据部分的数据部分相关联。
50.阶层式存储器设备104(例如,存储器存取mux 109和/或状态机111)可接着产生存取(例如,读取)数据的部分的请求。所述请求可包含确定为对应于数据(例如,指示持久存储器装置中的数据的位置的地址)的持久存储器装置中的地址。连同请求,阶层式存储器设备104(例如,存储器存取mux 109和/或状态机111)也可响应于存取命令的接收而使用地址寄存器106-2产生中断信号(例如,消息)。举例来说,存储器存取mux 109和/或状态机111可通过存取地址寄存器102和使用中断组件115而产生中断信号。
51.阶层式存储器设备104(例如,mux 109和/或状态机111)可接着将中断信号和存取数据的部分的请求发送到持久存储器装置。mux 109和/或状态机111可使得中断信号在可耦合到逻辑电路系统(例如,状态机111)的主机上确证作为将数据从非持久存储器装置分流到持久存储器装置的操作的部分。举例来说,中断信号可通过阶层式存储器设备104(例如,存储器存取mux 109和/或状态机111)发送作为将数据从非持久存储器装置存取到持久存储器装置的请求的部分。
52.在持久存储器装置在阶层式存储器设备104外部的实施例中,中断信号和将数据从非持久存储器装置存取到持久存储器装置的请求可经由接口发送,将数据从非持久存储器装置分流到持久存储器装置的存取命令经由所述接口接收(例如,经由本文中图3和4中所说明的接口308或408)。作为额外实例,在持久存储器装置包含于阶层式存储器设备104中的实施例中,中断信号可经由接口发送,而将数据从非持久存储器装置存取到持久存储器装置的请求可直接发送到持久存储器装置。此外,阶层式存储器设备104(例如,存储器存取mux 109和/或状态机111)也可经由接口发送来自寄存器106-n的i/o装置存取信息和/或来自i/o存取组件107的虚拟i/o装置存取信息作为请求的部分。
53.在发送中断信号和存取基地址寄存器的请求之后,阶层式存储器设备104可从持久存储器装置接收数据的所述部分(例如,从持久存储器装置进行读取)。举例来说,在持久存储器装置在阶层式存储器设备104外部的实施例中,数据可经由接口从持久存储器装置接收,且在持久存储器装置包含在阶层式存储器设备104中的实施例中,数据可直接从持久存储器装置接收。在接收到数据的所述部分之后,阶层式存储器设备104可将数据发送到i/o装置(例如,本文中图3和4中所说明的i/o装置310或410)。此外,阶层式存储器设备104可将数据存储于读取缓冲器103中(例如,在将数据发送到i/o装置之前)。
54.尽管图1中未明确展示,但阶层式存储器设备104可耦合到主机计算系统。在一些实施例中,主机可以通信方式耦合到超管理器。主机计算系统可包含系统母板和/或底板,且可包含数个处理资源(例如,一或多个处理器、微处理器或某一其它类型的控制电路系统)。举例来说,主机和阶层式存储器设备104可以是服务器系统和/或高性能计算(hpc)系
统和/或其一部分。在一些实施例中,计算系统可具有冯诺伊曼体系结构(von neumann architecture),然而,本公开的实施例可实施于可不包含常常与冯诺伊曼体系结构相关联的一或多个组件(例如,cpu、alu等)的非冯诺伊曼体系结构中。
55.图2是根据本公开的数个实施例的阶层式存储器设备204的功能框图。阶层式存储器设备204可为计算系统的部分,和/或可以类似于先前结合图1所描述的阶层式存储器设备104的方式提供为fpga、asic、数个离散电路组件等。
56.如图2中所说明,阶层式存储器设备204可包含存储器资源202,其可包含数据缓冲器218和/或输入/输出(i/o)装置存取组件207。存储器资源202可类似于先前结合图1所描述的存储器资源102,除了数据缓冲器218可替代读取缓冲器103和写入缓冲器105。举例来说,先前结合读取缓冲器103和写入缓冲器105所描述的功能性可组合到数据缓冲器218的功能性中。在一些实施例中,数据缓冲器218的大小可为约4kb,但实施例不限于此特定大小。
57.阶层式存储器设备204可进一步包含存储器存取多路复用器(mux)209、状态机211,和/或阶层式存储器控制器213(或为简单起见“控制器”)。如图2所示,阶层式存储器控制器213可包含多个地址寄存器206-1到206-n和/或中断组件215。存储器存取mux 209可包含电路系统,所述电路系统可包括一或多个逻辑门且可被配置成控制针对阶层式存储器设备104的数据和/或地址总线。举例来说,存储器存取mux 209可传送消息进出存储器资源202,以及与阶层式存储器控制器213和/或状态机211通信,如下文更详细地描述。
58.存储器存取mux 209可包含类似于先前结合图1所描述的存储器存取mux 109的电路系统的电路系统,且可以类似于先前针对存储器存取mux 109所描述的方式重新引导由阶层式存储器设备204(例如,从主机、i/o装置或超管理器)接收到的传入消息、命令和/或请求(例如,读取和/或写入请求)。举例来说,存储器存取mux 209可重新引导此类请求作为确定待存取的地址寄存器206中的地址的操作的部分,如先前结合图1所描述。举例来说,响应于确定请求对应于写入到阶层式存储器设备204外部的位置的与地址相关联的数据,存储器存取mux 209可促进数据的检索,数据到数据缓冲器218的传送,和/或数据到阶层式存储器设备204外部的位置的传送,如先前结合图1所描述。此外,响应于确定请求对应于从阶层式存储器设备204外部的位置读取的数据,存储器存取mux 209可促进数据的检索,数据到数据缓冲器218的传送,和/或数据或与数据相关联的地址信息到阶层式存储器设备204内部的位置,例如地址寄存器206的传送,如先前结合图1所描述。
59.状态机211可耦合到控制器213且可包含被配置成以类似于先前结合图1所描述的状态机111的方式对输入执行操作且产生输出的一或多个处理装置、电路组件和/或逻辑。举例来说,状态机211可传送存取信息(例如,“i/o access info”)和控制消息(例如,“mux ctrl”)进出存储器存取多路复用器209,和/或中断请求消息(例如,“interrupt request”)进出阶层式存储器控制器213,如先前结合图1所描述。然而,相比于状态机111,应注意,状态机211可不传送中断配置信息(例如,“interrupt config”)进出控制器213。
60.阶层式存储器控制器213可以类似于先前结合图1所描述的控制器113的方式包含核心。在一些实施例中,阶层式存储器控制器213可以类似于控制器113的方式为pcie核心。
61.阶层式存储器控制器213可包含地址寄存器206-1到206-n和/或中断组件215。地址寄存器206-1到206-n可为bar,其可存储由阶层式存储器设备204或计算系统(例如,本文
中图3和4中所说明的计算系统301/401)使用的存储器地址。控制器213可包括bar且耦合到持久存储器装置。
62.地址寄存器中的至少一个(例如,地址寄存器206-1)可以类似于先前结合图1所描述的地址寄存器106-1的方式存储存储器地址,其提供从外部位置,例如图4中所说明的超管理器412对阶层式存储器设备204的内部寄存器的存取。地址寄存器中的又一个(例如,地址寄存器206-2)可以类似于先前结合图1所描述的地址寄存器106-3的方式存储对应于对超管理器的存取和来自超管理器的地址。此外,至少一个地址寄存器(例如,地址寄存器206-n)可以类似于先前结合图1所描述的地址寄存器106-n的方式存储地址且包含地址空间。
63.状态机211可接收指示对寄存器206(例如,bar)的存取已发生的命令,所述命令可指示涉及可耦合到控制器213的持久存储器装置和/或非持久存储器装置的数据存取。状态机211可确定所述存取命令对应于将数据从所述非持久存储器装置分流到所述持久存储器装置的操作。
64.如图2所示(且相比于阶层式存储器设备104),阶层式存储器设备204可包含清除中断寄存器222和超管理器完成寄存器224。清除中断寄存器222可存储通过中断组件215产生的中断信号作为读取或写入数据的请求的部分,如本文中先前所描述,且超管理器完成寄存器224可提供超管理器(例如,图4中所说明的超管理器412)正存取阶层式存储器设备204的内部寄存器以映射地址来读取或写入数据的指示(例如,到状态机211),如本文中先前所描述。一旦读取或写入请求已经完成,中断信号就可从寄存器222清除,且超管理器完成寄存器224可提供超管理器不再存取阶层式存储器设备204的内部寄存器的指示(例如,到状态机211)。
65.尽管在图2中未明确展示,但阶层式存储器设备204可以类似于针对阶层式存储器设备104所描述的方式耦合到主机计算系统。主机可耦合到超管理器。举例来说,主机和阶层式存储器设备204可为服务器系统和/或hpc系统和/或其一部分,如结合图1所描述。状态机211可响应于接收到存取命令和存取命令对应于将数据从非持久存储器装置分流到持久存储器装置的操作的确定而产生中断信号。
66.状态机211可使得中断信号在可耦合到状态机211的主机上确证,作为将数据从非持久存储器装置分流到持久存储器装置的操作的部分。此外,状态机211可接收数据通过主机接收的指示。举例来说,因为主机可耦合到超管理器,所以超管理器完成寄存器224可将超管理器不再存取地址寄存器206的信号传输到状态机211。
67.如图2中所示(且相比于阶层式存储器设备104),阶层式存储器设备204可包含存取保持组件226。存取保持组件226可限制地址寄存器206-n的地址空间。举例来说,存取保持组件226可限制地址寄存器206-n的地址低于4k。
68.图3是根据本公开的数个实施例的呈包含阶层式存储器设备304的计算系统301形式的功能框图。阶层式存储器设备304可分别类似于图1和2中所说明的阶层式存储器设备104和/或204。另外,计算系统301可包含输入/输出(i/o)装置310、持久存储器装置316、非持久存储器装置330、中间存储器组件320,和存储器管理组件314。可经由接口308促进阶层式存储器设备304、i/o装置310与持久存储器装置316、非持久存储器装置330和存储器管理组件314之间的通信。
69.i/o装置310可为被配置成经由物理地址和/或虚拟机物理地址提供直接存储器存取的装置。在一些实施例中,i/o装置310可为nic、存储装置、图形呈现装置,或其它i/o装置。i/o装置310可以是物理i/o装置,或i/o装置310可以是虚拟化i/o装置310。举例来说,在一些实施例中,i/o装置310可为经由总线或例如pcie接口或其它合适的接口的接口以物理方式耦合到计算系统的物理卡。在i/o装置310为虚拟化i/o装置310的实施例中,虚拟化i/o装置310可以分布的方式提供i/o功能性。在一些实施例中,nic可用作耦合到状态机(例如,图1和2的状态机111或211)的输入/输出。经由nic,状态机可传输指示涉及持久存储器装置、非持久存储器装置或这两者的数据存取的命令。
70.持久存储器装置316可包含数个存储器单元阵列。举例来说,阵列可以是具有nand架构的快闪阵列。然而,实施例不限于特定类型的存储器阵列或阵列架构。存储器单元可例如分组成包含数个物理页的数个块。数个块可包含于存储器单元的平面中,且阵列可包含数个平面。
71.持久存储器装置316可包含易失性存储器和/或非易失性存储器。在数个实施例中,持久存储器装置316可包含多芯片装置。多芯片装置可包含数个不同的存储器类型和/或存储器模块。举例来说,存储器系统可包含任何类型的模块上的非易失性或易失性存储器。在持久存储器装置316包含非易失性存储器的实施例中,持久存储器装置316可为例如nand或nor快闪存储器装置的快闪存储器装置。
72.然而,实施例不限于此,且持久存储器装置316可包含其它非易失性存储器装置,例如非易失性随机存取存储器装置(例如,nvram、reram、feram、mram、pcm)、例如电阻可变存储器装置(例如,电阻性和/或相变存储器装置,例如3d交叉点(3d xp)存储器装置)等“新兴”存储器装置、包含自选存储器(ssm)单元的阵列的存储器装置等,或其组合。非易失性存储器的电阻性和/或相变阵列可以结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,相比于许多基于快闪的存储器,电阻性和/或相变存储器装置可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。相比于基于快闪的存储器,自选存储器单元可包含具有充当存储器单元的开关和存储元件两者的单个硫族化物材料的存储器单元。
73.持久存储器装置316可为计算系统301提供存储容量,且因此可用作整个计算系统301的额外存储器或存储装置、计算系统301的主存储器,或其组合。然而,实施例不限于特定类型的存储器装置,且持久存储器装置316可包含ram、rom、sram dram、sdram、pcram、rram和快闪存储器等等。此外,尽管在图3中说明了单个持久存储器装置316,但实施例不限于此,且计算系统301可包含一或多个持久存储器装置316,其中的每一个可或可不具有与其相关联的相同架构。作为非限制性实例,在一些实施例中,持久存储器装置316可包括具有不同架构的两个离散存储器装置,例如nand存储器装置和电阻可变存储器装置。
74.非持久存储器装置330可包含易失性存储器,例如易失性存储器单元的阵列。在数个实施例中,非持久存储器装置330可包含多芯片装置。多芯片装置可包含数个不同的存储器类型和/或存储器模块。在一些实施例中,非持久存储器装置330可充当计算系统301的主存储器。举例来说,非持久存储器装置330可为用以向计算系统301提供主存储器的动态随机存取(dram)存储器装置。然而,实施例不限于包括dram存储器装置的非持久存储器装置330,且在一些实施例中,非持久存储器装置330可包含其它非持久存储器装置,例如ram、
sram dram、sdram、pcram和/或rram等等。
75.非持久存储器装置330可存储可例如由主机计算装置请求的数据,作为计算系统301的操作的部分。举例来说,当计算系统301是多用户网络的一部分时,非持久存储器装置330可存储在计算系统301的操作期间可在主机计算装置(例如,部署在多用户网络中的虚拟机)之间传送的数据。
76.在一些方法中,例如非持久存储器装置330的非持久存储器可存储由主机(例如,部署在多用户网络中的虚拟机)存取的所有用户数据。举例来说,由于非持久存储器的速度,一些方法依赖于非持久存储器为部署在多用户网络中的虚拟机提供存储器资源。然而,在这些方法中,由于非持久存储器通常比持久存储器(例如,持久存储器装置316)昂贵,成本可能成问题。
77.相比之下,如下文更详细地描述,本文中的实施例可允许将存储在非持久存储器装置330中的至少一些数据存储在持久存储器装置316中。这可允许以比依赖于非持久存储器进行用户数据存储的方法低的成本将额外存储器资源提供到计算系统301,例如多用户网络。
78.计算系统301可包含存储器管理组件314,其可以通信方式耦合到非持久存储器装置330和/或接口308。在一些实施例中,存储器管理组件314可以是可以通信方式将例如接口308等直接存储器存取总线耦合到非持久存储器装置330的输入/输出存储器管理单元(io mmu)。然而,实施例不限于此,且存储器管理组件314可以是促进接口308与非持久存储器装置330之间的通信的其它类型的存储器管理硬件。
79.存储器管理组件314可将装置可见虚拟地址映射到物理地址。举例来说,存储器管理组件314可将与i/o装置310相关联的虚拟地址映射到非持久存储器装置330和/或持久存储器装置316中的物理地址。在一些实施例中,可通过本文中在图1中所说明的读取缓冲器、写入缓冲器和/或i/o存取缓冲器或本文中在图2中所说明的数据缓冲器和/或i/o存取缓冲器来促进映射与i/o装置310相关联的虚拟条目。
80.在一些实施例中,存储器管理组件314可读取与i/o装置310相关联的虚拟位址和/或将虚拟位址映射到非持久存储器装置330中的物理地址或映射到阶层式存储器设备304中的地址。在存储器管理组件314将虚拟i/o装置310地址映射到阶层式存储器设备304中的地址的实施例中,存储器管理组件314可将从i/o装置310接收到的读取请求(或写入请求)重新引导到阶层式存储器设备304,其可将与i/o装置310读取或写入请求相关联的虚拟位址信息存储在阶层式存储器设备304的地址寄存器(例如,地址寄存器306-n)中,如先前结合图1和2所描述。在一些实施例中,地址寄存器306-n可为阶层式存储器设备304的特定基地址寄存器,例如bar4地址寄存器。
81.重新引导的读取(或写入)请求可经由接口308从存储器管理组件314传送到阶层式存储器设备304。在一些实施例中,接口308可为pcie接口,且因此可根据pcie协议在存储器管理组件314与阶层式存储器设备304之间传递信息。然而,实施例不限于此,且在一些实施例中,接口308可以是根据另一合适的协议运作的接口或总线。
82.在将虚拟nic地址存储于阶层式存储器设备304中之后,对应于虚拟nic地址的数据可写入到持久存储器装置316。举例来说,对应于存储于阶层式存储器设备304中的虚拟nic地址的数据可存储于持久存储器装置316的物理地址位置中。在一些实施例中,可通过
如本文中结合图4所描述的超管理器促进传送数据进出持久存储器装置316。
83.当数据例如由主机计算装置(例如,计算系统301中部署的虚拟机)请求时,所述请求可由存储器管理组件314从i/o装置310重新引导到阶层式存储器设备304。因为对应于持久存储器装置316中的数据的物理位置的虚拟nic地址存储于阶层式存储器设备304的地址寄存器306-n中,所以阶层式存储器设备304可促进从持久存储器装置316检索数据,如本文中先前所描述。举例来说,阶层式存储器设备304可促进结合超管理器从持久存储器装置316检索数据,如本文中结合图4更详细地描述。
84.在一些实施例中,当已存储在持久存储器装置316中的数据传送出持久存储器装置316时(例如,当已存储在持久存储器装置316中的数据由主机计算装置请求时),数据可在提供到主机计算装置之前传送到中间存储器组件320和/或非持久存储器装置330。举例来说,因为传送到主机计算装置的数据可以确定性方式(例如,经由ddr接口)传送,所以数据可在满足数据请求之前暂时传送到使用ddr总线操作的存储器,例如中间存储器组件320和/或非持久存储器装置330。
85.图4是根据本公开的数个实施例的呈包含阶层式存储器设备404的计算系统401形式的另一功能框图。如图4中所示,计算系统401可包含阶层式存储器设备404,其可类似于图1、2和3中所说明的阶层式存储器设备104、204和/或304。另外,计算系统401可包含i/o装置410、持久存储器装置416、非持久存储器装置430、中间存储器组件420、存储器管理组件414,和超管理器412。
86.在一些实施例中,计算机系统401可为多用户网络,例如软件定义的数据中心、云计算环境等。在这类实施例中,计算系统可被配置成具有在其上运行的一或多个虚拟机417。举例来说,在一些实施例中,一或多个虚拟机417可部署在超管理器412上并且可由多用户网络的用户存取。
87.i/o装置410、持久存储器装置416、非持久存储器装置430、中间存储器组件420和存储器管理组件414可类似于图3中所说明的i/o装置310、持久存储器装置316、非持久存储器装置330、中间存储器组件320和存储器管理组件314。可经由接口408促进阶层式存储器设备404、i/o装置410与持久存储器装置416、非持久存储器装置430、超管理器412和存储器管理组件414之间的通信,所述接口可类似于图3中所说明的接口308。
88.如上文结合图3所描述,存储器管理组件414可使得将与i/o装置410相关联的读取请求或写入请求重新引导到阶层式存储器设备404。阶层式存储器设备404可产生和/或存储对应于请求的数据的逻辑地址。如上文所描述,阶层式存储器设备404可将对应于请求的数据的逻辑地址存储在基地址寄存器,例如阶层式存储器设备404的地址寄存器406-n中。
89.如图4中所示,超管理器412可经由接口408与阶层式存储器设备404和/或i/o装置410通信。超管理器412可经由阶层式存储器设备404的nic存取组件(例如,图1和2中所说明的nic存取组件107或207)在阶层式存储器设备404之间传输数据。另外,超管理器412可与持久存储器装置416、非持久存储器装置430、中间存储器组件420和存储器管理组件414通信。超管理器可被配置成执行专门指令来执行本文中所描述的操作和/或任务。
90.举例来说,超管理器412可执行指令以监测数据流量和数据流量模式以确定数据是否应存储在非持久存储器装置430中或数据是否应传送到持久存储器装置416。也就是说,在一些实施例中,超管理器412可执行指令以随时间推移学习用户数据请求模式,且基
于所述模式选择性地将数据的部分存储在非持久存储器装置430或持久存储器装置416中。此可允许较频繁存取的数据存储在非持久存储器装置430中,而较不频繁存取的数据存储在持久存储器装置416中。
91.因为相较于最近不太使用或最近不太检视的数据,用户可更频繁地存取最近使用或检视的数据,所以超管理器可执行专门指令以使得最近不太使用或检视的数据存储在持久存储器装置416中,和/或使得最近存取或检视的数据存储在非持久存储器装置430中。在非限制性实例中,相较于最近不太拍摄(例如,一个月以前、一年以前等)的照片,用户可更频繁地检视社交媒体上的最近拍摄(例如,一周内等)的照片。基于此信息,超管理器412可执行专门指令以使得最近不太检视或拍摄的照片存储在持久存储器装置416中,由此减小存储在非持久存储器装置430中的数据量。此可减少必需为计算系统401提供的非持久存储器的总量,由此降低成本且允许更多用户存取非持久存储器装置430。
92.在操作中,计算系统401可被配置成拦截来自i/o装置410的数据请求且将请求重新引导到阶层式存储器设备404。在一些实施例中,超管理器412可控制对应于数据请求的数据将存储在非持久存储器装置430中还是持久存储器装置416中(或从哪一个检索)。举例来说,超管理器412可执行指令以选择性地控制数据存储在持久存储器装置416中还是非持久存储器装置430中(或从哪一个检索)。
93.作为控制数据存储在持久存储器装置416中和/或非持久存储器装置430中(或从哪一个检索)的部分,超管理器412可使得存储器管理组件414映射与将重新引导到阶层式存储器设备404且存储在阶层式存储器设备404的地址寄存器406中的数据相关联的逻辑地址。举例来说,超管理器412可执行指令来控制涉及将经由存储器管理组件414选择性地重新引导到阶层式存储器设备404的数据的读取和写入请求。
94.存储器管理组件414可将连续虚拟地址映射到基础片段物理地址。因此,在一些实施例中,存储器管理组件414可允许将虚拟地址映射到物理地址,而不必要求物理地址为连续的。此外,在一些实施例中,存储器管理组件414可允许在存储器管理组件414中寻址不能足够长地支持存储器地址以寻址其对应物理存储器空间的装置。
95.由于与持久存储器装置416相关联的数据传送的非确定性性质,阶层式存储器设备404可在一些实施例中被配置成通知计算系统401可能引发传送数据进出持久存储器装置316的过程中的延迟。作为初始化延迟的部分,当将数据请求重新引导到阶层式存储器设备404时,阶层式存储器设备404可为计算系统401提供页错误处置。在一些实施例中,阶层式存储器设备404(例如,图1和2的状态机111或211)可针对超管理器412产生和确证中断,如本文中先前所描述,以发起传送数据进出持久存储器装置416的操作。举例来说,由于与持久存储器装置416相关联的数据检索和存储的非确定性性质,阶层式存储器设备404(例如,和/或图1和2的状态机111或211)可在请求存储于持久存储器装置416中的数据的传送时产生超管理器中断415。
96.响应于通过阶层式存储器设备404产生的页错误中断,超管理器412可从阶层式存储器设备404(例如,和/或图1和2的状态机111或211)检索对应于数据的信息。举例来说,超管理器412可从阶层式存储器设备接收nic存取数据,其可包含对应于存储于阶层式存储器设备404的地址寄存器406中的数据的逻辑到物理地址映射,如本文中先前所描述。
97.一旦数据已存储在持久存储器装置416中,非持久存储器装置430的部分(例如,
页、块等)可标记为不可由阶层式存储器设备404存取,如本文中先前所描述,使得计算系统401不试图从非持久存储器装置430存取数据。这可允许数据请求被页错误拦截,其可由阶层式存储器设备404产生且在已存储在持久存储器装置416中的数据由i/o装置410请求时针对超管理器412确证。
98.相比于响应于应用请求存取不由存储器管理单元(例如,存储器管理组件414)映射的存储器页而发生页错误异常的方法,在本公开的实施例中,上文所描述的页错误可由阶层式存储器设备404(例如,和/或图1和2的状态机111或211)响应于数据在存储器管理组件414中映射到阶层式存储器设备404而产生,所述阶层式存储器设备又将数据映射到持久存储器装置316。
99.在一些实施例中,中间存储器组件420可用以响应于由i/o装置410发起的数据请求而缓冲存储在持久存储器装置416中的数据。相比于可经由pcie接口传递数据的持久存储器装置416,中间存储器组件420可采用ddr接口来传递数据。因此,在一些实施例中,中间存储器组件420可以确定性方式操作。举例来说,在一些实施例中,存储在持久存储器装置416中的所请求的数据可经由将中间存储器组件420耦合到i/o装置410的ddr接口暂时从持久存储器装置416传送到中间存储器组件420且随后传送到主机计算装置。
100.在一些实施例中,中间存储器组件可包括在计算系统401中部署的离散存储器组件(例如,sram高速缓冲存储器)。然而,实施例不限于此,且在一些实施例中,中间存储器组件420可为可分配用于响应于数据请求而从持久存储器装置416传送数据的非持久存储器装置430的部分。
101.在非限制性实例中,存储器管理电路系统(例如,存储器管理组件414)可耦合到阶层式存储器组件404(例如,图1和2的状态机111或211的逻辑电路系统)。存储器管理电路系统可被配置成接收请求以将具有与其相关联的对应虚拟nic地址的数据写入到非持久存储器装置(例如,非持久存储器装置430)。存储器管理电路系统可进一步被配置成至少部分地基于数据的特性而重新引导将数据写入到逻辑电路系统的请求。数据的特性可包含请求或存取数据的频繁程度,自从最后存取或请求数据以来已发生的时间量,数据的类型(例如,数据是否对应于特定文档类型,例如照片、文件、音频文档、应用文档等)等等。
102.在一些实施例中,存储器管理电路系统可被配置成基于通过超管理器412产生的命令和/或通过所述超管理器执行的指令而将请求重新引导到逻辑电路系统(例如,图1和2的状态机111或211的逻辑电路系统)。举例来说,如上文所描述,超管理器412可执行指令以控制对应于数据请求(例如,由i/o装置410产生的数据请求)的数据是存储在持久存储器装置416中还是非持久存储器装置430中。
103.在一些实施例中,超管理器412可促进通过将地址(例如,逻辑地址)写入到存储器管理电路系统而重新引导请求。举例来说,如果超管理器412确定对应于特定数据请求的数据将存储在持久存储器装置416中(或从其检索),那么超管理器412可使得对应于重新引导将由存储器管理电路系统存储的请求的地址,使得数据请求重新引导到逻辑电路系统。
104.在接收到重新引导的请求后,逻辑电路系统(例如,图1和2的状态机111或211的逻辑电路系统)可被配置成响应于接收到重新引导的请求而确定(例如,产生)对应于数据的地址和/或将所述地址存储于逻辑电路系统内的地址寄存器406中,如本文中先前所描述。在一些实施例中,逻辑电路系统可被配置成基于接收到重新引导的请求而使指示数据不可
由非持久存储器装置430存取的指示与数据相关联,如本文中先前描述。
105.逻辑电路系统可被配置成至少部分地基于接收到重新引导的请求而使得数据写入到持久存储器装置(例如,持久存储器装置416)。在一些实施例中,逻辑电路系统可被配置成产生中断信号且针对耦合到逻辑电路系统的超管理器(例如,超管理器412)确证中断信号,作为使得数据写入到持久存储器装置416的部分,如本文中先前所描述。如上文所描述,持久存储器装置416可包括3d xp存储器装置、自选存储器单元阵列、nand存储器装置或其它合适的持久存储器或其组合。
106.在一些实施例中,逻辑电路系统可被配置成从存储器管理电路系统接收重新引导的请求以从持久存储器装置416检索数据,将从持久存储器装置416检索数据的请求传送到超管理器412,和/或针对超管理器412确证中断信号,作为从持久存储器装置416检索数据的请求的部分,如本文中先前所描述。超管理器412可被配置成从持久存储器装置416检索数据和/或将数据传送到非持久存储器装置430。一旦数据已从持久存储器装置416检索,超管理器412可被配置成使得与数据相关联的更新后的地址传送到存储器管理电路系统414。
107.在另一非限制性实例中,计算系统401可为多用户网络,例如软件定义的数据中心、云计算环境等。多用户网络可包含计算资源池,所述计算资源池包含非持久存储器装置430和持久存储器装置416。多用户网络可进一步包含耦合到包括多个地址寄存器406的阶层式存储器组件404(例如,逻辑电路系统)的接口408。在一些实施例中,多用户网络可进一步包含耦合到接口408的超管理器412。
108.超管理器412可被配置成接收存取对应于非持久存储器组件430的数据的请求,确定数据存储在持久存储器装置中,且使得存取将重新引导到逻辑电路系统的数据的请求。存取数据的请求可为从持久存储器装置或非持久存储器装置读取数据的请求或将数据写入到持久存储器装置或非持久存储器装置的请求。
109.在一些实施例中,逻辑电路系统可被配置成响应于确定数据存储在持久存储器装置416中而将存取来自持久存储器装置416的数据的请求传送到超管理器412。逻辑电路系统可被配置成针对超管理器确证中断,作为对超管理器412的存取对应于持久存储器装置416的数据的请求的部分,如本文中先前所描述。
110.超管理器412可被配置成基于从逻辑电路系统接收到的请求而使得数据使用持久存储器装置416进行存取。如上文所描述,持久存储器装置416可包括电阻可变存储器装置,例如电阻性存储器、相变存储器、自选存储器单元阵列或其组合。在一些实施例中,超管理器412可被配置成使得数据传送到非持久存储器装置430,作为使得数据使用持久存储器装置416进行存取的部分。
111.超管理器412可进一步被配置成响应于使得数据使用持久存储器装置416进行存取,更新存储在与多用户网络相关联的存储器管理组件414中的信息。举例来说,超管理器412可被配置成使得对应于数据的更新后的虚拟地址存储在存储器管理组件414中。
112.在一些实施例中,多用户网络可包含耦合到逻辑电路系统的i/o装置410。在这类实施例中,逻辑电路系统可被配置成响应于超管理器412而将通知发送到i/o装置410,从而使得数据使用持久存储器装置416进行存取。
113.图5是根据本公开的数个实施例的表示阶层式存储器设备的实例方法540的流程图。阶层式存储器设备可例如为先前结合图1、2、3和4所描述的阶层式存储器设备104、204、
304和/或404。
114.在框542处,方法540可包含通过逻辑电路系统接收对应于存取包含于持久存储器装置(例如,图3的持久存储器装置316)、非持久存储器装置(例如,图3的非持久存储器装置330)或这两者中的数据的请求的nic存取信息。状态机可为结合图1和2所描述的状态机111或211。nic可类似于如本文中先前结合结合图3和4描述的i/o装置310或410所描述的输入/输出装置。在一些实施例中,逻辑电路系统可响应于从nic接收到存取信息而接收数据的读取或写入请求。
115.在非限制性实例中,状态机(例如,逻辑电路系统)可响应于所接收的写入操作而确定写入缓冲器(例如,图1的写入缓冲器105)是否已满,且响应于写入缓冲器未满而经由nic接收肯定写入操作,且通过逻辑电路系统从超管理器(例如,耦合到图4的超管理器412的主机)接收超管理器已完成写入操作的指示。来自超管理器的指示可从超管理器完成寄存器(例如,先前结合图2描述的224)传输。
116.在另一非限制性实例中,状态机(例如,逻辑电路系统)可响应于所接收的读取请求而进一步传输中断信号以将读取操作通知给超管理器,且响应于超管理器存取待从阶层式存储器设备的dram部分读取的数据而经由nic接收肯定读取操作。
117.在框544处,方法540可包含通过逻辑电路系统存取耦合到逻辑电路系统的基地址寄存器以确定对应于请求的数据的逻辑地址。基地址寄存器可例如为先前结合图1和2所描述的地址寄存器106-n或206-n,且可用于以类似于结合图1和2所描述的方式确定对应于数据的地址。
118.在框546处,方法540可包含通过逻辑电路系统确定请求的数据对应于将数据从非持久存储器装置分流到持久存储器装置的操作。在一些实施例中,逻辑电路系统可被配置成响应于确定数据存储在持久存储器装置中而将存取来自持久存储器装置的数据的请求传送到超管理器。逻辑电路系统可被配置成针对超管理器确证中断,作为对超管理器的存取对应于持久存储器装置的数据的请求的部分,如本文中先前所描述。
119.在框548处,方法540可包含通过所述逻辑电路系统响应于接收到nic存取信息和所述请求的数据对应于分流来自所述非持久存储器的数据的操作的确定而产生中断信号。
120.在框550处,方法540可包含将中断信号传送到可耦合到逻辑电路系统的超管理器,作为将数据从非持久存储器装置分流到持久存储器装置的操作的部分。在一些实施例中,将中断信号传送到可耦合到逻辑电路系统的超管理器提示超管理器从持久存储器装置检索数据,且将数据传送到非持久存储器装置。举例来说,当阶层式存储器设备在耦合到阶层式存储器设备的超管理器上确证中断作为满足重新引导的读取或写入请求的部分时,interrupt config消息可由状态机产生以基于所述操作是从持久存储器装置检索数据的操作还是将数据写入到持久存储器装置的操作而产生适当的中断消息。在一些非限制性实施例中,逻辑电路系统可接收后续nic存取信息。
121.举例来说,方法540可包含通过逻辑电路系统接收对应于存取包含于持久存储器装置、非持久存储器装置或这两者中的数据的后续请求的后续nic存取信息。通过所述逻辑电路系统存取耦合到所述逻辑电路系统的所述基地址寄存器以确定对应于后续请求的数据的逻辑地址。通过所述逻辑电路系统确定所述后续请求的数据对应于将数据从所述非持久存储器装置分流到所述持久存储器装置的操作。通过所述逻辑电路系统响应于接收到所
述后续nic存取信息和所述后续请求的数据对应于分流来自所述非持久存储器的数据的操作的所述确定而产生中断信号;以及将所述中断信号传送到可耦合到逻辑电路系统的所述超管理器作为将后续数据从所述非持久存储器装置分流到所述持久存储器装置的所述操作的部分。
122.虽然已在本文中说明并描述了具体实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所示的具体实施例。本公开意图覆盖本公开的一或多个实施例的调适或变化。应理解,以说明方式而非限制方式进行了以上描述。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的技术人员来说将显而易见。本公开的一或多个实施例的范围包含其中使用以上结构和过程的其它应用。因此,应参考所附权利要求书连同此类权利要求所赋予的等效物的全范围确定本公开的一或多个实施例的范围。
123.在前述具体实施方式中,出于简化本公开的目的而将一些特征一起分组在单个实施例中。本公开的此方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。实际上,如所附权利要求书所反映,本发明主题在于单个所公开实施例的不到全部的特征。因此,所附权利要求书特此并入于具体实施方式中,其中每项权利要求就其自身来说作为单独实施例存在。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献