灵活DLL(延迟锁相环)校准的制作方法

文档序号:14959345发布日期:2018-07-18 00:12阅读:354来源:国知局

描述一般地与输入/输出(i/o)电路有关,并且更具体的描述与针对i/o电路的灵活dll(延迟锁相环)校准有关。

版权通知/许可

本专利文档的公开内容的部分可能包含经受版权保护的材料。版权所有人在专利文档或者专利公开内容出现在专利商标局专利文件或者记录中时不反对任何人复制此专利文档或者专利公开内容,但是否则保留所有无论什么版权权利。该版权通知适用于如在下面描述的以及在本文附图中的所有数据,也适用于在下面描述的任何软件:版权©2015,英特尔公司,保留所有权利。



背景技术:

同步存储器基于作为时序基准的时钟信号来执行访问操作以以与基准的已知关系来实现数据的传输和接收。用于同步互连的i/o(输入/输出)接口通常使用dll(延迟锁相环)来维持关于基准时序的已知关系。dll电路调整内部信号的时序以与时序基准对准。同步操作可以改进连接设备之间的信号传送(signaling)。然而,当dll活跃(active)时dll操作传统上涉及对基准时序信号的连续跟踪,这消耗大量的功率。dll跟踪可以被称为dll校准,相位控制被校准至外部基准时序。连续dll校准的功率消耗可能消耗被设计成以低功率模式操作的系统中的总功率预算的显著部分。

将理解,根据存储器设备的应用,信号传送速度可以更低或更高。对于较低功率应用,通常信号传送速度较低。dll时序补偿调整影响数据“眼”的时序特性,该数据“眼”标识针对由存储器设备进行的信号传送的阈值。连续dll跟踪维持数据眼上的窄裕度(margin)。较低速度信号传送可以容忍数据眼裕度中的较高变化,并且在一些实现中可能不需要dll校准。较高速度信号传送可能需要连续dll校准来确保较高速度操作所需的数据眼裕度。传统上,制造商和系统设计者或者在dll活跃时使dll校准连续地操作,或者不包括它。

附图说明

下面的描述包括对具有作为本发明的实施例的实现的示例所给出的说明的附图的讨论。附图应当被作为示例而非作为限制来理解。如在本文中所使用的,对一个或多个“实施例”的引用要被理解为描述本发明的至少一个实现中包括的特定特征、结构和/或特性。因此,诸如在本文中出现的“在一个实施例中”或“在替代实施例中”之类的短语描述本发明的各种实施例和实现,并且不一定都指代同一实施例。然而,它们也不一定互斥。

图1是其中可以选择性地校准存储器设备i/o相位控制的系统的一实施例的框图。

图2是其中存储器设备包括可配置的dll校准模式的系统的一实施例的框图。

图3是其中可以应用针对存储器设备的dll校准模式的系统的一实施例的框图。

图4是用来选择性地启用dll校准模式的模式寄存器的一实施例的框图。

图5是用于应用选择性的dll校准的过程的一实施例的流程图。

图6是其中可以实现dll校准模式的计算系统的一实施例的框图。

图7是其中可以实现dll校准模式的移动设备的一实施例的框图。

某些细节和实现的描述跟在后面,包括对可能描绘下面描述的实施例中的一些或全部的附图的描述,以及讨论本文中呈现的发明构思的其他潜在实施例或实现。

具体实施方式

如在本文中描述的,存储器设备根据为该存储器设备配置的dll校准模式来执行dll(延迟锁相环)校准。不同的dll校准模式提供在能够打开和关闭dll校准方面的灵活性以在用于i/o(输入/输出)信号传送的功率消耗和时序裕度之间实现平衡。该dll校准模式可以包括与传统系统一样的针对一直打开(always-on)操作的模式,并且可以允许关闭dll校准的时段。

主机(host)控制器可以基于存储器设备的操作状况来配置校准模式。存储器设备包括输入/输出(i/o)接口电路和被耦合以控制i/o接口的i/o时序的延迟锁相环(dll)电路。存储器设备的控制电路根据dll校准模式来选择性地启用和禁用dll校准。当被选择性地启用时,dll校准可以以由dll校准模式标识的时间间隔进行操作,并且当被选择性地禁用时,dll校准要停止dll校准操作。因此,系统可以针对不同的操作状况提供灵活的dll校准。

对存储器设备的引用可以适用于不同存储器类型。在一个实施例中,对存储器设备的引用可以指代非易失性存储器设备,即使至该设备的电力被中断该非易失性存储器设备状态也是确定的。在一个实施例中,非易失性存储器设备是块可寻址的存储器设备,诸如nand或nor技术。因此,存储器设备还可以包括非易失性设备,诸如三维交叉点(3dxpoint或3dxp)存储器设备、其他字节可寻址非易失性存储器设备、或使用硫族化物相变材料的存储器设备。在一个实施例中,存储器设备可以是或包括多阈值级nand闪速存储器、nor闪速存储器、单级或多级相变存储器(pcm)、电阻存储器、纳米线存储器、铁电晶体管随机存取存储器(fetram)、合并忆阻器技术的磁阻随机存取存储器(mram)存储器、或自旋转移力矩(stt)-mram、或上面的任一个的组合、或其他存储器。因此,对存储器设备的引用可以指代支持随机存取和/或被配置用于同步i/o的非易失性存储器设备。

在一个实施例中,存储器设备指代易失性存储器技术。易失性存储器是如果至设备的电力被中断则其状态(以及因此存储在其上的数据)为不确定的存储器。动态易失性存储器需要刷新存储在设备中的数据以维持状态。动态易失性存储器的一个示例包括dram(动态随机存取存储器),或者一些变体,诸如同步dram(sdram)。如在本文中描述的存储器子系统可以与许多存储器技术和基于这样的规范的衍生物或扩展的技术兼容,该许多存储器技术诸如ddr4(ddr版本4,由jedec在2012年9月公布的初始规范)、ddr4e(ddr版本4,扩展的,当前处于jedec的讨论中)、lpddr3(低功率ddr版本3,jesd209-3b,jedec于2013年8月)、lpddr4(低功率双数据率(lpddr)版本4,jesd209-4,最初由jedec在2014年8月公布)和/或其他。

在本文中涉及“dram”的描述可以适用于允许随机存取的任何存储器设备,无论是易失性的还是非易失性的。存储器设备或dram可以指代管芯本身和/或封装的存储器产品。

作为本文中描述的灵活dll校准的一非限制示例,考虑在3dxp技术上建立的存储器设备。3dxp技术正在开发并且预期在具有关于带宽和存储容量的不同要求的计算平台中找到使用。一些实现将要求对3dxp存储器的较快访问,而其他可能要求较低的引脚计数。3dxp技术实现对非易失性并且支持随机存取的存储器设备的开发。某些实现可以提供可与传统dram速度相比的访问速度,而不是传统的非易失性技术,诸如nand闪存。

在一个实施例中,3dxp设备可以是同步的并且基于作为用于数据交换(传输和/或接收数据)的时序基准的时钟信号进行接收和操作。在同步操作中,可以利用与基准信号的已知关系来传输和接收数据。因为3dxp技术支持不同的实现,所以它可以被部署在要求较高频率访问的系统中或者在仅需要较低频率访问的系统中。与传统存储器技术一样,在高频率操作中,当存在过程、电压和温度(pvt)变化时,3dxp存储器设备将需要维持时钟与数据信号关系。典型的pvt变化导致减小的时序裕度。

