在存储器插槽中支持多个存储器类型的制作方法

文档序号:15575813发布日期:2018-09-29 05:29阅读:195来源:国知局

本公开总体上涉及电子领域。更具体地,一些实施例总体上涉及在同一存储器插槽上支持ddr(双倍数据速率)dimm(双列直插式存储器模块)和nvm(非易失性存储器)dimm两者。



背景技术:

通常,用于在计算系统中存储数据的存储器可以是易失性的(以存储易失性信息)或非易失性的(以存储持久性信息)。存储在易失性存储器中的易失性数据结构通常用于在程序的运行时期间支持程序功能所需的临时或中间信息。另一方面,存储在非易失性(或持久性存储器)中的持久性数据结构在程序的运行时之外可用,并且可以重用。

随着处理器中计算能力的增强,一个问题是处理器可以对存储器进行存取的速度。例如,为了处理数据,处理器可能需要首先从存储器中取出数据。在完成数据处理之后,可能需要将结果存储在存储器中。因此,存储器存取速度可能对整体系统性能具有直接影响。

另一个重要的考虑因素是功耗。例如,在依赖于电池电力的移动计算设备中,降低功耗以允许设备在移动时操作是非常重要的。功耗对于非移动计算设备(例如,计算机服务器,例如,在数据中心中使用等)也是重要的,因为过多的功耗可能增加成本(例如,由于额外的功率使用,增加的冷却要求等)、缩短组件寿命或限制可以使用设备的位置。

附图说明

参考附图提供具体实施方式。在附图中,附图标记的最左边的(多个)数字标识该附图标记首次出现的图。在不同附图中使用相同的附图标记来指示相似或相同的项目。

图1和图3-5示出了可以用于实现本文所讨论的各种实施例的计算系统的实施例的框图。

图2a示出了根据实施例的混合dimm的框图。

图2b示出了用于允许混合dimm经由同一插槽对两个不同的存储器设备进行寻址的逻辑的框图。

图2c示出了根据实施例的平台存储器配置的框图。

具体实施方式

在以下描述中,阐述了许多具体细节以便提供对各种实施例的透彻理解。然而,可以在没有具体细节的情况下实践各种实施例。在其他实例中,没有详细描述公知的方法、过程、组件和电路,以免模糊特定实施例。此外,可以使用各种手段来执行实施例的各种方面,例如,集成半导体电路(“硬件”),组织成一个或多个程序的计算机可读指令(“软件”),或硬件和软件的某种组合。出于本公开的目的,对“逻辑”的引用应表示硬件、软件、固件或其某种组合。

一些实施例涉及在同一存储器插槽上支持ddr(或ddr4)dimm和nvmdimm两者。在实施例中,易失性和非易失性(nv)存储器以单一形状因子提供(例如,在诸如图2a中所示的单个dimm上)。两种类型的存储器在单个印刷电路板或dimm上的组合在本文中通常可以称为“混合”dimm。在各种实施例中,可以使在单个dimm主板上集成非易失性存储器和易失性存储器与标准ddrdimm(或其他ddr版本,例如,ddr3、ddr4、ddr5、lpddr(低功耗ddr)、gddr(图形ddr)等)连接器兼容,如本文中将进一步讨论的。在实施例中,混合存储器的易失性存储器和非易失性存储器部分中的每个能够通过使用片选信号通过分离的地址空间寻址。

此外,尽管通常参考非易失性存储器(nvm)讨论一些实施例,但实施例不限于单一类型的nvm,并且可以使用任何类型的非易失性存储器或不同nvm类型的组合(例如,包括nand和/或nor类型的存储器单元),或者可用于存储器的其他格式。存储介质(无论是以dimm格式还是以其他方式使用)可以是任何类型的存储器介质,包括例如以下中的一个或多个:纳米线存储器、铁电晶体管随机存取存储器(fetram)、磁阻随机存取存储器(mram)、多阈值水平nand闪速存储器、nor闪速存储器、自旋移矩随机存取存储器(sttram)、电阻随机存取存储器、字节可寻址的三维交叉点存储器、单级或多级pcm(相变存储器)、使用硫族化物相变材料(例如,硫族化物玻璃)的存储器设备。此外,由电力储备(例如,电池或电容)支持以保留数据的任何类型的随机存取存储器(ram)(例如,动态ram(dram))可以提供nv存储器解决方案。易失性存储器可以包括同步dram(sdram)。因此,在各种实施例中,甚至能够在电力故障或电力中断期间保留数据的易失性存储器也可以用于存储器。

本文讨论的技术可以在各种计算系统中提供(例如,包括诸如台式机、工作站、服务器、机架系统等的非移动计算设备以及诸如智能电话、平板电脑、umpc(超移动个人计算机)、膝上型计算机、ultrabooktm计算设备、智能手表、智能眼镜、智能手镯等的移动计算设备),包括参考图1-5讨论的那些。更特别地,图1示出了根据实施例的计算系统100的框图。系统100可以包括一个或多个处理器102-1至102-n(本文中一般称为“多个处理器102”或“处理器102”)。处理器102可以经由互连或总线104进行通信。每个处理器可以包括各种组件,为清楚起见,其中一些组件仅参考处理器102-1进行讨论。因此,其余的处理器102-2至102-n中的每个可以包括参考处理器102-1讨论的相同或相似的组件。