在一个实施例中,3dxp设备包括dll,其用来在其中过程、电压和温度变化导致时钟信号和输出数据信号之间的一致时序关系(甚至在较高速度操作中)随着时间改变的环境中维持这些关系。虽然dll通过维持时钟和数据信号传送之间的恒定关系来改进操作的频率,但是每次它都周期性地校准时钟和数据通路,其消耗大量功率。在一个实施例中,3dxp设备的某些实现将具有较低访问速度并且可以容忍数据传递时序中的较多变化,并且因此不要求dll校准。

如上面所陈述的,3dxp技术是一非限制性示例,并且其他存储器设备技术也经历了使用dll维持时序基准和数据之间的一致关系与校准dll所使用的大量功率的权衡。类似地,存在其他存储器技术,它们可能具有其中时序裕度不是关注点的不同实现和其中基于操作状况变化的时序裕度中的变化可以导致信号传送误差的其他实现。利用或者3dxp技术或其他存储器技术,可能存在其中宽松的时序裕度不要求dll校准的连续使用的较低功率系统实现。

不同的dll校准模式使得能够基于系统需要来设置不同校准周期。如下面描述的,存在描述的四个主要校准模式,它们将被理解成是非限制性的。其他校准模式是可能的,并且用来应用不同模式的灵活性将被理解成与不同校准模式配置类似。校准模式提供系统灵活性,以基于dll操作权衡电力的性能。不同的校准模式使得存储器设备接口的修改能够改变多久执行一次dll校准。这样的灵活性允许系统设计者在高频率、高功率操作和低频率、低功率操作之间选取,而不是选取在低频率、低功率应用中消耗大量功率的连续dll校准。此外,其在低频率、低功率应用中启用偶尔dll校准,而不是关于传统实现简单地完全禁用dll操作。

图1是其中可以选择性地校准存储器设备i/o相位控制的系统的一实施例的框图。系统100包括计算设备中的存储器子系统的元件。处理器110表示执行操作系统(os)和应用的主机计算平台的处理单元,其可以被统称为针对存储器的“主机”。os和应用执行导致存储器访问的操作。处理器110可以包括一个或多个单独的处理器。每个单独的处理器都可以包括单个和/或多核处理单元。处理单元可以是主处理器(诸如cpu(中央处理单元))和/或外围处理器(诸如gpu(图形处理单元))。系统100可以被实现为soc或者利用独立的组件来实现。

存储器控制器120表示用于系统100的一个或多个主机控制器或存储器控制器电路或设备。存储器控制器120表示响应于处理器110对操作的执行而生成存储器访问命令和/或以其他方式启用系统100中的存储器访问的控制逻辑。存储器控制器120访问一个或多个存储器设备140。在一个实施例中,存储器设备140表示三维堆叠存储器设备。在一个实施例中,存储器设备140表示3d交叉点存储器设备或其他非易失性存储器设备。在一个实施例中,根据上面提及的任何,存储器设备140可以是dram。在一个实施例中,存储器设备140被组织并且管理为不同的通道,其中每个通道都耦合至总线和信号线,该总线和信号线并行耦合至多个存储器设备。在使用通道的情况下,每个通道可以是可独立操作的。因此,独立地访问和控制每个通道,并且对于每个通道来说时序、数据传递、命令和地址交换、以及其他操作是单独的。在一个实施例中,由单独的模式寄存器或其他寄存器设置来控制对于每个通道的设置。在一个实施例中,每个存储器控制器120管理单独的存储器通道,但是系统100可以被配置成使多个通道由单个控制器管理、或者在单个通道上具有多个控制器。在一个实施例中,存储器控制器120是主机处理器110的部分,诸如在与处理器相同的管芯上实现的逻辑或在与处理器相同的封装空间中实现的逻辑。

存储器控制器120包括用来耦合至系统总线的i/o接口逻辑122。i/o接口逻辑122(以及存储器设备140的i/o142)可以包括引脚、连接器、信号线和/或用来连接设备的其他硬件。i/o接口逻辑122可以包括硬件接口。如所图示的,i/o接口逻辑122至少包括针对信号线的驱动/收发器。通常,集成电路内的电线与焊盘或连接器进行接口连接(interface)以接口连接至设备之间的信号线或迹线。i/o接口逻辑122可以包括驱动、接收器、收发器、终结(termination)和/或用来在设备之间的信号线上发送和/或接收信号的其他电路。系统总线可以被实现为将存储器控制器120耦合至存储器设备140的多个信号线。在一个实施例中,系统总线至少包括时钟(clk)132、命令/地址(cmd)134、数据(dq)136和其他信号线138。针对cmd134的信号线可以被称为“c/a总线”(或add/cmd总线或指示命令和地址信息的传递的一些其他名称),并且针对dq136的信号线被称为“数据总线”。在一个实施例中,独立通道具有不同的时钟信号、c/a总线、数据总线和其他信号线。因此,在独立接口通路可以被视为独立系统总线的意义上,系统100可以被视为具有多个“系统总线”。将会理解,除了被明确示出的线之外,系统总线还可以包括选通信号传送线、警戒线、辅助线和其他信号线。

在一个实施例中,系统总线包括被配置成在带宽下操作的数据总线(dq136)。基于系统100的设计和/或实现,dq136可以具有每存储器设备140更多或更少带宽。例如,dq136可以支持具有x32接口、x16接口、x8接口或其他接口的存储器设备。约定“xn”(其中n是二进制整数)指代存储器设备140的接口尺寸,其表示与存储器控制器120交换数据的信号线dq136的数目。存储器设备的接口尺寸是关于在系统100中每个通道可以同时使用多少个存储器设备或多少个存储器设备可以并行耦合至相同的信号线的控制因素。

存储器设备140表示用于系统100的存储器资源。在一个实施例中,每个存储器设备140都是单独的存储器管芯。在一个实施例中,每个存储器设备140都可以每管芯包括多个(例如2个)通道。每个存储器设备140都包括i/o接口逻辑142,该i/o接口逻辑142具有通过设备的实现而确定的带宽(例如x16或x8或某一其他接口带宽),并且使得存储器设备能够与存储器控制器120进行接口连接。i/o接口逻辑142可以包括硬件接口,并且可以根据存储器控制器的i/o122,但是在存储器设备末端处。在一个实施例中,多个存储器设备140并行连接至相同的数据总线。例如,系统100可以被配置有并行耦合的多个存储器设备140,其中每个存储器设备都对命令作出响应并且访问在每个内部的存储器资源160。对于写操作,单独的存储器设备140可以写全部数据字的一部分,并且对于读操作,单独的存储器设备140可以取全部数据字的一部分。

在一个实施例中,将存储器设备140直接布置在计算设备的母板或主机系统平台(例如pcb(印刷电路板),其上布置处理器110)上。在一个实施例中,存储器设备140可以被组织在存储器模块130中。在一个实施例中,存储器模块130表示双列直插式存储器模块(dimm)。在一个实施例中,存储器模块130表示用来共享访问或控制电路的至少一部分的多个存储器设备的其他组织,其可以是与主机系统平台分离的电路、分离的设备或分离的板。存储器模块130可以包括多个存储器设备140,并且存储器模块可以包括对到所包括的存储器设备的多个单独通道的支持,该所包括的存储器设备被布置在该多个单独通道上。