在实施例中,处理器102-1可以包括一个或多个处理器核心106-1至106-m(本文称为“多个核心106”,或者更一般地称为“核心106”)、处理器高速缓存108(在各种实施例中,其可以是共享高速缓存或私有高速缓存)和/或路由器110。处理器核心106可以在单个集成电路(ic)芯片上实现。此外,芯片可以包括一个或多个共享高速缓存和/或私有高速缓存(例如,处理器高速缓存108)、总线或互连(例如,总线或互连112)、逻辑120、存储器控制器(例如,参考图3-5所讨论的那些)或其他组件。

在一个实施例中,路由器110可以用于在处理器102-1和/或系统100的各种组件之间进行通信。此外,处理器102-1可以包括多于一个路由器110。此外,多个路由器110可以通信以实现处理器102-1内部或外部的各种组件之间的数据路由。

处理器高速缓存108可以存储由处理器102-1的一个或多个组件(例如,核心106)使用的数据(例如,包括指令)。例如,处理器高速缓存108可以本地缓存存储在存储器114中的数据,以供处理器102的组件更快地存取。如图1所示,存储器114可以经由互连104与处理器102进行通信。在实施例中,处理器高速缓存108(可以是共享的)可以具有各种级别,例如,处理器高速缓存108可以是中级高速缓存和/或最后一级高速缓存(llc)。另外,核心106中的每个核心可以包括1级(l1)处理器高速缓存(116-1)(本文中一般称为“l1处理器高速缓存116”)。处理器102-1的各种组件可以通过总线(例如,总线112)和/或存储器控制器或中心直接与处理器高速缓存108进行通信。

如图1所示,存储器114可以通过存储器控制器120耦合到系统100的其他组件。存储器114包括易失性存储器,并且可以互换地称为主存储器。虽然存储器控制器120被示出为耦合在互连104与存储器114之间,但是存储器控制器120可以位于系统100中的其他位置处。例如,在一些实施例中,存储器控制器120或其一部分可以在处理器102中的一个处理器内提供。

系统100还包括经由nv控制器逻辑125耦合到互连104的nv存储器130(或非易失性存储器(nvm),例如,符合nvme(快速nvm))。因此,逻辑125可以控制系统的各种组件对nvm130的存取。此外,虽然在图1中逻辑125被示为直接耦合到互连104,但是逻辑125可以经由存储总线/互连(例如,sata(串行高级技术附件)总线)、外围组件互连(pci)(或快速pci(pcie)接口)等)与系统100的一个或多个其他组件进行通信(例如,存储总线经由如总线桥、芯片组(例如,参考图3、图4和/或图5讨论的)等的某种其他逻辑耦合到互连104)。另外,在各种实施例中,逻辑125可以并入存储器控制器逻辑(例如,参考图3-5讨论的那些)中或者设置在同一集成电路(ic)设备上(例如,在与nvm130相同的ic设备上或在与nvm130相同的外壳中)。系统100还可以包括其他类型的非易失性存储器,例如,参考图3-5讨论的那些,包括例如硬盘驱动器等。

如上面提及的,在一个实施例中,“混合”存储器产品150(在本文中也互换地称为“混合”dimm、“混合”存储器或“混合”存储器)包括非易失性存储器(例如,nvm130)和易失性存储器(例如,存储器114)两者,以及可选的相关组件和/或逻辑(例如,逻辑120和/或逻辑125的部分)。混合存储器150将数据传送到处理器核心(例如,核心106中的一个)。在一个实施例中,混合dimm可以提供比仅dram(动态随机存取存储器)产品高的容量,同时还提供比仅基于nand的nvm产品快的存取时间。此外,系统100可以包括比仅混合存储器150多的存储器,例如,一个或多个附加nvm130和/或一个或多个附加存储器114,以及其相关联的逻辑(例如,逻辑120和/或逻辑125)。

在一些实施例中,混合存储器(例如,存储器150)可以根据以下三种不同的操作模式进行操作,包括:(1)“存储器模式”,其中混合存储器作为使用dram或主存储器(例如,图1的存储器114)的下一级存储器进行操作;(2)“应用引导模式”,其中特定(例如,软件)应用(例如,具有dimm驱动器支持)提供由应用控制的对主存储器的扩展(例如,对图1的存储器114或可以耦合到/插入系统的其他仅ddr的dimm的扩展);以及(3)“存储器模式”,其中混合存储器如同其为具有更高带宽、更高容量和/或更快存取时间的标准ssd(或其他nvm设备)一样进行操作。在一些实施例中,逻辑(例如,核心106、逻辑160、存储器控制器120、nv控制器逻辑125、bios(基本输入输出系统)或固件中的一个或多个)确定dimm是用作存储器还是用作持久性存储器,或者处于存储器模式。另外,可以使用上面讨论的三种不同模式的任何组合。在实施例中,bios和/或固件(例如,存在于dimm上)可以根据一个或多个目标模式对混合存储器进行编程以进行操作。

此外,由于随着时间推移数据集变得更大和/或处理器执行的线程数量增加,对更接近处理器的更大存储器容量的需求增加。当处理器无法从主存储器中找到数据或无法在主存储器中分配足够的空间时,处理器会求助于诸如ssd或hdd的辅助存储装置,其延迟比dimm长得多。这可能会显著地影响整体性能。为此,与仅用于ssd的块存取相反,本文讨论的混合存储器实施例可以使得越接近具有dimm形状因子的处理器以及高速缓存行存取,越大的存储器容量可用。

此外,例如由处理器或某种其他计算逻辑(例如,处理器102、核心106等)执行的操作系统(os)可以确定如何利用与混合存储器的nvm部分和易失性存储器部分相关联的两个地址空间。例如,存储器模式可以响应处理器并将数据复制到nvm(或将数据存储到nvm以反映数据来自任何其他ddr/易失性存储器或dimm);存储器模式可以导致nv部分被用作块存储器设备,而dram部分被保存为主存储器;或者,应用引导模式用于为某种逻辑(例如,os、处理器、驱动器等)提供分离的地址空间。

此外,在服务器平台中,ddrdimm可以是与具有更高带宽的处理器核心进行数据通信的基本单元。一种实现方式可以使用一个单独的非易失性存储器设备和一个分离/单独的易失性存储器设备,其中这两个不同的存储器设备使用两个或更多个插口。在更高密度的系统或更小形状因子系统中,经常没有足够的dimm/存储器插口来一起安装nvdimm与ddrdimm。如果用户必须用nvdimm替换ddrdimm中的一个,则系统经常受到带宽不足影响。对于这种占用比市场上的高端服务器平台高的体积的系统,为了在不牺牲太多高带宽dramdimm的情况下提供nvdimm的容量和不同模式的益处,需要创新的解决方案来增加带宽、降低功耗和/或增加单个dimm的容量。

为此,一些实施例通过在单个dimm模块上组合ddr/ddr4dimm和nvdimm两者来提供更高的带宽和/或更高的容量。在各种实施例中,可以在一个dimm形状因子上组合多于一个易失性存储器设备(例如,ddr/ddr4存储器)和/或多于一个nv存储器设备。实施例还集成了用于同一dimm设备上的两种存储器设备的相关存储器控制器。这样的方法通过单个ddr/dimm插口/插槽使两种存储器技术可用,并且实现最小化的空间使用以及更快的通信。另外,一些实施例可以在不改变平台设计而是表现为通过单个物理插口/插槽来提供两个逻辑dimm的情况下实现这些目标。例如,一个实施例提供了用于分离的dimm控制的路径(例如,经由smbus(系统管理总线),例如,参考图1、图3、图4和/或图5讨论的(多个)互连/(多个)总线中的一个或多个),以及(多个)ddr/ddr4和nvdimm接口。还可以使功率分布更均匀(例如,因为dimm接口的电源引脚中的至少两个可以针对两种类型的存储器共享,例如,以允许使用同一dimm插槽),同时在平台级别上支持更高的带宽。

在实施例中,混合dimm(在本文中有时也称为集成dimm)插入到一个标准ddr/ddr4插口/插槽中而无需平台修改,以将数据传送到处理器核心。利用若干重新目的化的引脚使用(例如,下面讨论的那些),双方(nv存储器和易失性存储器)可以如同它们是具有其自己的插口/插槽的独立dimm一样进行操作,并且解决其潜在地不同的热限制。因此,通过优化的放置和高效的热设计(例如,如参考图2a讨论的),具有不同温度限制的所有组件可以在可靠范围内进行操作。

如上面提及的,混合dimm在一个服务器主板中仅需要一个ddr/ddr4连接器来提供两种类型的存储器技术,而不是至少两个ddr/ddr4连接器。这进而允许对dimm的主板空间要求降低,并且允许更小系统形状因子的可行性。此外,一些类型1nvdimm可以包括一定容量的ddr/ddr4,结合同一dimm上的匹配nvm。物理地,这可能看起来相似,但针对不同的目标。更特别地,类型1nvdimm的nvm部分对于如本文所讨论的系统(例如,作为存储器的扩展)是不可见/不可寻址的,也不是独立的ssd设备;相反,它作为dimm的ddr/ddr4部分的故障-安全存储器被隐藏。即使最近努力定义nvdimm模型的扩展,也没有人能够提供存储器模式的nvdimm能力以及来自同一dimm的存储器模式,同时仍然为处理器提供ddr/ddr4带宽,如本文所讨论的。

此外,混合dimm可以经由例如嵌入板载nvdimm控制器(或诸如图1和图3-5中所示的其他位置或者其他位置)中的逻辑160提供热和/或功率管理解决方案。例如,逻辑160可以比较同一dimm上的两种类型的存储器的功率耗散、热行为和/或其他操作参数(例如,电流消耗、电压消耗等),并且使得对一种或两种存储器类型的操作特性(例如,频率、电流、电压等)进行修改,以实现混合dimm的整体热或功率行为的改变。在实施例中,逻辑160可以基于从一个或多个传感器(例如,参考图2b所讨论的那些)检测/接收的信息来进行比较(或修改),这些传感器(例如,热地、电地等)靠近存储器设备以检测温度、功率消耗、功率耗散、电流消耗、电压消耗等的变化。