存储器设备140中的每个都包括存储器资源160。存储器资源160表示针对数据的存储器位置或存储位置的各种阵列。在一个实施例中,存储器资源160被管理为经由高速缓存线(行)和位线(行内的单独位)控制来访问的数据行。在一个实施例中,存储器资源160可以被组织为存储器的单独通道、列(rank)和存储体(bank)。通道是到存储器设备140内的存储位置的独立控制通路。列指代跨多个存储器设备的共同位置(例如不同设备内的相同行地址)。存储体指代存储器设备140内存储器位置的阵列。在一个实施例中,存储器的存储体被划分成子存储体,其中共享电路的至少一部分针对子存储体。在一个实施例中,可以使用存储器资源存储位置的其他组织。无论如何被组织,存储器资源160可经由地址信息(如一般被图示为“地址”)来访问。

在一个实施例中,存储器设备140包括一个或多个寄存器144。寄存器144表示为存储器设备的操作提供配置或设置的存储设备或存储位置。在一个实施例中,寄存器144可以为存储器设备140提供存储位置以将用于由存储器控制器120访问的数据存储为控制或管理操作的部分。在一个实施例中,寄存器144包括模式寄存器。在一个实施例中,寄存器144包括多用途寄存器。寄存器144内位置的配置可以将存储器设备140配置成以不同“模式”操作,其中命令和/或地址信息或信号线可以根据模式来触发存储器设备140内的不同操作。寄存器144的设置可以指示用于i/o设置(例如时序、终结或odt(管芯上终结)、驱动配置和/或其他i/o设置的配置。

在一个实施例中,存储器设备140包括odt146,其作为与i/o142相关联的接口硬件的部分。odt146可以如上面提及的那样配置,并且向指定信号线提供针对要被施加至接口的阻抗的设置。odt设置可以基于存储器设备是访问操作的被选目标还是非目标设备而改变。odt146设置可以影响端接线(terminatedline)上的信号传送的时序和反射。对odt146的仔细控制可以在改进所施加的阻抗和加载的匹配的情况下实现较高速操作。

存储器设备140包括控制器150,其表示存储器设备内用来控制存储器设备内的内部操作的控制逻辑。例如,控制器150对由存储器控制器120发送的命令解码并且生成执行或满足该命令的内部操作。控制器150可以被称为内部控制器。控制器150可以确定基于寄存器144选择什么模式,以及基于所选模式来为存储器资源160配置操作的访问和/或执行。控制器150生成控制信号来控制存储器设备140内的位的路由以为所选模式提供适当的接口或i/o142并且将命令引导至适当的存储器位置或地址。

再次参考存储器控制器120,存储器控制器120包括命令(cmd)逻辑124,其表示用来生成要发送至存储器设备140的命令的逻辑或电路。通常,存储器子系统中的信令包括命令内的或伴随命令的用来指示或选择存储器设备应当执行命令的一个或多个存储器位置的地址信息。在一个实施例中,存储器设备140的控制器150包括用来接收并解码经由i/o142从存储器控制器120接收的命令和地址信息的命令逻辑152。基于接收到的命令和地址信息,控制器150可以控制存储器设备140内的用来执行命令的逻辑和电路的操作的时序。控制器150负责遵守标准或规范,该标准或规范包括针对i/o信号传送的时序裕度。

在一个实施例中,存储器设备140包括用来控制i/o142的相位或其他时序特性的相位控制174。因此,例如相位控制174使得存储器设备140能够调整相位以使dq136与时钟132同步。在一个实施例中,相位控制174的逻辑或电路的至少一部分是控制器150的部分。在一个实施例中,相位控制174包括dll。dll可以操作以维持针对i/o142的时序裕度,并且可以根据一个或多个校准模式来同步。

在一个实施例中,存储器控制器120包括校准控制172,其表示存储器控制器内用来向存储器设备140提供校准设置以用于时序同步的电路/逻辑。在一个实施例中,校准控制172使得存储器控制器120能够为存储器设备140设置dll校准模式配置。由校准控制172设置的校准模式配置可以影响存储器设备140的相位控制174如何操作。在一个实施例中,校准控制172对一个或多个多用途寄存器144或其他寄存器编程以存储针对校准模式的配置。这样的多用途寄存器可以实现针对存储器140内的dll校准时序的可配置性。在一个实施例中,校准控制172确定存储器设备140的操作状况(诸如系统100的配置)、环境状况(例如电压、噪声、温度)和/或其他状况。在一个实施例中,校准控制172使得存储器控制器120能够执行存储器设备140上的一个或多个测试操作以确定可以设置i/o数据眼裕度或其他信号传送特性的过程变化或其他状况。

相位控制174可以较频繁或较不频繁地执行dll校准,这取决于由校准控制172设置的dll校准模式。在一个实施例中,存储器设备140包括向存储器控制器120提供环境状况信息的传感器(未具体示出),其可以被校准控制172用来设置校准模式。

图2是其中存储器设备包括可配置的dll校准模式的系统的一实施例的框图。系统200表示存储器子系统的组件。系统200提供根据图1的系统100的实施例的存储器子系统的一个示例。系统200可以被包括在使用具有i/o时序的dll控制的存储器的任何类型的计算设备或电子电路中。主机210表示用于系统200的控制电路。主机210可以包括处理器以及存储器控制器或存储控制器。主机210的处理器可以包括任何类型的处理逻辑或组件,它们基于存储在存储器230中或者要存储在存储器230中的数据来执行操作。主机210可以包括主机处理器、中央处理单元(cpu)、微控制器或微处理器、图形处理器、外围处理器、应用特定的处理器或其他处理器。主机210可以是或者包括单核或多核电路。主机执行操作系统(os),该操作系统(os)为系统200被合并于其中的计算设备或计算设备的一部分控制执行流程。

主机210包括(或作为与处理器相同的电路的部分或作为单独电路的部分)实现对存储器230的访问的控制器。在一个实施例中,系统200是一种其中处理器和存储器设备被集成到同一衬底或pcb上的系统。主机210包括i/o220,其表示用来耦合至存储器230的接口硬件。为了系统200中说明的目的,i/o220包括命令接口222、时钟或时序基准224和数据226。存储器230包括具有对应的接口硬件命令242、时钟244和数据246的i/o240。将会理解,可以包括其他接口。在一个实施例中,命令接口222包括命令/地址总线。在一个实施例中,数据226包括与命令接口222的命令/地址总线分离的数据总线。在一个实施例中,命令接口222、时钟224和数据226可以被视为同一总线的部分。例如,在某些非易失性存储器技术(诸如nand存储器)中,这样的信号线可以被视为组合在单个总线中。主机210经由i/o220至i/o240的接口而通信地耦合至存储器230。主机210经由接口访问存储器230。

存储器230包括阵列232,其表示存储器230内的存储数据的存储位置。阵列232可以包括任何数目的存储位置并且存储器230包括用来访问阵列232内的各种可寻址存储位置的(没有被明确示出的)接口硬件。命令242从主机210接收命令,存储器230的(没有被明确示出的)内部控制器对所述命令解码以导致对阵列232的(一个或多个)适当存储位置的访问。在一个实施例中,阵列232是非易失性存储单元的阵列,并且存储器230是具有随机存取能力的三维堆叠存储器设备。

在一个实施例中,i/o242包括i/o硬件248,其可以包括驱动、终结、接收器、路由硬件和/或基于命令242和时钟244将阵列232接口连接至数据接口246的其他组件。对于写操作,通过数据246接收数据以写到阵列232。对于读操作,通过数据246将数据发送至主机210。在一个实施例中,i/o硬件248包括用来实现突发访问的一个或多个缓冲器。

在一个实施例中,i/o240包括dll256,其表示可以控制i/o硬件248的操作的时序的相位控制机构。dll256进而基于寄存器252中的一个或多个设置来操作。在一个实施例中,校准控制254基于寄存器252中配置的dll校准模式来控制要多么频繁地校准dll256的操作(例如从没有校准到连续校准的任何范围)。通过利用寄存器252启用多个配置模式,校准控制254可以提供更多灵活性,用来以正确操作存储器230所需的任何时间间隔或者以经由dll256实现数据246的适当同步所需的任何时间间隔执行dll校准。

在一个实施例中,主机210为dll校准而配置寄存器252,以选择性地启用和禁用dll校准。在一个实施例中,dll256控制i/o眼260,其可以表示在数据接口246处的信号传送“眼”。i/o眼260将被理解成是非限制性示例,并且表示电压轨(vdd和vss)之间的信号传送。电压轨指代高和低电压基准,其中vdd是用于信号传送的高电压基准,并且vss是低电压信号传送基准。在一个实施例中,存储器230包括vtt基准,其可以在vdd和vss之间,并且可以被用于终结和/或其他信号传送特性。vtt不一定存在于存储器230的所有示例中。信号262表示“数据眼”,其是许多不同i/o信号的近似或随着时间发送和/或接收的许多不同信号的复合信号。复合信号262的近似提供信号内的开口(opening),其中有效信号264说明了应当保证i/o信号将被适当地解释的电压电平和时序的近似。

通常,通过标准或协议和/或通过训练来设置有效区域264。信号262和有效区域264之间的空间是裕度266。裕度266指示在仍遵守有效信号的时序/电压要求的同时在信号262中可以出现多少变化。有时诸如“裕度”和“裕度调整”之类的表达可以指代确定应当使用什么设置来使得信号262实现有效眼264,和/或指代设置i/o的配置来实现这样的有效信号传送。dll256可以控制经由数据246交换的(例如发送和/或接收的)信号的时序以确保有效的i/o眼260。在一个实施例中,校准控制254指代用来控制dll256的校准的在寄存器252与dll256和/或其他i/o硬件248之间的控制逻辑。

在一个实施例中,如果存储器230被部署在“非易失性存储”应用中,则校准控制254可以不经常执行或者或许不执行dll校准。在存储应用中,信号传送的速度可能较慢,并且裕度266可能足够大到不需要有规律的dll校准。在一个实施例中,如果存储器230被部署为主存储器替换,则校准控制254可以较频繁地执行或连续执行dll校准或dll跟踪。在“主存储器”应用中,信号传送的速度较快,并且裕度266可能小得多并且需要较频繁的dll校准操作。

在一个实施例中,基于一个或多个操作状况,诸如系统200的计算设备的环境状况,或用于系统200的电源。变化的状况可能影响电压轨,从而将电压变化引入轨中和/或将噪声引入任一轨的供电线中。在一个实施例中,校准控制254可以根据寄存器252中的dll校准模式设置来选择性地打开和关闭校准。将会理解,关闭dll校准可能导致每当校准被关闭并且然后重新打开时近似几微秒的延迟。在一个实施例中,主机210可以确定何时存在关于用于特定存储器230的电力和/或系统200中的其他变化的噪声,并且基于存储器的状况来设置dll校准模式。在一个实施例中,主机基于系统的配置(诸如存储器230被配置用于高速访问还是低速访问)来设置校准模式。

图3是其中可以应用用于存储器设备的dll校准模式的系统的一实施例的框图。系统300表示存储器系统的元件,并提供根据系统100的实施例和/或系统200的实施例的系统的一示例。系统300包括主机310和存储器330。主机310通过接口320与存储器330通信地耦合。接口320可以包括点对点连接、多点总线连接、路由信号线、i/o硬件(类似于上面所描述的)和/或用来使得一个设备能够与另一个通信的其他机构。i/o332表示存储器330的i/o接口。虽然没有被明确示出,但是将会理解主机310也包括i/o接口,并且接口320表示那两个i/o接口的互连。i/o332可以包括如先前描述的i/o硬件。i/o332不一定示出将存在于主机310和存储器330之间的所有连接。

在一个实施例中,主机310包括调度器312,其表示确定要将什么命令发送至什么存储器设备以及何时发送的控制逻辑。响应于通过(没有具体示出的)主机处理器的执行,调度器可以生成要发送至存储器330以访问没有存储在本地高速缓存或本地缓冲器中的数据的命令。数据可以包括命令和/或值。调度器312通过接口320向存储器330提供命令322(其可以包括地址信息)。在一个实施例中,内部控制器334接收并解码命令数据。这样的命令数据可以包括用来设置模式寄存器或模式寄存器的多用途寄存器的模式寄存器设置(mrs)命令。这样的命令数据可以包括访问命令。这样的命令数据可以包括校准命令,但是为了系统300中说明的目的,图示了单独的校准通路。控制器334基于从主机310接收到的命令来引导存储器330中的操作。

在一个实施例中,存储器330是同步的,并且与经由接口320接收的时钟信号324同步。主机310包括一个或多个振荡器314,其表示生成被用来控制主机310中的操作的时序的周期信号的硬件。在一个实施例中,主机310基于振荡器314提供时钟信号324。将会理解,时钟信号324不一定是振荡器314的直接输出,而是可以在被发送至存储器330之前进行滤波、调节或以其他方式修改。

在一个实施例中,存储器330包括内部振荡器346,存储器330在与主机310异步的某些操作(诸如某些低功率操作)中可以使用该内部振荡器346。并非存储器330的每个实现都将包括内部振荡器346。振荡器346不一定以振荡器314的相同标称频率来操作,但是它们可以。振荡器346使得存储器330能够为不使用外部时钟324的操作生成内部时钟信号。在其中存储器330包括振荡器346的一个实施例中,存储器330可以包括用来在内部或外部时钟信号之间进行选择的选择机构(诸如多路复用器340)。无论是来自内部振荡器还是与外部时钟信号同步,存储器330都包括用来限定存储器330内的操作的时序的内部时钟348。

在一个实施例中,存储器330包括用来基于时钟信号324、基于如本领域中理解的反馈环路来控制数据i/o328的时序或相位的dll344。传统上,当dll344活跃时,它将连续地跟踪数据i/o328的相位与时钟324的关系,并且基于时钟信号来调整输出。连续跟踪指代可能消耗大量功率的dll校准。为了说明的目的,dll校准(cal)342被图示成紧挨着dll344。dll校准342表示可以控制dll344的校准操作的逻辑。在一个实施例中,dll校准342可以被视为控制器334的部分。控制器334不一定是单个逻辑电路,而是可以包括存储器330内的分布式控制逻辑。

存储器330包括存储器资源360,其表示存储存储器330中的数据的存储单元或存储器位置。存储器资源可以根据如上面描述的存储器技术的实施例。存储器330包括用来与存储器资源360接口连接并且控制对存储在存储器资源360中的数据的访问的访问硬件362。对于写操作,访问硬件362可以选择(一个或多个)寻址位置并且利用要被写的数据来设置(一个或多个)寻址位置。对于读操作,访问硬件362可以选择(一个或多个)寻址位置并且读存储在(一个或多个)寻址位置中的数据。

访问硬件362使存储器资源360与针对接口320的数据i/o328的数据总线进行接口连接。访问硬件362可以实现主机310的一个或多个缓冲器318与存储器资源360之间的互连。在一个实施例中,访问硬件362包括一个或多个缓冲器。缓冲器318可以表示针对写事务的要被写到存储器资源360的数据的临时队列,或用来存储在读事务中从存储器资源360接收的数据的临时队列。主机310可以根据由调度器312提供的命令来填充或清空缓冲器318。

在一个实施例中,存储器330包括odt(管芯上终结)354。在一个实施例中,系统300包括用于存储器330的片外终结,其可以经由至i/o332的没有示出的连接器的连接提供i/o阻抗。无论是外部阻抗还是odt354,存储器330都可以为通过数据接口328交换的数据提供具体的i/o阻抗。虽然为了说明而示出虚线框,但是在一个实施例中,终结可以被视为i/o332的“部分”。将终结阻抗作为接口的部分来应用,以在从主机310的角度观察i/o332时提供某一阻抗。

在一个实施例中,控制器334和/或dll校准342根据存储在寄存器336中的dll校准模式设置来执行校准。在一个实施例中,可能存在若干有区别的dll校准模式。模式可以包括其中当存储器330处于活跃状态时dll校准342连续操作并且当存储器330处于低功率状态时dll校准342关闭的模式。模式可以包括其中dll校准342无论存储器330处于活跃状态还是低功率状态都连续操作的模式,其可与传统dll校准操作相比。模式可以包括主机发起的校准模式,其中主机310向存储器330提供明确的dll校准命令。这样的模式可以通过校准逻辑316来表示,该校准逻辑316向存储器330提供校准命令326。在一个实施例中,校准逻辑316表示用来确定并设置所选dll校准模式(诸如确定存储器330的操作状态并且基于该操作状态来设置dll校准模式)的逻辑。因此,校准命令326可以表示用来设置校准模式的命令。

将会理解,将dll校准的操作选择性地设置成打开或关闭可以在系统300中在运行时间发生。因此,dll校准342是可动态配置的并且可以(甚至在运行时间)改变,而不是包括用于dll操作的融合设置的系统。在一个实施例中,在系统300的每次初始化或通电时设置dll配置模式。在一个实施例中,主机310周期性地确定是否要更新dll校准模式。在一个实施例中,主机310响应于检测到某些状况,诸如接收到中断、从存储器330接收操作状况指示或其他检测,而确定更新dll校准模式。所选校准模式为由dll校准342进行的操作确定时间间隔。因此,dll校准342将以由校准模式标识的时间间隔操作。

在一个实施例中,dll校准模式可以包括其中dll校准连同zqcal操作一起发生的dll校准模式。zqcal指代阻抗校准。在一个实施例中,存储器330包括zqcal352。在一个实施例中,存储器330仅包括zqcal352,在一个实施例中它还包括odt354。在一个实施例中,zqcal352包括寄存器336中的一个或多个配置设置。例如,一个或多个模式寄存器可以存储控制何时执行zqcal操作的时间表(schedule)的配置设置。

zqcal操作可以指代由执行各种i/o操作并且测量时序和信号传送特性以确定实现期望i/o特性的设置的zqcal引擎进行的操作。zqcal352可以表示zqcal引擎。类似地,dll校准342可以被认为是以不同设置执行各种i/o操作以确定什么设置实现期望的i/o裕度和/或其他时序约束和/或i/o眼特性的dll校准引擎。在一个实施例中,每当zqcal352执行阻抗校准时,dll校准342执行dll校准。

图4是用来选择性地启用dll校准模式的模式寄存器的一实施例的框图。模式寄存器(mrx)410表示支持不同dll校准模式的dram或其他存储器设备中的模式寄存器的一示例。在一个实施例中,被图示为模式寄存器410的可以是多个单独的模式寄存器。如所图示的,地址ay[1:0]表示设置具体dll校准模式的位。在模式寄存器410中示出的示例与本文中提供的其他示例一致并且图示了一非限制性示例。可以使用更多或更少dll校准模式,并且可以使用不同的位模式来表示不同的dll校准模式。

在一个实施例中,当ay[1:0]='00'时,dll校准操作连接至zqcal操作。因此,当zqcal操作发生时(其可以响应于来自主机的命令),存储器设备也执行dll校准。在一个实施例中,dll校准默认与zqcal一起运行。在一个实施例中,当ay[1:0]='01'时,dll校准在活跃模式和空闲模式期间继续dll跟踪,并且dll在低功率模式期间关闭。在一个实施例中,当ay[1:0]='11'时,dll校准在活跃模式、空闲模式和低功率模式期间继续dll跟踪。使dll校准在低功率模式期间跟踪会增加功率消耗,但是当从低功率模式出来时导致较小的延迟。在一个实施例中,当ay[1:0]='10'时,通过来自主机的明确命令来控制dll校准操作。主机发起的dl校准指示通过命令或通过设置模式寄存器位az来开始或停止dll校准,其中'0'使校准停止并且'1'使校准开始。

地址az表示在主机发起的dll校准模式中触发dll校准操作的位。在一个实施例中,地址az可以处在与保存设置dll校准模式的一个或多个位的模式寄存器不同的模式寄存器中。在一个实施例中,控制位az='0'使dll校准停止,并且控制位az='1'使dll校准开始。在一个实施例中,当dll校准模式没有被设置成主机发起的校准模式时,存储器设备忽略az,并且其值对操作没有影响。

将会理解,主机发起的校准模式可能要求主机执行其中部署存储器的系统的环境或板的特性。鉴于zqcal通常仅对温度波动作出响应并且因此可以每几百毫秒执行一次,dll可能受比温度更广的状况范围影响。dll操作可能受噪声影响,其可能要求主机除了监视系统温度之外还监视电源噪声并且当噪声中的改变超过阈值时执行dll校准。

对于3dxp技术的实现,在一个实施例中,3dxp存储器设备可以包括用来提供dll校准模式的模式寄存器,诸如模式寄存器410。不同的dll校准模式可以使得3dxp存储器能够通过可以根据系统操作来设置的模式寄存器来实现功率/频率灵活性。将会理解,关闭dll校准可以提供功率节省益处。例如,dll校准可以被设置成在3dxp存储器处于低功率模式时关闭dll校准,因为不存在根据适当的接口信令的总线活动。将会理解,这样的情况将导致最低功率水平,但是将增加延迟,同时dll在可以重建与主机/控制器的通信之前进行校准。

图5是用于应用选择性dll校准的过程的一实施例的流程图。更具体地,过程500可以允许dll校准模式的选择性应用。在一个实施例中,主机标识针对相关联的存储器设备的系统配置,502。存储器设备可以是本文中描述的存储器设备的任何实施例。在一个实施例中,用户或系统设计者输入指示系统配置的信息。在一个实施例中,bios(基本输入/输出系统)通过轮询设备而发现系统配置。系统配置可以标识存储器设备被配置用于高速访问还是仅被配置用于低速访问。

在一个实施例中,基于系统配置,主机确定针对操作模式的dll校准模式,504。在一个实施例中,具体dll校准模式与系统配置或操作模式或操作状况相关联。这样的关联可以由系统设计者预先确定。在一个实施例中,主机标识存储器设备的具体操作模式,506。确定具体操作模式可以是例如确定存储器设备何时进入低功率状态或何时从低功率状态离开。这样的确定可以包括标识系统的环境状况。

在一个实施例中,主机基于所标识的操作模式来设置存储器设备的dll校准模式,508。在一个实施例中,作为示例,dll校准模式可以包括四个不同的模式。在一个实施例中,主机将存储器设置成其中阻抗校准的执行控制dll校准的执行的校准模式,510。当zqcal执行控制dll校准时,它将被理解成指代操作的频率,其中dll校准操作被配置成以与zqcal操作相同的频率发生。

在一个实施例中,主机将存储器设置成其中dll跟踪仅在活跃模式期间发生的校准模式,512。在一个实施例中,这样的模式可以包括活跃模式和空闲模式。在一个实施例中,主机将存储器设置成其中dll跟踪在活跃模式和低功率模式期间发生的校准模式,514。在一个实施例中,主机将存储器设置成其中dll校准响应于主机发起的命令而发生的校准模式,516。这样的命令可以与触发zqcal的执行的命令分离。

在一个实施例中,在主机发起的dll校准的情况下,主机可以确定是否要执行dll校准,518。主机可以基于存储器设备和/或存储器设备被布置于其中的主机系统的操作状态或操作状况来做出这样的确定。在一个实施例中,主机可以根据一个或多个时间表来做出这样的确定,其中某些时间表可以对应于存储器设备的某些操作模式。虽然主机确定不执行dll校准,520否分支,但主机可以继续监视/等待直到应当执行dll校准为止。

在一个实施例中,当主机确定使得存储器设备执行dll校准时,520是分支,主机将模式寄存器设置成激活dll校准,522。将会理解,在具有多个存储器设备的存储器子系统中,主机可以在所有存储器设备上使用相同的dll校准时间表,或者可以使得不同存储器设备在不同时间段应用dll校准。在一个实施例中,无论针对存储器设备设置什么dll校准模式,主机都可以继续监视系统并且确定是否要改变校准模式,524。将会理解,在不同校准模式的情况下,可能存在有利于一个校准模式胜过另一个的状况。在主机发起的校准模式中,改变校准模式的确定可以指代选择性地打开或关闭dll校准。

如果主机确定改变校准模式,526是分支,则主机可以标识存储器设备的具体操作模式,506,并且根据操作模式来设置dll校准模式,508。在一个实施例中,如果主机确定不改变校准模式,526否分支,则系统使用根据所选/设置的校准模式的dll跟踪来继续操作,528。存储器设备将继续这样的dll校准操作,而主机继续监视并确定是否应当改变dll校准模式。存储器设备确定校准模式设置并且根据dll校准模式来执行dll校准。存储器设备可以继续以由dll校准模式指示的时间间隔来执行dll校准。

图6是其中可以实现dll校准模式的计算系统的一实施例的框图。系统600表示根据本文中描述的任何实施例的计算设备,并且可以是膝上型计算机、台式计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机、路由或交换设备、或其他电子设备。系统600包括处理器620,其为系统600提供处理、操作管理和指令的执行。处理器620可以包括任何类型的微处理器、中央处理单元(cpu)、处理核、或用来为系统600提供处理的其他处理硬件。处理器620控制系统600的总体操作,并且可以是或包括一个或多个可编程通用或专用微处理器、数字信号处理器(dsp)、可编程控制器、应用特定的集成电路(asic)、可编程逻辑器件(pld)等等,或这样的设备的组合。

存储器子系统630表示系统600的主存储器,并且为要由处理器620执行的代码或要在执行例程中使用的数据值提供临时存储。存储器子系统630可以包括一个或多个存储器设备,诸如只读存储器(rom)、闪速存储器、一个或多个种类的随机存取存储器(ram)、或其他存储器设备,或这样的设备的组合。除了别的之外,存储器子系统630还存储和托管操作系统(os)636以为系统600中指令的执行提供软件平台。另外,存储并执行来自存储器子系统630的其他指令638以提供逻辑和系统600的处理。由处理器620来执行os636和指令638。存储器子系统630包括存储器设备632,其中它存储数据、指令、程序或其他条目。在一个实施例中,存储器子系统包括存储器控制器634,其是用来生成命令并将命令发出到存储器设备632的存储器控制器。将会理解,存储器控制器634可以是处理器620的物理部分。

将处理器620和存储器子系统630耦合至总线/总线系统610。总线610是表示通过适当的桥接器、适配器和/或控制器连接的任何一个或多个单独的物理总线、通信线/接口和/或点对点连接的抽象。因此,总线610可以包括例如系统总线、外围组件互连(pci)总线、超传输或行业标准体系结构(isa)总线、小计算机系统接口(scsi)总线、通用串行总线(usb)、或电气及电子工程师协会(ieee)标准1394总线(通常被称为“火线”)中的一个或多个。总线610的各总线还可以对应于网络接口650中的各接口。

系统600还包括耦合至总线610的一个或多个输入/输出(i/o)接口640、网络接口650、一个或多个内部大容量存储设备660以及外围接口670。i/o接口640可以包括用户通过其与系统600交互(例如视频、音频和/或字母数字接口连接)的一个或多个接口组件。网络接口650为系统600提供通过一个或多个网络与远程设备(例如服务器、其他计算设备)通信的能力。网络接口650可以包括以太网适配器、无线互连组件、usb(通用串行总线)或其他基于有线或无线标准的接口或专有接口。

存储装置660可以是或包括用于以非易失性方式存储大量数据的任何常规介质,诸如一个或多个磁盘、固态盘、或基于光学的盘,或组合。存储装置660以持续状态保存代码或指令和数据662(即尽管到系统600的电力中断,值仍被保持)。存储装置660一般可以被视为“存储器”,虽然存储器630是用来向处理器620提供指令的执行或操作存储器。鉴于存储装置660是非易失性的,存储器630可以包括易失性存储器(即如果到系统600的电力被中断,则数据的值或状态是不确定的)。

外围接口670可以包括上面没有具体提及的任何硬件接口。外围设备一般指代依赖性地连接至系统600的设备。依赖连接是其中系统600提供软件和/或硬件平台的一种连接,操作在该软件和/或硬件平台上执行并且用户与该软件和/或硬件平台交互。

在一个实施例中,系统600包括dll校准控制680。虽然被示出为系统600的单独组件,但是将会理解dll校准控制680可以是一个或多个其他系统的部分。例如,一个或多个存储器设备632可以包括根据本文中描述的实施例的dll校准控制680。作为另一示例,存储装置660可以包括根据本文中描述的实施例的dll校准控制680。在一个实施例中,系统600包括非易失性存储器632,诸如三维堆叠存储器设备或3dxp存储器设备,并且可以不包括与这样的存储器632分离的存储装置660。dll校准控制680包括标识dll校准模式的配置设置或根据标识dll校准模式的配置设置来操作。dll校准控制680支持多个不同的dll校准模式,它们是动态可配置的以为dll跟踪的操作或dll校准操作提供不同的时间间隔。在一个实施例中,存储器632是dram。在一个实施例中,处理器620表示执行存储在一个或多个dram存储器632中的数据的一个或多个处理器。在一个实施例中,网络接口650与另一网络位置中的另一设备交换数据,并且数据是存储在存储器632中的数据。

图7是其中可以实现dll校准模式的移动设备的一实施例的框图。设备700表示移动计算设备,诸如计算平板、移动电话或智能电话、无线使能的电子读取器、可穿戴计算设备或其他移动设备。将会理解,一般地示出了组件中的某些,并且没有在设备700中示出这样的设备的所有组件。

设备700包括处理器710,其执行设备700的主要处理操作。处理器710可以包括一个或多个物理设备,诸如微处理器、应用处理器、微控制器、可编程逻辑器件、或其他处理部件。由处理器710执行的处理操作包括在其上执行应用和/或设备功能的操作平台或操作系统的执行。处理操作包括与关于人类用户或关于其他设备的i/o(输入/输出)有关的操作、与功率管理有关的操作和/或与将设备700连接至另一设备有关的操作。处理操作还可以包括与音频i/o和/或显示i/o有关的操作。

在一个实施例中,设备700包括音频子系统720,其表示与向计算设备提供音频功能相关联的硬件(例如音频硬件和音频电路)和软件(例如驱动、编解码器)组件。音频功能可以包括扬声器和/或耳机输出,以及麦克风输入。用于这样的功能的设备可以被集成到设备700中,或被连接至设备700。在一个实施例中,用户通过提供由处理器710接收并处理的音频命令而与设备700交互。

显示子系统730表示为用户提供视觉和/或触觉显示以与计算设备交互的硬件(例如显示设备)和软件(例如驱动)组件。显示子系统730包括显示接口732,其包括用来向用户提供显示的特定屏幕或硬件设备。在一个实施例中,显示接口732包括用来执行与显示有关的至少一些处理的与处理器710分离的逻辑。在一个实施例中,显示子系统730包括向用户提供输出和输入二者的触摸屏设备。在一个实施例中,显示子系统730包括向用户提供输出的高清晰度(hd)显示器。高清晰度可以指代具有近似100ppi(每英寸像素数)或更大的像素密度的显示,并且可以包括诸如全hd(例如1080p)、视网膜显示、4k(超高清晰度或uhd)或其他之类的格式。

i/o控制器740表示与同用户的交互有关的硬件设备和软件组件。i/o控制器740可以操作以管理是音频子系统720和/或显示子系统730的部分的硬件。另外,i/o控制器740图示了针对连接至设备700的附加设备的连接点,通过其用户可能与系统交互。例如,可以被附接至设备700的设备可能包括麦克风设备、扬声器或立体声系统、视频系统或其他显示设备、键盘或小键盘设备、或用于与特定应用一起使用的其他i/o设备,诸如卡读取器或其他设备。

如上面所提及的,i/o控制器740可以与音频子系统720和/或显示子系统730交互。例如,通过麦克风或其他音频设备的输入可以为设备700的一个或多个应用或功能提供输入或命令。另外,代替显示输出或除了显示输出之外,可以提供音频输出。在另一示例中,如果显示子系统包括触摸屏,则显示设备还充当输入设备,其可以至少部分由i/o控制器740来管理。设备700上还可以存在附加的按钮或开关以提供由i/o控制器740管理的i/o功能。

在一个实施例中,i/o控制器740管理诸如加速度计、相机、光传感器或其他环境传感器、陀螺仪、全球定位系统(gps)或可以被包括在设备700中的其他硬件之类的设备。输入可以是直接用户交互的部分,并且向系统提供环境输入以影响其操作(诸如对于噪声的滤波、为了亮度检测而调整显示器、应用相机的闪光灯、或其他特征)。在一个实施例中,设备700包括功率管理750,其管理电池电力使用、电池的充电和与电力节省操作有关的特征。

存储器子系统760包括用于将信息存储在设备700中的(一个或多个)存储器设备762。存储器子系统760可以包括非易失性(如果到存储器设备的电力中断,则状态不改变)和/或易失性(如果到存储器设备的电力中断,则状态是不确定的)存储器设备。存储器760可以存储应用数据、用户数据、音乐、照片、文档或其他数据、以及与系统700的应用和功能的执行有关的系统数据(不管是长期的还是临时的)。在一个实施例中,存储器子系统760包括存储器控制器764(其也可以被视为系统700的控制的部分,并且可以潜在地被视为处理器710的部分)。存储器控制器764包括用来生成命令并将其发出至存储器设备762的调度器。

连通性(connectivity)770包括用来使得设备700能够与外部设备通信的硬件设备(例如无线和/或有线连接器和通信硬件)和软件组件(例如驱动、协议栈)。外部设备可以是单独的设备,诸如其他计算设备、无线接入点或基站、以及外围设备(诸如耳机、打印机或其他设备)。

连通性770可以包括多个不同类型的连通性。概括来说,设备700被图示有蜂窝连通性772和无线连通性774。蜂窝连通性772一般指代由无线载波提供的蜂窝网络连通性,诸如经由gsm(全球移动通信系统)或变型或衍生物、cdma(码多分址)或变型或衍生物、tdm(时分复用)或变型或衍生物、lte(长期演进——也被称为“4g”)或其他蜂窝服务标准提供的蜂窝网络连通性。无线连通性774指代非蜂窝的无线连通性,并且可以包括个域网(诸如蓝牙)、局域网(诸如wifi)和/或广域网(诸如wimax)、或其他无线通信。无线通信指代通过使用已调制电磁辐射经由非固体介质对数据的传递。有线通信通过固体通信介质而发生。

外围连接780包括硬件接口和连接器,以及用来做出外围连接的软件组件(例如驱动、协议栈)。将会理解,设备700可以既是至其他计算设备的外围设备(“至”782),又具有连接到其的外围设备(“来自”784)。设备700通常具有为了诸如管理(例如下载和/或上传、改变、同步)设备700上的内容的目的而连接至其他计算设备的“对接”连接器。另外,对接连接器可以允许设备700连接到某些外围设备,该某些外围设备允许设备700控制例如至视听系统或其他系统的内容输出。

除了专有对接连接器或其他专有连接硬件之外,设备700还可以经由常见的或基于标准的连接器做出外围连接780。常见类型可以包括通用串行总线(usb)连接器(其可以包括许多不同硬件接口中的任何)、包括迷你显示端口(mdp)的显示端口、高清晰度多媒体接口(hdmi)、火线或其他类型。

在一个实施例中,系统700包括dll校准控制790。虽然被示出为存储器子系统760的部分,但是将会理解,dll校准控制680可以是将dll用于i/o时序控制的任何系统的部分。在一个实施例中,一个或多个存储器设备762可以包括根据本文中描述的实施例的dll校准控制790。在一个实施例中,存储器设备762可以包括非易失性存储装置,诸如三维堆叠存储器设备或3dxp存储器设备。dll校准控制790包括标识dll校准模式的配置设置或根据标识dll校准模式的配置设置来操作。dll校准控制790支持多个不同的dll校准模式,它们是动态可配置的以为dll跟踪的操作或dll校准操作提供不同的时间间隔。在一个实施例中,存储器762包括dram。在一个实施例中,处理器710表示执行存储在一个或多个dram存储器762中的数据的一个或多个处理器。在一个实施例中,系统700包括用来与另一网络位置中的另一设备交换数据的(诸如在连通性770中的)网络接口,并且数据是存储在存储器762中的数据。

在一个方面中,一种用于存储数据的存储器设备包括:输入/输出(i/o)接口电路,其要与相关联的主机控制器交换数据;延迟锁相环(dll)电路,其被耦合以控制i/o接口的i/o时序;以及控制电路,其要根据为存储器设备配置的dll校准模式来选择性地启用和禁用针对dll电路的dll校准,其中当被选择性地启用时,dll校准要以由dll校准模式标识的时间间隔进行操作,并且当被选择性地禁用时,dll校准要制止跟踪相位更新。

在一个实施例中,存储器设备包括三维(3d)堆叠存储器设备。在一个实施例中,存储器设备包括3d交叉点(3dxp)存储器设备。在一个实施例中,控制电路要在运行时间选择性地启用和禁用dll校准。在一个实施例中,dll校准模式包括主机发起的校准模式,其中相关联的主机控制器要发送命令以选择性地启用或禁用dll校准。在一个实施例中,该相关联的主机控制器要至少部分地基于针对存储器设备的噪声表征来选择dll校准模式。在一个实施例中,dll校准模式包括其中当存储器设备处于活跃操作状态时dll校准要连续地操作并且当存储器设备处于低功率操作状态时dll校准关闭的模式。在一个实施例中,dll校准模式包括其中当存储器设备处于空闲操作状态时dll校准要连续地操作并且当存储器设备处于低功率操作状态时dll校准关闭的模式。在一个实施例中,该相关联的主机控制器要基于存储器设备的操作状态来选择dll校准模式。在一个实施例中,该相关联的主机控制器要基于存储器设备的低功率状态来选择dll校准模式。在一个实施例中,dll配置模式包括其中dll校准连同zqcal操作一起发生的模式。在一个实施例中,进一步包括要存储针对dll校准模式的配置设置的模式寄存器。

在一个方面中,一种具有存储器子系统的系统包括:主机控制器;以及具有随机存取能力和非易失性存储单元的三维堆叠存储器设备,该存储器设备包括输入/输出(i/o)接口电路,其要与相关联的主机控制器交换数据;延迟锁相环(dll)电路,其被耦合以控制i/o接口的i/o时序;以及控制电路,其要根据为存储器设备配置的dll校准模式来选择性地启用和禁用针对dll电路的dll校准,其中当被选择性地启用时,dll校准要以由dll校准模式标识的时间间隔进行操作,并且当被选择性地禁用时,dll校准要制止跟踪相位更新。在一个方面中,根据存储器设备的任何实施例的系统如上面阐述的那样。

在一个方面中,一种用于控制存储器设备中的i/o(输入/输出)同步的方法包括:根据存储器设备的dll(延迟锁相环)校准模式设置来确定针对dll电路选择性地启用还是禁用dll校准,该dll电路被耦合以控制存储器设备的(输入/输出)i/o接口的i/o时序,其中相关联的主机控制器设置dll校准模式;以及根据dll校准模式来执行针对dll电路的dll校准,其中当dll校准被选择性地启用时,以由dll校准模式标识的时间间隔执行dll校准,并且当dll校准被选择性地禁用时,不执行dll校准。

在一个实施例中,存储器设备包括三维(3d)堆叠存储器设备。在一个实施例中,存储器设备包括3d交叉点(3dxp)存储器设备。在一个实施例中,执行dll校准包括在运行时间选择性地启用和禁用dll校准。在一个实施例中,执行dll校准进一步包括以主机发起的校准模式来执行dll校准,其中相关联的主机控制器要发送命令以选择性地启用或禁用dll电路。在一个实施例中,执行dll校准至少部分地基于针对存储器设备的噪声表征。在一个实施例中,执行dll校准进一步包括在其中当存储器设备处于活跃操作状态时以及当存储器设备处于低功率操作状态时dll校准连续的一直打开模式(activeonmode)中执行dll校准。在一个实施例中,执行dll校准进一步包括在其中当存储器设备处于活跃操作状态时dll校准连续并且当存储器设备处于低功率操作状态时dll校准关闭的活跃打开模式(activeonmode)中执行dll校准。在一个实施例中,执行dll校准进一步包括在其中当存储器设备处于空闲操作状态时dll校准连续并且当存储器设备处于低功率操作状态时dll校准关闭的活跃打开模式中执行dll校准。在一个实施例中,进一步包括基于存储器设备的操作状态来选择dll校准模式。在一个实施例中,选择dll校准模式包括基于存储器设备的低功率状态的dll校准模式。在一个实施例中,执行dll校准进一步包括在其中dll校准连同zqcal操作一起发生的模式中执行dll校准。在一个实施例中,进一步包括将针对dll校准模式的配置设置存储在模式寄存器中。

在一个方面中,一种制品包括计算机可读存储介质,其具有存储在其上用来引起操作的执行以执行根据上面阐述的方法的任何实施例的方法的内容。在一个方面中,一种用于存储器管理的装置包括用于实行操作来执行根据上面阐述的方法的任何实施例的方法的部件。如本文中图示的流程图提供各种过程动作的序列的示例。流程图可以指示要由软件或固件例程执行的操作,以及物理操作。在一个实施例中,流程图可以图示有限状态机(fsm)的状态,其可以用硬件和/或软件来实现。虽然以特定序列或顺序示出,但是被除非另外指定,否则可以修改动作的顺序。因此,所图示的实施例应当仅被理解为示例,并且可以以不同顺序来执行过程,并且可以并行执行某些动作。另外,在各种实施例中可以省略一个或多个动作;因此,并非在每个实施例中要求所有动作。其他过程流程是可能的。

就本文中描述了各种操作或功能来说,它们可以被描述或限定为软件代码、指令、配置和/或数据。内容可以是可直接执行的(“对象”或“可执行”形式)、源代码或差异代码(“增量”或“补丁”代码)。可以经由其上存储有内容的制品或者经由操作通信接口以经由通信接口来发送数据的方法来提供本文中描述的实施例的软件内容。机器可读存储介质可以使得机器执行所描述的功能或操作,并且包括以由机器(例如计算设备、电子系统等)可访问的形式存储信息的任何机构,诸如可记录/非可记录介质(例如只读存储器(rom)、随机存取存储器(ram)、磁盘存储介质、光存储介质、闪速存储器设备等)。通信接口包括接口连接到硬接线、无线、光学等的介质中的任何介质以传送给另一设备的任何机构,诸如存储器总线接口、处理器总线接口、因特网连接、盘控制器等。可以通过提供配置参数和/或发送信号来配置通信接口以使通信接口准备提供描述软件内容的数据信号。可以经由发送给通信接口的一个或多个命令或信号来访问通信接口。

本文中描述的各种组件可以是用于执行所描述的操作或功能的部件。本文中描述的每个组件包括软件、硬件或这些的组合。组件可以被实现为软件模块、硬件模块、专用硬件(例如应用特定的硬件、应用特定的集成电路(asic)、数字信号处理器(dsp)等)、嵌入式控制器、硬接线电路等。

除了本文中所描述的之外,还可以在不偏离本发明所公开的实施例和实现的范围的情况下对其做出各种修改。因此,应当在说明性且非限制性的意义上解释本文中的说明和示例。应当仅参考随后的权利要求书来衡量本发明的范围。

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