例如,逻辑160可以平衡来自混合dimm的非易失性存储器部分的相对较高的功率耗散与混合dimm的易失性存储器部分的相对较低的功率耗散,并且管理混合dimm的整体热/性能行为。这进而允许混合dimm上的更均匀、优化的平台级功率分布,并且还允许与以dimm因子形式的纯粹非易失性存储器产品相比混合dimm在相同空间、体积、环境和/或温度限制要求下的更好性能。此外,如图1所示,逻辑120和/或125可以与处理器102共享相同的物理接口,例如,允许单个物理插槽用于两个逻辑接口。另外,一个或多个分离的插口或插槽可以用于其他类型的存储器,例如,系统100中的另一存储器114、另一nvm130、另一dimm/ddr等(未示出)。

此外,dimm上功率递送和管理逻辑(例如,逻辑160)可以提供保护以免于主电力(来自dimm连接器的电力)故障,这允许控制器逻辑在电力故障的情况下将dimm接口上的所有提交数据保存到nvm。通常,从处理器的角度来看,在dimm接口上提交的任何内容都被视为“消失或已存储”,并且此电力故障保护特征对于即使在电力故障发生之后也要维持数据完整性的许多(例如,计算系统或服务器)应用非常重要。

图2a示出了根据实施例的混合dimm200的框图。更特别地,图2a示出了混合dimm(例如,图1的混合存储器150)的两侧上的组件放置的示例,例如,其中非易失性存储器设备和易失性存储器设备以及相关组件以一个标准dimm形状因子提供。在一个标准ddr/ddr4dimm尺寸的pcb(印刷电路板)中,非易失性存储器设备(在图2a中标记为nvm,例如,形成nvm130)、控制器逻辑125和(多个)数据缓冲器(用于对要存储在nvm块中或从nvm块读取的数据进行缓冲)位于dimm的一侧(即,图2a的底部)。易失性存储器设备(在图2a中标记为dram,例如,图1的存储器114)、寄存器206(用于存储信息以供对dram块中的存储器单元进行寻址)、易失性存储器控制器逻辑(例如,逻辑120)和功率管理集成电路(pmic)204(例如,具有位于dimm的另一侧(即,图2a的顶部)的电压供应轨205)。在实施例中,寄存器206和逻辑120被组合以从处理器接收(多个)命令并将(多个)信号发送到(多个)易失性存储器设备。如图2a所示,dimm的nv侧还可以可选地包括用于支持pmic的功能的一个或多个设备208,例如,上面讨论的一个或多个传感器或其他逻辑和/或如本文讨论的用于支持电力故障保护的其他逻辑。另外,虽然图2a讨论了dimm的一侧专用于非易失性存储器而另一侧专用于易失性存储器,但是实施例不限于这种方法,并且可以在同一dimm的不同侧之间散布易失性存储器和nv存储器的部分和/或其相关联的逻辑。

在一些实施例中,基于设计指导,图2a中所示的组件通过pcb的不同层中的内部迹线耦合。dimm可以插入一个标准ddr/ddr4连接器中以与(多个)处理器核心(例如,图1的核心106)进行通信。另外,组件放置可以变化以实现针对不同功率、环境、可靠性等条件的热优化。

dimm可以包括由诸如ddr4(由(联合电子设备工程委员会,现在是jedec固态技术协会)颁布,包括例如ddr4sdram标准,rev.a,文档jesd79-4a,2013年11月)的标准定义的多个引脚。在实施例中,一个或多个引脚(例如,不用于控制易失性存储器,例如,图2a的引脚207中的任何一个)可以被重新目的化用于控制非易失性存储器,反之亦然。因此,通过使用未使用的引脚,在单个dimm上使用易失性存储器和非易失性存储器可以同时发生。存储器控制器可以一次向易失性存储器或非易失性存储器发送命令,因为数据总线可以由易失性存储器和非易失性存储器共享。然而,在存储器控制器发送另一命令之前,不需要完成来自存储器控制器的命令(例如,提供或写入数据)。

例如,来自存储器控制器的配置或控制引脚(例如,ax(地址引脚)、cx(片选引脚)、gnt(指示授权请求的状态的授权引脚)等中的一个或多个)用于两个ddr/ddr4cs#(片选)(例如,双区块(rank)ddr/ddr4)(或其他数量的区块,包括单个区块、多个区块等),odt(管芯上终端)和/或来自存储器控制器的cke(时钟使能)用于ddr/ddr4。两个片选(例如,c1和c2)引脚中的每个可以用于对在混合存储器设备上配置的不同区块(例如,2个区块,即区块1和0)进行寻址,例如,用于选择易失性存储器或非易失性存储器以供使用。作为示例,c2可以用于ddr4的cs1#,c1用于双区块ddr中的ddr的cs0#(或者在单区块设备的情况下,不需要c2或cs1#)。在一个示例中,地址引脚a17可以针对ddr转到cke,针对ddr的odt转到gnt(在一些实现方式中可以称为s1#)。另外,一些服务器存储器控制器可以包括信号复用能力,以支持针对不同配置的ddr/ddr4和nvdimm。因此,在这样的实现方式中,可以在存储器控制器寻址路径的末端对复用进行次要扩展。此外,可以对处理器存储器控制器进行次要扩展,以包括支持引脚将其自身重新目的化的能力。例如,处理器存储器控制器可能需要知道其是混合dimm还是常规ddrdimm,并且相应地将(多个)信号馈送到重新目的化的引脚。

例如,耦合到存储器控制器的引脚a17、c2、c1和gnt#可以用于ddr4的两个ddr4cs#、odt和cke。a17将重新目的化用于cke到易失性侧,并且gnt#可以重新目的化用于odt到易失性侧。此外,如果引脚映射(或重新目的化)以使a17对应于ddr的cs1#、c2对应于ddr的cs0#并且gnt对应于ddr的cke(其在一些实施例中也可以是ddr4dimm的sl#引脚)的方式实现,则c1可以是ddr的odt。在实施例中,在启动时,bios(基本输入输出系统)知道每个存储器通道上可用的特定dimm类型(例如,基于一些存储的信息,例如存储在非易失性存储器设备中的数据,包括例如本文参考图3、图4和/或图5讨论的那些)。基于这样的信息,bios可以生成存储器映射并根据存储器映射来配置存储器控制器(例如,存储器控制器120和/或nv控制器逻辑125)。

当存储器控制器检测到属于该混合的vm侧的地址时(即,在一些实施例中,对于存储器控制器仅可以将该地址范围用于此目的),存储器控制器根据其存取的是哪个区块来断言a17或c2(例如,在至少一个实施例中不使用命令)。要存取的区块也可以通过地址范围来确定,因为不同的区块将表示上面提及的存储器映射中的不同地址。另外,一旦存储器控制器检测到对应于nvm部分的地址,则存储器控制器使用协议(例如,nvdimm协议)并且使用一个或多个信号(例如,针对nvdimm协议定义的)来发送命令。因此,在这种情况下不对a17或c2引脚进行断言,使得ddr4部分避免响应dimm接口上驱动的地址/数据。此外,smbus可以独立于ddr或nvdimm;因此,它们之间不存在物理连接,而是smbus可以支持混合存储器的两个部分。例如,从软件管理的角度来看,混合存储器可以看作两个逻辑dimm。在实施例中,平台硬件假设每个物理dimm单个smbus从端(slave),以限制对平台硬件的重新设计。

在一些实施例中,可以根据于2013年6月28日提交的题为“memorysystem(存储器系统)”的序列号为13/997,653的美国公布的专利申请第20150149735号和/或于2013年3月15日根据专利合作条约(pct)提交的其母专利申请pct/us2013/032633中讨论的技术来控制或实现本文讨论的存储器设备(例如,混合存储器设备或至少其非易失性部分),两个申请由此通过引入方式整体并入本文,并且用于所有目的。

此外,虽然一些dimm插口可能仅具有分配用于与平台(例如,处理器核心106)通信的一个smbus设备地址,但是混合dimm可能需要能够使smbus岔开以对耦合到同一插槽的两个逻辑dimm进行寻址。图2b示出了在不重新设计整个平台的情况下实现此目的的方案。因此,图2b示出了允许使用相同平台(例如,设计用于非混合dimm)来管理混合dimm实现方式而不改变整个平台设计的各种组件的框图。例如,参考图2b,为了在实施例中管理混合存储器设备,使用到dimm的smbus端口。smbus端口不是用于对nvm或vm中的数据进行存取。相反,该端口用于对dimm进行热监测和初始化。更特别地,图2b示出了一种区分dimm上的smbus请求目的地的方式,因为其具有两个逻辑上分离的dimm(这意味着平台可以将其视为两个不同的dimm)。

如本文所讨论的,“sa”指代从端地址。如图2b所示,混合dimm可以在内部(例如,经由其自己的smbus主端(master)210)指派sa[0],使得可以从dimm管理的视角将其视为两个逻辑dimm;因此,所有现有的平台基础设施应该利用该配置恰当地起作用。更特别地,存在两个从端(图2b中标记为从端1和2,其中一个从端是nvm,而另一从端是vm),现在可以通过使用内部总线主端逻辑210经由sa[6:0]对这两个从端进行寻址(例如,其中7位寻址能够支持128个逻辑dimm或64个混合dimm,但是实施例不限于7位,并且可以取决于诸如3位等的实现方式而使用更多或更少的位)。例如,如图所示,可以经由sa[6:0]对闪速存储器控制器(fmc)212进行寻址。图2b还示出了i2c(通信接口)主端/从端接口可以用于与混合dimm上的各种逻辑进行通信。另外,在各种实施例中,还可以提供一个或多个寄存器(例如,用于存储数据的控制和状态寄存器(csr))和/或热传感器(例如,用于提供整个dimm的单个温度读数的管芯上热传感器(tsod))等。

图2c示出了根据实施例的平台存储器配置的框图。如图所示,处理器(例如,图1的处理器102)可以例如经由总线或互连(例如,图1的互连104)耦合到一个或多个混合dimm200。如本文所讨论的,该系统可以包括除了混合存储器150和/或混合dimm200之外的其他存储器设备。

图3示出了根据实施例的计算系统300的框图。计算系统300可以包括经由互连网络(或总线)304进行通信的一个或多个中央处理单元(cpu)302或处理器。处理器302可以包括通用处理器、网络处理器(处理通过计算机网络303传送的数据)、应用处理器(例如,在蜂窝电话、智能电话等中使用的那些)或其他类型的处理器(包括精简指令集计算机(risc)处理器或复杂指令集计算机(cisc))。

可以使用各种类型的计算机网络303,包括有线网络(例如,以太网、千兆、光纤等)或无线网络(例如,蜂窝,包括3g(第三代蜂窝电话技术或第三代无线格式(uwcc))、4g(第四代蜂窝电话技术)、4g高级、低功率嵌入式(lpe)、长期演进(lte)、lte高级等)。此外,处理器302可以具有单核心或多核心设计。具有多核心设计的处理器302可以在同一集成电路(ic)管芯上集成不同类型的处理器核心。另外,具有多核心设计的处理器302可以实现为对称多处理器或非对称多处理器。

在实施例中,处理器302中的一个或多个可以与图1的处理器102相同或相似。例如,处理器302中的一个或多个可以包括核心106中的一个或多个和/或处理器高速缓存108。另外,参考图1-2c讨论的操作可以由系统300的一个或多个组件来执行。

芯片组306也可以与互连网络304进行通信。芯片组306可以包括图形和存储器控制中心(gmch)308。gmch308可以包括与存储器114进行通信的存储器控制器310(其在实施例中可以与图1的存储器控制器120相同或相似)。存储器114可以存储数据,包括由cpu302或计算系统300中包括的任何其他设备执行的指令序列。另外,系统300包括处于各种位置(例如,示出或未示出)的逻辑160和/或混合存储器150。在一个实施例中,存储器114可以包括一个或多个易失性存储器设备,例如,随机存取存储器(ram)、动态ram(dram)、同步dram(sdram)、静态ram(sram)或其他类型的存储器设备。还可以使用非易失性存储器,例如,硬盘驱动器、闪存等,包括本文讨论的任何nvm。附加设备可以经由互连网络304进行通信,例如,多个cpu和/或多个系统存储器。

gmch308还可以包括与图形加速器316进行通信的图形接口314。在一个实施例中,图形接口314可以经由加速图形端口(agp)或外围组件互连(pci)(或者快速pci(pcie)接口)与图形加速器316进行通信。在实施例中,显示器317(例如,平板显示器、触摸屏等)可以通过例如信号转换器与图形接口314进行通信,信号转换器将存储在诸如视频存储器或系统存储器之类的存储器设备中的图像的数字表示转换成由显示器解译并显示的显示信号。由显示设备产生的显示信号可以在由显示器317解译并随后在显示器317上显示之前通过各种控制设备。

中心接口318可以允许gmch308和输入/输出控制中心(ich)320进行通信。ich320可以向与计算系统300通信的i/o设备提供接口。ich320可以通过外围桥(或控制器)324(例如,外围组件互连(pci)桥、通用串行总线(usb)控制器或其他类型的外围桥或控制器)与总线322进行通信。桥324可以提供cpu302与外围设备之间的数据路径。可以使用其他类型的拓扑。另外,多个总线可以例如通过多个桥或控制器与ich320进行通信。此外,在各种实施例中,与ich320通信的其他外围设备可以包括集成驱动电子设备(ide)或(多个)小型计算机系统接口(scsi)硬盘驱动器、(多个)usb端口、键盘、鼠标、(多个)并行端口、(多个)串行端口、(多个)软盘驱动器、数字输出支持(例如,数字视频接口(dvi))或其他设备。

总线322可以与音频设备326、一个或多个磁盘驱动器328和网络接口设备330(其例如经由有线接口或无线接口与计算机网络303通信)进行通信。如图所示,网络接口设备330可以耦合到天线331,以无线地(例如,经由电气和电子工程师协会(ieee)802.11接口(包括ieee802.11a/b/g/n/ac等)、蜂窝接口、3g、4g、lpe等)与网络303进行通信。其他设备可以经由总线322进行通信。另外,在一些实施例中,各种组件(例如,网络接口设备330)可以与gmch308进行通信。另外,处理器302和gmch308可以组合以形成单个芯片。此外,在其他实施例中,图形加速器316可以包括在gmch308内。

此外,计算系统300可以包括易失性存储器和/或非易失性存储器。例如,非易失性存储器可以包括以下中的一个或多个:只读存储器(rom)、可编程rom(prom)、可擦除prom(eprom)、电eprom(eeprom)、磁盘驱动器(例如,328)、软盘、压缩盘rom(cd-rom)、数字通用盘(dvd)、闪速存储器、磁光盘或能够存储电子数据(例如,包括指令)的其他类型的非易失性机器可读介质。

图4示出了根据实施例的以点对点(ptp)配置布置的计算系统400。特别地,图4示出了其中处理器、存储器和输入/输出设备通过多个点对点接口互连的系统。参考图1-3讨论的操作可以由系统400的一个或多个组件来执行。

如图4所示,系统400可以包括若干处理器,为清楚起见仅示出了其中两个,处理器402和404。处理器402和404可以各自包括本地存储器控制器中心(mch)406和408,以实现与存储器410和412的通信。存储器410和/或412可以存储各种数据,例如,参考图1和/或图3的存储器114讨论的那些。此外,在一些实施例中,mch406和408可以包括存储器控制器120。此外,系统400包括处于各种位置(例如,示出或未示出)的逻辑160和/或混合存储器150。在各种实施例中,逻辑160和/或混合存储器150可以经由总线440或444、经由到(多个)处理器402或404或芯片组420等的其他点对点连接耦合到系统400。

在实施例中,处理器402和404可以是参考图3讨论的处理器302中的一个。处理器402和404可以分别使用ptp接口电路416和418经由点对点(ptp)接口414交换数据。另外,处理器402和404可以各自使用点对点接口电路426、428、430和432经由单独的ptp接口422和424与芯片组420交换数据。芯片组420可以进一步例如使用ptp接口电路437经由高性能图形接口436与高性能图形电路434交换数据。如参考图3所讨论的,在一些实施例中,图形接口436可以耦合到显示设备(例如,显示器317)。

在一个实施例中,图1的核心106中的一个或多个和/或处理器高速缓存108可以位于处理器402和404(未示出)内。然而,其他实施例可以存在于图4的系统400内的其他电路、逻辑单元或设备中。此外,其他实施例可以分布在整个图4所示的若干电路、逻辑单元或设备中。

芯片组420可以使用ptp接口电路441与总线440进行通信。总线440可以具有与其通信的一个或多个设备,例如,总线桥442和i/o设备443。经由总线444,总线桥442可以与诸如键盘/鼠标445、通信设备446(例如,调制解调器、网络接口设备或可以与计算机网络303通信的其他通信设备,如参考网络接口设备330讨论的,例如包括经由天线331)、音频i/o设备和/或数据存储设备448之类的其他设备进行通信。数据存储设备448可以存储可以由处理器402和/或404执行的代码449。

在一些实施例中,本文讨论的组件中的一个或多个组件可以体现为片上系统(soc)设备。图5示出了根据实施例的soc封装的框图。如图5所示,soc502包括一个或多个中央处理单元(cpu)核心520、一个或多个图形处理器单元(gpu)核心530、输入/输出(i/o)接口540以及存储器控制器542。可以将soc封装502的各种组件耦合到互连或总线,例如,本文参考其他附图所讨论的。另外,soc封装502可以包括更多或更少的组件,例如,本文参考其他附图所讨论的那些组件。此外,soc封装520的每个组件可以包括一个或多个其他组件,例如,如参考本文其他附图所讨论的。在一个实施例中,soc封装502(及其组件)设置在一个或多个集成电路(ic)管芯上,例如,这些集成电路管芯封装在单个半导体器件上。

如图5所示,soc封装502经由存储器控制器542耦合到存储器560(其可以与本文参考其他附图讨论的存储器相似或相同)。在实施例中,存储器560(或者其一部分)可以集成在soc封装502上。

i/o接口540可以例如经由互连和/或总线耦合到一个或多个i/o设备570,例如,本文参考其他附图所讨论的。(多个)i/o设备570可以包括键盘、鼠标、触摸板、显示器、图像/视频捕获设备(例如,相机或便携式摄像机/视频记录器)、触摸屏、扬声器等中的一个或多个。此外,在实施例中,soc封装502可以包括/集成项目150和/或160。可替代地,项目150和/或160可以设置在soc封装502的外部(即,作为离散逻辑)。

以下实施例涉及另外的实施例。示例1包括一种装置,该装置包括:双列直插式存储器模块(dimm),其包括易失性存储器和非易失性存储器,其中,单个存储器插槽提供与易失性存储器或非易失性存储器的数据通信。示例2包括示例1的装置,包括用于使得至少部分地基于在一个或多个传感器处检测的信息来修改易失性存储器或非易失性存储器中的一个的操作特性的逻辑。示例3包括示例2的装置,其中,一个或多个传感器用于检测以下中的一个或多个的变化:温度、功率消耗、功率耗散、电流消耗或电压消耗。示例4包括示例2的装置,其中,一个或多个传感器包括至少一个管芯上热传感器(tsod)。示例5包括示例1的装置,包括用于经由单个存储器插槽在具有一个或多个处理器核心的处理器与dimm之间传送数据的逻辑,其中,dimm对处理器显现为单个dimm。示例6包括示例1的装置,其中,易失性存储器和非易失性存储器中的每个都是可寻址的。示例7包括示例1的装置,包括用于将数据引导至易失性存储器或非易失性存储器中的一个或从易失性存储器或非易失性存储器中的一个引导数据的逻辑。示例8包括示例1的装置,其中,非易失性存储器包括多个非易失性存储器设备。示例9包括示例1的装置,其中,易失性存储器包括一个或多个动态随机存取存储器设备。示例10包括示例1的装置,其中,非易失性存储器包括以下中的一个或多个:纳米线存储器、铁电晶体管随机存取存储器(fetram)、磁阻随机存取存储器(mram)、闪速存储器、自旋移矩随机存取存储器(sttram)、电阻随机存取存储器、字节可寻址的三维交叉点存储器、pcm(相变存储器)以及在电力故障或电力中断期间由电力储备支持以保留数据的易失性存储器。示例11包括示例1的装置,还包括用于与dimm或具有一个或多个处理器核心的处理器传送数据的一个或多个网络接口。

示例12包括一种方法,该方法包括:经由单个存储器插槽与dimm的易失性存储器和dimm的非易失性存储器传送数据。示例13包括示例12的方法,还包括使得至少部分地基于在一个或多个传感器处检测的信息来修改易失性存储器或非易失性存储器中的一个的操作特性。示例14包括示例13的方法,还包括一个或多个传感器检测以下中的一个或多个的变化:温度、功率消耗、功率耗散、电流消耗或电压消耗。示例15包括示例13的方法,其中,一个或多个传感器包括至少一个管芯上热传感器(tsod)。示例16包括示例12的方法,还包括经由单个存储器插槽在具有一个或多个处理器核心的处理器与dimm之间传送数据,其中,dimm对处理器显现为单个dimm。示例17包括示例12的方法,还包括对易失性存储器和非易失性存储器中的每个进行寻址。示例18包括示例12的方法,还包括将数据引导至易失性存储器或非易失性存储器中的一个或从易失性存储器或非易失性存储器中的一个引导数据。示例19包括示例12的方法,其中,非易失性存储器包括以下中的一个或多个:纳米线存储器、铁电晶体管随机存取存储器(fetram)、磁阻随机存取存储器(mram)、闪速存储器、自旋移矩随机存取存储器(sttram)、电阻随机存取存储器、字节可寻址的三维交叉点存储器、pcm(相变存储器)以及在电力故障或电力中断期间由电力储备支持以保留数据的易失性存储器。示例20包括示例12的方法,还包括在一个或多个网络接口与dimm之间传送数据。

示例21包括一种计算机系统,该计算机系统包括:显示设备;双列直插式存储器模块(dimm),其耦合到显示设备,dimm包括易失性存储器和非易失性存储器,其中,数据是经由单个存储器插槽与易失性存储器和非易失性存储器传送的。示例22包括示例21的计算机系统,包括用于使得至少部分地基于在一个或多个传感器处检测的信息来修改易失性存储器或非易失性存储器中的一个的操作特性的逻辑。示例23包括示例21的计算机系统,包括用于经由单个存储器插槽在具有一个或多个处理器核心的处理器与dimm之间传送数据的逻辑,其中,dimm对处理器显现为单个dimm。示例24包括示例21的计算机系统,其中,易失性存储器和非易失性存储器中的每个都是可寻址的。示例25包括示例21的计算机系统,包括用于将数据引导至易失性存储器或非易失性存储器中的一个或从易失性存储器或非易失性存储器中的一个引导数据的逻辑。示例26包括示例21的计算机系统,包括以下中的一个或多个:通信地耦合到dimm的至少一个处理器、通信地耦合到计算机系统的电池或通信地耦合到计算机系统的网络接口。

示例27包括一种装置,该装置包括用于执行如任何前述示例中阐述的方法的单元。示例28包括一种包括机器可读指令的机器可读存储装置,该机器可读指令当被执行时用于实现如任何前述示例中阐述的方法或实现如任何前述示例中阐述的装置。

在各种实施例中,本文讨论的操作(例如,参考图1-5)可以实现为硬件(例如,电路)、软件、固件、微代码或其组合,其可以作为计算机程序产品提供,例如,包括其上存储有用于对计算机进行编程以执行本文所讨论的过程的指令(或软件程序)的有形(例如,非暂时性)机器可读或者计算机可读介质。另外,通过示例的方式,术语“逻辑”可以包括软件、硬件或软件和硬件的组合。机器可读介质可以包括存储器设备,例如,关于图1-5所讨论的那些。

另外,这种有形计算机可读介质可以作为计算机程序产品下载,其中程序可以通过数据信号的形式(例如,在载波或其他传播介质中)经由通信链路(例如,总线、调制解调器或网络连接)从远程计算机(例如,服务器)传送到请求计算机(例如,客户端)。

说明书中对“一个实施例”或“实施例”的引用表示结合该实施例描述的特定特征、结构或特性可以包括在至少一个实现方式中。在说明书中各处出现的短语“在一个实施例中”可以或可以不是全部指代同一实施例。

另外,在说明书和权利要求书中,可以使用术语“耦合”和“连接”以及其派生词。在一些实施例中,“连接”可以用于指示两个或更多个元件彼此直接物理或电接触。“耦合”可以表示两个或更多个元件直接物理或电接触。然而,“耦合”还可以表示两个或更多个元件可以不彼此直接接触,但是仍然可以彼此协作或交互。

因此,尽管已经用结构特征、数值和/或方法动作特定的语言描述了实施例,但是应该理解,所要求保护的主题可以不限于所描述的具体特征、数值或动作。相反,公开具体特征、数值和动作作为实现所要求保护的主题的样本形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1