CN109643577A - 用于存储器训练的电参数的多维优化 - Google Patents
用于存储器训练的电参数的多维优化 Download PDFInfo
- Publication number
- CN109643577A CN109643577A CN201780053192.4A CN201780053192A CN109643577A CN 109643577 A CN109643577 A CN 109643577A CN 201780053192 A CN201780053192 A CN 201780053192A CN 109643577 A CN109643577 A CN 109643577A
- Authority
- CN
- China
- Prior art keywords
- value
- electrical parameter
- nargin
- combined
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Power Sources (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
Abstract
实施例的各方面涉及用于生成实验设计(DOE)矩阵的系统、方法和设备,DOE矩阵包括针对多个电参数的值的一组可能的组合;迭代地将针对多个电参数的值的每个组合应用于一个或多个存储器引脚;确定针对值的每个组合的裕度响应;基于裕度响应和值的每个组合的相关性来生成预测函数;并且基于预测函数来优化多个电参数。
Description
相关申请的交叉引用
本申请要求2016年9月29日提交的题为“MULTI-DIMENSIONAL OPTIMIZATION OFELECTRICAL PARAMETERS FOR MEMORY TRAINING”的美国非临时专利申请No.15/280、320的优先权,其全部内容通过引用并入本文。
技术领域
本公开涉及用于存储器训练的电参数的多维优化。
背景技术
用于DDR存储器总线的优化例程的可缩放性可受到参数交互的复杂性、裕度饱和、执行时序以及其他的影响。
存储器参考码(MRC)执行一维扫描或二维(精细/粗网格)训练步骤,以优化电参数。由于运行计数中的显著开销,要优化的电参数的增加使得计算效率低。此外,训练步骤的顺序是使用客户参考平台(CRB)和参考验证平台(RVP)凭经验确定的。这假定客户平台在产品设计指南(PDG)中。因此,独立训练步骤之间的潜在相互作用不是即时确定的。一些交互是使用不完全代表整个生态系统的平台凭经验预先确定的。
裕度饱和复杂度也可影响可伸缩性。由于裕度饱和,一维训练步骤易于出错。平均裕度可以减轻噪音影响,但平均值无法解释裕度饱和。
执行时间范围扫描可能需要来自电验证过程的经验数据以确定子范围。扫描的范围可以是针对测试功能的设计的子集,这可能导致受约束的优化。
附图说明
图1示出了包括多核处理器的计算系统的框图的实施例。
图2是根据本公开的实施例的用于基于使用一个或多个电参数的点测试来确定预测函数的过程流程图。
图3示出了根据本公开实施例的包括互连架构的计算系统的实施例。
图4示出了根据本公开实施例的包括分层堆栈的互连架构的实施例。
图5示出了根据本公开的实施例的在互连架构内生成或接收的请求或分组的实施例。
图6示出了根据本公开的实施例的用于互连架构的发射器和接收器对的实施例。
图7示出了根据本公开实施例的用于计算系统的框图的另一实施例。
应理解,附图未按比例绘制并且是出于说明性目的。另外,在附图中,相同的附图标记在若干视图中表示相对应的部件。
具体实施方式
在以下描述中,阐述了许多具体细节,诸如特定类型的处理器和系统配置的示例、特定硬件结构、特定架构和微架构细节、特定寄存器配置、特定指令类型、特定系统组件、特定测量/高度、特定处理器流水线阶段和操作等,以便提供对本公开的透彻理解。然而,对于本领域技术人员显而易见的是,不需要采用这些具体细节来实施本公开。在其他实例中,众所周知的组件或方法,例如特定和替代处理器架构、用于所描述的算法的特定逻辑电路/代码、特定固件代码、特定互连操作、特定逻辑配置、特定制造技术和材料、特定编译器实现、特定未详细描述代码中的算法表达、特定断电和门控技术/逻辑以及计算机系统的其他特定操作细节,以避免不必要地模糊本公开。
尽管可以参考特定集成电路中的节能和能量效率来描述以下实施例,例如在计算平台或微处理器中,但是其他实施例也适用于其他类型的集成电路和逻辑设备。本文描述的实施例的类似技术和教导可以应用于其他类型的电路或半导体器件,其也可以受益于更好的能量效率和节能。例如,所公开的实施例不限于台式计算机系统或超极本TM。并且还可以用于其他设备,例如手持设备,平板电脑,其他薄型笔记本电脑,片上系统(SOC)设备和嵌入式应用。手持设备的一些示例包括蜂窝电话,互联网协议设备,数码相机,个人数字助理(PDA)和手持PC。嵌入式应用通常包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或任何其他可执行的系统下面讲述的功能和操作。此外,这里描述的装置、方法和系统不限于物理计算设备,还可以涉及用于节能和效率的软件优化。如将在以下描述中变得显而易见的,本文描述的方法,装置和系统的实施例(无论是参考硬件、固件、软件还是其组合)对于与性能平衡的“绿色技术”未来是至关重要的。注意事项。
随着计算系统的发展,其中的组件变得更加复杂。结果,在组件之间耦合和通信的互连架构的复杂性也在增加,以确保满足最佳组件操作的带宽要求。此外,不同的细分市场需要互连架构的不同方面以满足市场需求。例如,服务器需要更高的性能,而移动生态系统有时会牺牲整体性能以节省电力。然而,大多数织物的唯一目的是提供最高性能和最大功率节省。下面,讨论了许多互连,这些互连将潜在地受益于本文所述的公开内容的各方面。
参考图1,描绘了包括多核处理器的计算系统的框图的实施例。处理器100包括任何处理器或处理设备,例如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、片上系统(SOC)或用于执行代码的其他设备。在一个实施例中,处理器100包括至少两个核-核101和102,其可包括不对称核或对称核(所示实施例)。然而,处理器100可以包括可以是对称或不对称的任何数量的处理元件。
在一个实施例中,处理元件是指用于支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、进程单元、上下文、上下文单元、逻辑处理器、硬件线程、核,和/或能够保持处理器的状态(诸如执行状态或架构状态)的任何其它元件。换言之,在一个实施例中,处理元件是指能够独立地与代码(诸如软件线程、操作系统、应用或其它代码)相关联的任何硬件。物理处理器(或处理器插槽)通常是指集成电路,可能包括诸如核或硬件线程的任意数量的其它处理元件。
核通常是指位于能够维护独立架构状态的集成电路上的逻辑,其中每个独立维护的架构状态与至少一些专用执行资源相关联。与核不同,硬件线程通常是指位于能够维护独立架构状态的集成电路上的任何逻辑,其中独立维护的架构状态共享对执行资源的访问。能够看出,当某些资源被共享并且其它专用于架构状态时,硬件线程和核的命名法之间的线重叠。更通常地,核和硬件线程被操作系统视为单独的逻辑处理器,其中操作系统能够单独地调度每个逻辑处理器上的操作。
如图1所示,物理处理器100包括两个核-核101和102。这里,核101和102被认为是对称核,即具有相同配置、功能单元和/或逻辑的核。在另一实施例中,核101包括乱序处理器核,而核102包括有序处理器核。然而,核101和102可以从任何类型的核中单独选择,例如本机核、软件管理核、适于执行本机指令集架构(ISA)的核、适于执行转换指令集架构(ISA)的核、共同设计的核或其他已知核。在异构核环境(即,非对称核)中,可以利用某种形式的转换(例如二进制转换)来在一个或两个核上调度或执行代码。然而,为了进一步讨论,核101中示出的功能单元在下面进一步详细描述,因为核102中的单元在所描绘的实施例中以类似的方式操作。
如所描绘的,核101包括两个硬件线程101a和101b,它们也可以称为硬件线程槽101a和101b。因此,在一个实施例中,诸如操作系统的软件实体可能将处理器100视为四个单独的处理器,即,能够同时执行四个软件线程的四个逻辑处理器或处理元件。如上所述,第一线程与架构状态寄存器101a相关联,第二线程与架构状态寄存器101b相关联,第三线程可以与架构状态寄存器102a相关联,并且第四线程可以与架构状态寄存器102b相关联。这里,架构状态寄存器(101a、101b、102a和102b)中的每个可以被称为处理元件、线程槽或线程单元,如上所述。如图所示,架构状态寄存器101a在架构状态寄存器101b中被复制,因此能够针对逻辑处理器101a和逻辑处理器101b存储单个架构状态/上下文。在核101中,还可以针对线程101a和101b复制其他较小的资源,例如分配器和重命名器块130中的指令指针和重命名逻辑。可以通过分区来共享一些资源,诸如重新排序/引退单元135中的重新排序缓冲区、ILTB 120、加载/存储缓冲区和队列。其他资源(例如,通用内部寄存器、页表基址寄存器、低级数据高速缓存和数据TLB 115、执行单元140以及乱序单元135的部分)是可能完全共享的。
处理器100通常包括其他资源,其可以是完全共享的、通过分区共享的,或由处理元件/对处理元件专用的。在图1中,示出了具有处理器的说明性逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可以包括或省略这些功能单元中的任何一个,以及包括未描绘的任何其他已知功能单元、逻辑或固件。如图所示,核101包括简化的、代表性的乱序(OOO)处理器核。但是可以在不同的实施例中使用有序处理器。OOO核包括用于预测要执行/采用的分支的分支目标缓冲器120和用于存储用于指令的地址转换条目的指令转换缓冲器(I-TLB)120。
核心101还包括解码模块125,其耦合到取指单元120以解码所获取的元件。在一个实施例中,取指逻辑包括分别与线程槽101a、101b相关联的各个定序器。通常,核心101与第一ISA相关联,第一ISA定义/指定在处理器100上能执行的指令。通常作为第一ISA的一部分的机器代码指令包括指令的一部分(称为操作码),其引用/指定要执行的指令或操作。解码逻辑125包括从其操作码识别这些指令并在管线中传递解码的指令以便进行由第一ISA定义的处理的电路。例如,如下面更详细讨论的,在一个实施例中,解码器125包括被设计或适于识别特定指令(例如,事务指令)的逻辑。作为解码器125识别的结果,架构或核心101采取特定的预定义动作来执行与适当指令相关联的任务。重要的是要注意,可以响应于单个或多个指令来执行本文描述的任务、块、操作和方法中的任何一个;其中一些可能是新的或旧的指令。注意,在一个实施例中,解码器126识别相同的ISA(或其子集)。可替代地,在异构核心环境中,解码器126识别第二ISA(第一ISA的子集或不同的ISA)。
在一个示例中,分配器和重命名器块130包括用于预留资源的分配器,诸如用于存储指令处理结果的寄存器文件。然而,线程101a和101b可能能够乱序执行,其中分配器和重命名器块130还保留其他资源,例如用于跟踪指令结果的重排序缓冲器。单元130还可以包括寄存器重命名器,其用于将程序/指令参考寄存器重命名为处理器100内部的其他寄存器。重排序/引退单元135包括组件,例如上面提到的重排序缓冲器、加载缓冲器和存储缓冲器,以支持乱序执行和稍后乱序执行的指令的有序引退。
在一个实施例中,调度器和执行单元块140包括调度器单元,其用于调度执行单元上的指令/操作。例如,浮点指令在具有可用浮点执行单元的执行单元的端口上被调度。还包括与执行单元相关联的寄存器文件以存储信息指令处理结果。示例性执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元和其他已知的执行单元。
较低级数据高速缓存和数据转换缓冲器(D-TLB)150耦合到执行单元140。数据高速缓存用于存储最近使用/操作的元素,例如数据操作数,其可能保存在存储器一致性状态中。D-TLB用于存储最近的虚拟/线性到物理地址转换。作为特定示例,处理器可以包括页表结构,用于将物理存储器分成多个虚拟页面。
这里,核心101和102共享对较高级或较远级的高速缓存(例如,与片上接口110相关联的第二级高速缓存)的访问。注意,较高级或较远级是指高速缓存级增加或从执行单位进一步远离。在一个实施例中,较高级高速缓存是最后级数据高速缓存—处理器100上的存储器层次结构中的最后高速缓存,诸如第二或第三级数据高速缓存。然而,较高级高速缓存不限于此,因为它可以与指令高速缓存相关联或包括指令高速缓存。跟踪高速缓存是一种类型的指令高速缓存,可以耦合在解码器125之后以存储最近解码的跟踪。这里,指令可能涉及宏指令(即,由解码器识别的一般指令),其可以解码为多个微指令(微操作)。
在所描绘的配置中,处理器100还包括片上接口模块110。历史上,下面更详细描述的存储器控制器已被包括在处理器100外部的计算系统中。在这种情况下,片上接口111用于与处理器100外部的设备进行通信,所述处理器100外部的设备例如系统存储器175、芯片组(通常包括连接到存储器175的存储器控制器集线器和用于连接外围设备的I/O控制器集线器)、存储器控制器集线器、北桥或其他集成电路。并且在这种情况下,总线105可以包括任何已知的互连,例如多点总线、点对点互连、串行互连、并行总线,相干(例如高速缓存相干)总线、分层协议架构、差分总线和GTL总线。
存储器175可以专用于处理器100或者与系统中的其他设备共享。存储器175类型的常见示例包括DRAM、SRAM、非易失性存储器(NV存储器)和其他已知的存储设备。注意,设备180可以包括图形加速器、耦合到存储器控制器集线器的处理器或卡、耦合到I/O控制器集线器的数据存储装置、无线收发器、闪存设备、音频控制器、网络控制器或其他已知的设备。
然而,最近,随着更多逻辑和设备被集成在诸如SOC的单个管芯上,这些设备中的每一个可以合并在处理器100上。例如,在一个实施例中,存储器控制器集线器与处理器100在同一封装和/或管芯上。这里,核心的一部分(核心上部分)110包括一个或多个控制器,用于与诸如存储器175或图形设备180之类的其他设备接合。包括与这些设备接合的互连和用于控制器的该配置通常被称为核心上(或非核心配置)。作为示例,片上接口110包括用于片上通信的环形互连和用于片外通信的高速串行点对点链路105。然而,在SOC环境中,甚至更多的设备,例如网络接口、协处理器、存储器175、图形处理器180和任何其他已知的计算机设备/接口可以集成在单个管芯或集成电路上以提供具有高功能和低功耗的小形状因子。
在一个实施例中,处理器100能够执行编译器、优化和/或转换器代码177以编译、转换和/或优化应用代码176以支持本文描述的装置和方法或与其接合。编译器通常包括用于将源文本/代码转换成目标文本/代码的程序或程序集。通常,使用编译器编译程序/应用代码是在多个阶段和多遍中完成的,以将高级编程语言代码转换为低级机器或汇编语言代码。然而,单遍编译器仍可用于简单编译。编译器可以利用任何已知的编译技术并执行任何已知的编译器操作,例如词法分析、预处理、解析、语义分析、代码生成、代码转换和代码优化。
较大的编译器通常包括多个阶段,但是大多数情况下这些阶段包括在两个一般阶段中:(1)前端,即通常可以进行句法处理、语义处理和一些变换/优化的地方,以及(2)后端,即通常进行分析、转换、优化和代码生成的地方。一些编译器引用了一个中间部分,它示出了编译器的前端和后端之间描绘的模糊。结果,对编译器的插入、关联、生成或其他操作的引用可以在任何上述阶段或遍以及编译器的任何其他已知阶段或遍中发生。作为说明性示例,编译器可能在编译的一个或多个阶段插入操作、调用、函数等,例如在编译的前端阶段插入调用/操作,并且然后在变换阶段将调用/操作变换为更低级别的代码。请注意,在动态编译期间,编译器代码或动态优化代码可以插入此类操作/调用,并且对代码进行优化以便在运行时期间执行。作为特定说明性示例,可以在运行时期间动态地优化二进制代码(已编译的代码)。这里,程序代码可以包括动态优化代码、二进制代码或其组合。
与编译器类似,转换器(例如二进制转换器)静态地或动态地转换代码以优化和/或转换代码。因此,对代码、应用代码、程序代码或其他软件环境的执行的引用可以指代:(1)动态地或静态地执行编译器程序、优化代码优化器或转换器以编译程序代码、维护软件结构、执行其他操作、优化代码,或转换代码;(2)执行包括操作/调用的主程序代码,例如已优化/编译的应用代码;(3)执行与主程序代码相关联的其他程序代码,例如库,以维护软件结构、执行其他软件相关操作,或优化代码;或(4)其组合。
本公开描述了迭代地训练一个或多个电参数以优化存储器运行状态。响应面法(RSM)方案用于最小化估计最佳操作状态所需的运行计数。RSM是一种曲线拟合方法,有助于确定最小化测量的误差的预测函数;预测函数可用于估计针对给定输入的输出。
在BIOS编译时可以获得可重用的实验设计(DOE)矩阵及其逆。可重用的DOE矩阵可以更好地捕获与扩展搜索区域的交互。这里描述的系统和方法可以使用裕度响应,例如系统眼睛区域,作为响应参数。系统眼睛区域的使用可以消除利用一维扫描所看到的裕度饱和问题(即,与仅依赖于眼睛高度或眼睛宽度相反)。此外,眼睛区域减轻了噪声的影响,因为在相同的时间片中没有获得描述眼睛边界的(电压、时间)坐标的数量。
本文描述的系统和方法可以导致估计优化的系统操作点所需的较少的运行计数。如果N表示针对每个因子的离散设置的数量而k表示因子的数量,则针对传统训练(1D/2D混合)的运行时复杂度为N2的阶数。RSM运行时复杂度为3k的阶数。针对当前和未来设计的N和k的阶数可以使RSM更快并且在计算上更有效地进行1维扫描。
系统和方法可以导出裕度预测公式。在大量制造(HVM)环境中通过RSM数据驱动的分析可以向硅/DFT设计人员提供反馈,以支持未来的工作。
该系统和方法提供了更少的代码来维护。预测函数或在某些情况下由预测函数识别的电参数可以在未来平台上重复使用,而不管存储器技术或总线频率如何。
使用RSM来提供时间的节省的系统和方法将潜在地允许增加的循环计数,让位于对应于随机抖动分布的尾端的更准确的事务错误率(TER)测量。
实验设计(DOE)矩阵x在BIOS编译时预先确定。对应于矩阵x的训练步骤产生线性方程Ax=B,其中A是系数矩阵,而B是系统眼区的响应向量。x的“逆”在BIOS编译时预先确定,从而使其成为可重用的最小二乘拟合矩阵消除计算需求。在运行时确定A,其用作针对系统裕度眼区域的预测函数。通过针对预测公式来应用输入的解空间来确定局部最大值。为了执行另外的迭代,解决方案空间被系统地“收缩”,使得先前确定的局部最大值形成“种子”,围绕该“种子”执行后续的多维搜索。
每次迭代收敛RSM解空间确保迭代是有限的。如果M表示可能的最大迭代次数,则在N次迭代后系统被认为是优化的,其中N大于0且N小于或等于M,条件是以下任一条件为真:
针对第N次迭代的确定系数(R2)小于指定阈值;以及
误差平方和(SST)在第(n-1)次和第N次迭代之间增加。
在第(N-1)次迭代中确定的裕度预测公式并且用于确定针对系统的稳定操作点。
DOE可以表示一组配置的电参数。例如,DOE可代表电参数的16种不同组合。从高速缓存存储器中,处理器可以对16种不同的电参数的组合中的每一种运行点测试。处理器可以确定针对每个点测试的裕度响应(例如,眼睛区域)。
图2是根据本公开的实施例的用于基于使用一个或多个电参数的点测试来确定预测函数的过程流程图200。过程流程图200可以在包括处理器和存储器的计算系统的初始化之前发生。首先,用于扫描的参数范围被硬编码到处理器BIOS中。给定针对每个电参数值的可用范围,DOE矩阵可以包括所有可用的参数范围(202)。初始迭代可以电参数值组合的无约束集(或样本空间),所述电参数值组合的无约束集使用针对每个电参数的可能值的宽范围。处理器可以使用来自DOE矩阵的电参数的每个组合来运行点测试(202)。点测试可以包括测试上下文,通过该测试上下文可以确定事务错误率(对于存储器应用)或针对PCIe应用的误码率。处理器可以生成针对来自DOE矩阵的电参数的组合中的每个的裕度响应(204)。
处理器可以确定参数组合中的任何一个是否导致零裕度响应(206)。如果存在零裕度响应,则处理器可以根据导致零裕度响应的电气参数的组合来确定最具影响的电参数值(208)。参数范围可以被约束为除了导致零裕度响应的最大影响电参数值之外的值,或者,在实施例中,参数范围可以被约束为导致针对电参数的组合的最大裕度响应的值。可以基于约束参数生成新的裕度响应(204)。
如果不存在来自电参数的任何组合的零裕度响应,则可以通过将裕度响应与电参数的对应的组合相关来生成预测公式(210)。例如,如果DOE矩阵由x表示,并且针对电参数的每个组合的裕度响应值(例如眼睛面积值)由B表示,则预测函数A可以由Ax=B定义。处理器可以应用或测试预测函数以确定预测函数预测裕度响应的程度。
处理器可以确定响应中的方差是否在每次运行迭代时收敛以及是否RSq<阈值(212),其中阈值可以是0.75或更大的值。可以使用一个或多个统计特征来量化预测值质量,例如:
SStotal=平方和值总和;
SSe=平方误差总和;
SStotal=SSM+SSe,其中SS是针对平方和的表示,而T、M和E分别是针对总计、模型和误差的表示;以及
RSq=相关系数。
预测函数的质量可以用高于0.85的RSq相关系数表示,然后可以认为预测函数具有足够的质量;在实施例中,SStotal的低值也可以用作可靠预测函数的量化符。
如果方差不是每次运行迭代收敛(或者,如果方差在迭代之间不变化则不同)并且RSq>阈值,那么训练过程可以停止,并且来自最后一次迭代的预测函数可以用于优化电参数值(214)。
如果响应中的方差正在收敛和/或RSq<阈值,则处理器可以确定是否可以细化解空间(216)。如果不能进一步细化解空间(例如,电参数值的可用组合),则训练过程可以停止,并且来自最后一次迭代的预测函数可以用于优化电参数值(214)。如果解决方案空间可以细化,则处理器可以使用来自当前迭代的预测公式以优化参数,并且处理器可以将解空间细化为类似于导致局部最大值的值(218)。可以基于来自先前DOE运行迭代的局部最大值来修正DOE矩阵以包括更小的解空间(例如,更少数量的电参数的组合和/或更小范围的电参数值)。可以使用新的DOE矩阵运行点测试(204)。
结果存储在闪存中,并且在热复位时重新调用条件。
在实施例中,电参数可以包括以下中的两个或更多个:DQ总线驱动强度(发送侧)、发送均衡、接收均衡、转换速率(发送侧)、CPU侧的片上终结(在DQ读取事件期间)或DIMMRON,即DIMM输出驱动器处的阻抗(在DQ读取事件期间)或其他电气参数。
一种包括外围组件快速互连(PCI)(PCIe)架构的互连结构架构。PCIe的主要目标是使来自不同供应商的组件和设备能够在开放式架构中互操作,跨越多个细分市场;客户端(台式机和移动)、服务器(标准和企业)以及嵌入式和通信设备。快速PCI是一种针对各种未来计算和通信平台定义的高性能的、通用I/O互连。一些PCI属性(例如其使用模型、加载存储架构和软件接口)已通过其修订版进行维护,而先前的并行总线实现已被高度可缩放的、完全串行接口所取代。最新版本的快速PCI利用点对点互连、基于交换机的技术和分组化的协议的优势,提供更高水平的性能和功能。快速PCI支持的一些高级功能包括电源管理、服务质量(QoS)、热插拔/热交换支持、数据完整性和错误处理。
参见图3,示出了由互连一组组件的点对点链路组成的结构的实施例。系统300包括耦合到控制器集线器315的处理器305和系统存储器310。处理器305包括任何处理元件,例如微处理器、主机处理器、嵌入式处理器、协处理器或其他处理器。处理器305通过前端总线(FSB)306耦合到控制器集线器315。在一个实施例中,FSB 306是如下所述的串行点对点互连。在另一实施例中,链路306包括遵循不同互连标准的串行、差分互连架构。
系统存储器310包括任何存储器设备,例如随机存取存储器(RAM)、非易失性(NV)存储器或系统300中的设备可存取的其他存储器。系统存储器310通过存储器接口316耦合到控制器集线器315。存储器接口的示例包括双倍数据速率(DDR)存储器接口、双通道DDR存储器接口和动态RAM(DRAM)存储器接口。
在一个实施例中,控制器集线器315是快速外围组件互连(PCIe或PCIE)互连层次结构中的根集线器、根复合体或根控制器。控制器集线器315的示例包括芯片组、存储器控制器集线器(MCH)、北桥、互连控制器集线器(ICH)、南桥和根控制器/集线器。通常,术语芯片组指的是两个物理上分离的控制器集线器,即耦合到互连控制器集线器(ICH)的存储器控制器集线器(MCH)。注意,当前系统通常包括与处理器305集成的MCH,而控制器315以与下面描述的类似方式与I/O设备通信。在一些实施例中,可选地通过根复合体315支持对等路由。
这里,控制器集线器315通过串行链路319耦合到交换机/桥接器320。输入/输出模块317和321(也可以称为接口/端口317和321)包括/实现分层协议栈以提供控制器集线器315和交换机320之间的通信。在一个实施例中,多个设备能够耦合到交换机320。
交换机/桥320将分组/消息从设备325向上游(即,朝向根联合体顺着层次结构向上)路由到控制器集线器315并且向下游(即从远离根控制器顺着层次结构向下)从处理器305或系统存储器310路由到设备325。在一个实施例中,交换机320被称为多个虚拟PCI到PCI桥设备的逻辑组件。设备325包括要耦合到电子系统的任何内部或外部设备或组件,例如I/O设备、网络接口控制器(NIC)、附加卡、音频处理器、网络处理器、硬盘驱动器、存储设备、CD/DVD ROM、监视器、打印机、鼠标、键盘、路由器、便携式存储设备、火线设备、通用串行总线(USB)设备、扫描仪和其他输入/输出设备。通常在PCIe术语中,例如设备,被称为端点。尽管没有具体示出,但是设备325可以包括PCIe到PCI/PCI-X桥,以支持传统或其他版本的PCI设备。PCIe中的端点设备通常被分类为传统、PCIe或根联合体集成端点。
图形加速器330还通过串行链路332耦合到控制器集线器315。在一个实施例中,图形加速器330耦合到MCH,而MCH耦合到ICH。然后将交换机320和I/O设备325耦合到ICH。I/O模块331和318还用于实现分层协议栈以在图形加速器330和控制器集线器315之间进行通信。类似于上面的MCH讨论,图形控制器或图形加速器330本身可以集成在处理器305中。
转到图4,图4示出了分层协议栈的实施例。分层协议栈400包括任何形式的分层通信栈,例如快速路径互连(QPI)栈、PCIe栈、下一代高性能计算互连栈或其他分层栈。尽管下面参考图3-图6进行的讨论涉及PCIe栈,但是相同的概念可以应用于其他互连栈。在一个实施例中,协议栈400是PCIe协议栈,包括事务层405、链路层410和物理层420。接口,例如图3中的接口317、318、321、322、326和331,可以表示为通信协议栈400。作为通信协议栈的表示也可以称为实现/包括协议栈的模块或接口。
快速PCI使用分组来在组件之间传递信息。在事务层405和数据链路层410中形成分组以将信息从发送组件携带到接收组件。当发送的分组流经其他层时,它们会扩展为处理这些层的分组所需的附加信息。在接收侧,发生反向过程,并且分组从其物理层420表示变换为数据链路层410表示,并且最终(对于事务层分组)变换为可以由接收设备的事务层405处理的形式。
事务层
在一个实施例中,事务层405用于提供设备的处理核心和互连架构(例如,数据链路层410和物理层420)之间的接口。在这方面,事务层405的主要职责是分组的汇编和反汇编(即事务层分组或TLP)。转换层405通常管理针对TLP的基于信用的流控制。PCIe实现分离事务,即具有由时间分隔的请求和响应的事务,允许链接在目标设备收集针对响应的数据时携带其他业务。
此外,PCIe利用基于信用的流控制。在该方案中,设备在事务层405中针对每个接收缓冲器通告初始信用量。在链路的相对端处的外部设备,例如图1中的控制器集线器115,对由每个TLP消费的信用数进行计数。如果事务未超过信用额度,则可以发送事务。在接收到响应后,将恢复一定数量的信用。信用方案的一个优点是,如果没有遇到信用额度,信用返还的延迟不会影响性能。
在一个实施例中,四个事务地址空间包括配置地址空间、存储器地址空间、输入/输出地址空间和消息地址空间。存储器空间事务包括将数据传送到存储器映射位置或从存储器映射位置传送数据的读请求和写请求中的一个或多个。在一个实施例中,存储器空间事务能够使用两种不同的地址格式,例如短地址格式,例如32位地址,或长地址格式,例如64位地址。配置空间事务用于访问PCIe设备的配置空间。用于配置空间的事务包括读请求和写请求。定义消息事务以支持PCIe代理之间的带内通信。
因此,在一个实施例中,事务层405组装分组报头/有效载荷406。当前分组报头/有效载荷的格式可以在PCIe规范网站的PCIe规范中找到。
快速参考图5,示出了PCIe事务描述符的实施例。在一个实施例中,事务描述符500是用于携带事务信息的机制。在这方面,事务描述符500支持系统中的事务的识别。其他潜在用途包括跟踪默认事务排序的修改以及事务与通道的关联。
事务描述符500包括全局标识符字段502、属性字段504和通道标识符字段506。在所示示例中,全局标识符字段502被描绘为包括本地事务标识符字段508和源标识符字段510。在一个实施例中,全局事务标识符502对于所有未完成的请求是唯一的。
根据一种实现方式,本地事务标识符字段508是由请求代理生成的字段,并且对于需要完成该请求代理的所有未完成请求它是唯一的。此外,在该示例中,源标识符510在PCIe层次结构内唯一地标识请求者代理。因此,与源ID 510一起,本地事务标识符508字段提供层次结构域内的事务的全局标识。
属性字段504指定事务的特征和关系。在这方面,属性字段504可能用于提供允许修改事务的默认处理的附加信息。在一个实施例中,属性字段504包括优先级字段512、保留字段514、排序字段516和非窥探字段518。这里,优先级子字段512可以由发起者修改以向事务分配优先级。保留属性字段514保留用于将来或供应商定义的用途。可以使用保留属性字段来实现使用优先级或安全性属性的可能使用模型。
在该示例中,排序属性字段516用于提供传达可以修改默认排序规则的排序类型的可选信息。根据一个示例实现方式,排序属性“0”表示要应用默认排序规则,其中排序属性“1”表示放宽排序,其中写入可以在相同方向上传递写入,并且读取完成可以在相同方向上传递写入。窥探属性字段518用于确定是否窥探了事务。如图所示,通道ID字段506标识与事务相关联的通道。
链路层
链路层410(也称为数据链路层410)充当事务层405和物理层420之间的中间级。在一个实施例中,数据链路层410的职责是提供用于在链路的两个组件之间交换事务层分组(TLP)的可靠机制。数据链路层410的一侧接受由事务层405组装的TLP,应用分组序列标识符411,即标识号或分组号,计算并应用错误检测码,即CRC 412,并将修改的TLP提交给物理层420用于跨物理到外部设备的传输。
物理层
在一个实施例中,物理层420包括逻辑子块421和电子块422,以物理地将分组发送到外部设备。这里,逻辑子块421负责物理层421的“数字”功能。在这方面,逻辑子块包括用于准备用于由物理子块422发送的传出信息的发送部分,以及用于在将所接收的信息传递到链路层410之前识别和准备所接收的信息的接收部分。
物理块422包括发射器和接收器。发射器由逻辑子块421提供符号,发射器将符号串行化并发送到外部设备。接收器被提供有来自外部设备的串行符号,并将接收的信号转换为位流。位流被反序列化并提供给逻辑子块421。在一个实施例中,采用8b/10b传输码,其中发送/接收10位符号。这里,特殊符号用于利用帧423对分组进行成帧。此外,在一个示例中,接收器还提供从传入串行流中恢复的符号时钟。
如上所述,尽管参考PCIe协议栈的特定实施例讨论了事务层405、链路层410和物理层420,但是分层协议栈不限于此。实际上,可以包括/实现任何分层协议。作为示例,表示为分层协议的端口/接口包括:(1)用于组装分组的第一层,即事务层;用于对分组进行排序的第二层,即链路层;以及用于发送分组的第三层,即物理层。作为具体示例,使用公共标准接口(CSI)分层协议。
接下来参考图6,示出了PCIe串行点对点结构的实施例。尽管示出了PCIe串行点对点链路的实施例,但是串行点对点链路不限于此,因为它包括用于发送串行数据的任何传输路径。在所示的实施例中,基本PCIe链路包括两个低压差分驱动信号对:发送对606/611和接收对612/607。因此,设备605包括用于将数据发送到设备610的传输逻辑606以及用于从设备610接收数据的接收逻辑607。换句话说,在PCIe链接中包含两个发送路径,即路径616和617,以及两个接收路径,即路径618和619。
传输路径指的是用于发送数据的任何路径,例如传输线、铜线、光学线、无线通信通道、红外通信链路或其他通信路径。两个设备(例如设备605和设备610)之间的连接被称为链路,例如链路415。链路可以支持一个通道-每个通道代表一组差分信号对(一对用于传输,一对用于接收)。为了对带宽进行缩放,链路可以聚合由xN表示的多个通道,其中N是任何支持的链路宽度,例如1、2、4、8、12、16、32、64或更宽。
差分对指的是两个发送路径,例如线路616和617,以用于发送差分信号。作为示例,当线616从低电压电平切换到高电压电平,即上升沿时,线路617从高逻辑电平驱动到低逻辑电平,即下降沿。差分信号潜在地表现出更好的电特性,例如更好的信号完整性,即交叉耦合、电压过冲/下冲、振铃等。这允许更好的定时窗口,这实现更快的传输频率。
注意,上述装置、方法和系统可以在如前所述在任何电子设备或系统中实现。作为具体说明,下图提供了用于利用如本文所述的公开内容的示例性系统。当下面更详细地描述该系统时,从上面的讨论中公开、描述和重新考虑了许多不同的互连。并且如所显而易见的,上述进步可以应用于那些互连、结构或架构中的任何一种。
现在参考图7,示出了根据本公开实施例的计算机系统中存在的组件的框图。如图7所示,系统7包括组件的任何组合。这些组件可以被实现为适用于计算机系统的IC、其部分、分立的电子设备或其他模块、逻辑、硬件、软件、固件或其组合、或者实现为另外包含在计算机系统的机箱内的组件。还要注意的是,图7的框图旨在示出计算机系统的许多组件的高级视图。然而,应该理解,可以省略所示的组件中的一些,可以存在附加的组件,并且在其他实现中可以出现所示组件的不同布置。结果,上述的本公开可以在下面所示出或描述的互连的一个或多个的任何部分中实现。
如图7所示,在一个实施例中,处理器710包括微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器或其他已知的处理元件。在所示出的实现方式中,处理器710充当用于与系统700的各种组件中的许多进行通信的主处理单元和中央集线器。作为一个示例,处理器700被实现为片上系统(SoC)。作为具体的示出性示例,处理器710包括可从加利福尼亚州圣克拉拉的英特尔公司获得的基于Architecture CoreTM的处理器,例如i3、i5、i7或其他此类处理器。然而,要理解的是,其他低功率处理器,诸如可从加利福尼亚州桑尼维尔市的AMD公司(Advanced Micro Devices,Inc.)获得的其他低功率处理器、来自加利福尼亚州桑尼维尔的MIPS科技公司的基于MIPS的设计、来自ARM控股有限公司授权的基于ARM的设计、或其客户,或其许可证持有者或采用者可以替代地存在于其他实施例中,诸如Apple A5/A6处理器、Qualcomm Snapdragon处理器或TI OMAP处理器。请注意,这类处理器的客户版本中的许多都经过修改和变化,然而,它们可以支持或识别执行由处理器许可方规定的定义的算法的特定指令集。在本文中,微架构的实现可能会有所不同,但处理器的架构功能通常是一致的。在一个实现方式中关于处理器710的架构和操作的某些细节将在下面进一步讨论以提供示出性示例。
在一个实施例中,处理器710与系统存储器715通信。作为示出性的示例,在一个实施例中其可以经由多个存储器设备来实现以提供给定量的系统存储器。作为示例,存储器可以符合基于联合电子设备工程委员会(JEDEC)的低功率双倍数据速率(LPDDR)设计,例如根据JEDEC JESD209-2E(2009年4月公布)的当前的LPDDR2标准,或者被称为LPDDR3或LPDDR4的下一代LPDDR标准,它将提供对LPDDR2的扩展以增加带宽。在各种实现中,单独的存储器设备可以具有不同的封装类型,例如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(9P)。在一些实施例中,这些设备被直接焊接到主板上以提供较低轮廓的解决方案,而在其他实施例中,设备被配置为一个或多个存储器模块,所述一个或多个存储器模块继而通过给定的连接器耦合到主板。当然,其他存储器实现方式也是可能的,例如其他类型的存储器模块,例如不同种类的双列直插式存储器模块(DIMM),包括但不限于微型DIMM、微小型DIMM。在特定示出性实施例中,存储器的大小在2GB到16GB之间,并且可以被配置为经由球栅阵列(BGA)焊接到主板上的DDR3LM封装或LPDDR2或LPDDR3存储器。
为了提供对诸如数据、应用、一个或多个操作系统等之类的信息的持久存储,大容量存储装置720还可以耦合到处理器710。在各种实施例中,为了实现更薄和更轻的系统设计以及为了提高系统响应,可以经由SSD来实现这种大容量存储。然而在其他实施例中,大容量存储装置可主要使用具有较少量的SSD存储的硬盘驱动器(HDD)来充当SSD高速缓存来实现以在下电事件期间上下文状态和其他这样的信息的非易失性存储,使得在重新启动系统活动时可能发生快速上电。也在图7中示出,闪存设备722可以例如经由串行外围接口(SPI)耦合到处理器710。该闪存设备可以提供系统软件的非易失性存储,所述系统软件包括基本输入/输出软件(BIOS)以及系统的其他固件。
在初始化时,系统可以运行响应面方法来优化用于存储器总线的操作参数。BIOS可以包括一个或多个电参数的标识,例如DQ总线驱动强度、发送均衡值、接收均衡值、转换速率、片上终结、DIMM阻抗值或用于存储元件的操作的其他电参数,所述存储元件例如非易失性存储元件或易失性存储元件。DOE逻辑723可以使用无约束的一组电参数值组合以创建用于测试电参数的组合的实验设计(DOE)矩阵。在初始化时,处理器710可以创建实验设计(DOE)矩阵,其包括无约束的一组电参数值组合。处理器710可以对存储器使用DOE矩阵执行点测试,以确定针对存储器总线的最佳操作状态。可以针对导致零裕度的电参数值组合来细化DOE矩阵。可以通过将电参数值组合与得到的裕度响应(例如,系统眼睛区域)相关联来确定预测公式。可以迭代地改进DOE矩阵,直到确定一组优化的电参数的组合。一组优化的电参数值可以存储在BIOS中以用于系统部署。
在各种实施例中,系统的大容量存储由SSD单独实现或实现为具有SSD高速缓存的盘、光学驱动器或其他驱动器。在一些实施例中,大容量存储装置与恢复(RST)高速缓存模块一起被实现为SSD或HDD。在各种实现方式中,HDD提供320GB-4太字节(TB)及以上之间的存储,而RST高速缓存由具有24GB-256GB容量的SSD实现。请注意,此类SSD高速缓存可以被配置为单级高速缓存(SLC)或多级高速缓存(MLC)选项,以提供适当的响应级别。在仅有固态硬盘的选项中,模块可以安装在各种位置,例如在mSATA或NGFF插槽中。作为示例,SSD容量的范围从120GB到1TB。
系统700中可以存在各种输入/输出(IO)设备。图7的实施例所具体示出的是显示器724,其可以是配置在机箱的盖部分内的高分辨率LCD或LED面板。该显示面板还可以提供触摸屏725,例如在显示面板外部进行调整,使得经由与该触摸屏的用户交互,可以将用户输入提供给系统以实现期望的操作,例如关于显示信息、访问信息等等。在一个实施例中,显示器724可以经由可以实现为高性能图形互连的显示互连耦合到处理器710。触摸屏725可以经由另一互连耦合到处理器710,在一个实施例中,该另一互连可以是I2C互连。如图7中进一步所示,除了触摸屏725之外,通过触摸的用户输入也可以经由触摸板730发生,触摸板730可以被配置在机箱内并且还可以被耦合到与触摸屏725相同的I2C互连。
显示面板可以以多种模式操作。在第一模式中,可以将显示面板布置成透明状态,其中显示面板对可见光是透明的。在各种实施例中,除了围绕周边的边框之外,显示面板的大部分可以是显示器。当系统以笔记本模式操作并且显示面板以透明状态操作时,用户可以查看显示面板上呈现的信息,同时还能够查看显示器后面的对象。另外,显示面板上显示的信息可以由位于显示器后面的用户查看。或者,显示面板的操作状态可以是其中可见光不通过显示面板发送的不透明状态。
在平板模式中,系统被折叠关闭,使得当基板的底表面搁置在表面上时或由用户持有时,显示面板的后显示表面停留在使得其朝向使用者面向外的位置。在平板计算机操作模式中,后显示表面扮演显示器和用户界面的角色,因为该表面可以具有触摸屏功能并且可以执行诸如平板设备之类的常规触摸屏设备的其它已知功能。为此,显示面板可以包括设置在触摸屏层和前显示表面之间的透明度调节层。在一些实施例中,透明度调节层可以是电致变色层(EC)、LCD层或EC层和LCD的组合层。
在各种实施例中,显示器可以具有不同的尺寸,例如11.6”或13.3”的屏幕,并且可以具有16:9的纵横比,并且具有至少300尼特的亮度。此外,显示器可以具有全高清(HD)分辨率(至少1920×1080p),与嵌入式显示器端口(eDP)兼容,并且是具有面板自刷新的低功率面板。
关于触摸屏能力,该系统可以提供多点触摸电容式并且具有至少5个手指能力的显示器多点触摸面板。并且在一些实施例中,显示器可以是具有10个手指能力的。在一个实施例中,触摸屏被容纳在用于低摩擦的耐损伤和刮擦玻璃和涂层(例如Gorilla GlassTM或Gorilla Glass 2TM)内,以减少“手指烧伤”并避免“手指跳动”。为了提供增强的触摸体验和响应性,在一些实现方式中,触摸面板具有多点触摸功能,诸如在夹捏缩放期间每个静态视图少于2帧(30Hz),以及每帧(30Hz)200ms内小于1cm的单点触摸功能(手指到指针的滞后)。在一些实现方式中,显示器支持裕度到裕度玻璃,其具有也与面板表面齐平的最小屏幕边框,并且在使用多点触摸时限制IO干扰。
为了感知计算和其它目的,各种传感器可以存在于系统内并且可以以不同的方式耦合到处理器710。某些惯性和环境传感器可以通过传感器集线器740(例如,经由I2C互连)耦合到处理器710。在图7所示的实施例中,这些传感器可以包括加速度计741、环境光传感器(ALS)742、罗盘743和陀螺仪744。其他环境传感器可以包括一个或多个热传感器746,其在一些实施例中所述一个或多个热传感器746经由系统管理总线(SMBus)总线耦合到处理器710。
使用存在于平台中的各种惯性和环境传感器,可以实现许多不同的用例。这些用例可以实现高级计算操作,包括感知计算,还允许关于电源管理/电池寿命、安全性和系统响应的增强。
例如关于电源管理/电池寿命问题,至少部分地基于来自环境光传感器的信息,确定平台的位置中的环境光条件,并相应地控制显示器的强度。因此,在某些光线条件下,显示器操作所消耗的功率会降低。
关于安全操作,基于从传感器获得的上下文信息(诸如位置信息),可以确定用户是否被允许访问某些安全文档。例如,用户可以被准许在工作地点或家庭地点访问这些文档。但是,当平台出现在公共场所时,防止用户访问这些文档。在一个实施例中,该确定基于位置信息,所述位置信息例如经由GPS传感器或地标的相机识别而确定。其他安全操作可以包括提供彼此近距离范围内的设备的配对,所述设备例如本文所述的便携式平台和用户的桌面型计算机、移动电话等等。在某些实现方式中,在这些设备被这样配对时,某些共享经由近场通信实现。但是,当设备超出一定范围时,可以禁用这样的共享。此外,当本文描述的平台与智能电话配对时,当设备在公共场所移动超过彼此的预定距离时,警报可以被配置为触发。相反,当这些配对的设备处于安全位置,例如工作场所或家庭位置时,设备可以超过该预定限制而不触发这样的警报。
响应也可以使用传感器信息来增强。例如,即使当平台处于低功率状态时,传感器仍然可以被启用以相对较低的频率运行。因此,例如由惯性传感器、GPS传感器等确定的平台位置的任何改变被确定。如果没有这样的改变被注册,则到诸如Wi-FiTM接入点或类似的无线使能器之类的先前的无线集线器的更快的连接发生,因为在这种情况下不需要扫描可用的无线网络资源。因此,实现从低功率状态唤醒时的更高级别的响应。
应当理解,可以使用经由如本文所述的平台内的集成传感器获得的传感器信息来启用许多其他用例,并且上述示例仅用于示出的目的。使用如本文所述的系统,感知计算系统可以允许添加包括姿势识别在内的替代输入模态,并且使系统能够感测用户操作和意图。
在一些实施例中,可以存在一个或多个红外或其他热感测元件或用于感测用户的存在或移动的任何其他元件。这样的感测元件可以包括多个不同的元件一起工作、按顺序工作或者两者兼有。例如,感测元件包括提供初始感测(诸如光或声音投射)的元件,接着通过例如超声波飞行时间相机或图案化的光相机感测姿势检测。
另外在一些实施例中,该系统包括用于产生照明线的光发生器。在一些实施例中,该线提供关于虚拟边界(即空间中的假想或虚拟位置)的视觉提示,其中通过或突破虚拟边界或平面的用户的动作被解释为与计算系统接合的意图。在一些实施例中,当计算系统转变为关于用户的不同状态时,照明线可以改变颜色。照明线可以被用来针对用户提供空间中的虚拟边界的视觉提示,并且照明线可以由系统使用来确定关于用户的计算机的状态中的转变,包括确定用户希望何时与计算系统接合。
在一些实施例中,计算机感测用户位置,并操作以将用户的手移动通过虚拟边界解释为指示用户使用计算机的意图的姿势。在一些实施例中,在用户穿过虚拟线或平面时,由光发生器生成的光可以改变,由此向用户提供视觉反馈,即用户已经进入提供姿势以向计算机提供输入的区域。
显示屏可以提供关于用户的计算系统的状态的转变的视觉指示。在一些实施例中,第一屏幕在第一状态中提供,在第一状态中用户的存在通过系统感测,诸如使用感测元件中的一个或多个。
在一些实现方式中,该系统用于例如通过面部识别来感测用户身份。本文中,到第二屏幕的转变可以在第二状态中提供,在第二状态中计算系统已经识别出用户身份,其中该第二屏幕向用户提供视觉反馈,即用户已经转变到新状态。向第三屏幕的转变可以在第三状态中发生,在第三状态中在用户已经确认对用户的识别。
在一些实施例中,计算系统可以使用转变机制来确定针对用户的虚拟边界的位置,其中虚拟边界的位置可以随着用户和上下文而变化。计算系统可以生成诸如照明线的光,以指示用于使用系统的虚拟边界。在一些实施例中,计算系统可以处于等待状态,并且可以以第一颜色来产生光。计算系统可以检测用户是否已经到达穿过虚拟边界,诸如通过使用感测元件来感测用户的存在和移动。
在一些实施例中,如果用户已经被检测为已经越过了虚拟边界(诸如用户的手比虚拟边界线更靠近计算系统),则计算系统可以转变为用于接收来自用户的姿势输入的状态,其中用于指示转变的机制可以包括指示虚拟边界改变为第二颜色的光。
在一些实施例中,计算系统然后可以确定是否检测到姿势移动。如果检测到姿势移动,则计算系统可以继续进行姿势识别过程,该姿势识别过程可以包括使用来自姿势数据库的数据,姿势数据库可以驻留在计算设备的存储器中或者可以由计算设备以其他方式访问。
如果用户的姿势被识别,则计算系统可以响应于输入来执行功能,并且如果用户在虚拟边界内,则返回以接收额外的姿势。在一些实施例中,如果姿势未被识别,则计算系统可转变成错误状态,其中用于指示错误状态的机制可包括指示虚拟边界改变为第三颜色的光,如果用户在使用计算系统的虚拟边界内则系统返回以接收附加姿势。
如上所述,在其他实施例中,该系统可以被配置为可以以至少两种不同模式(平板模式和笔记本模式)使用的可转换平板计算机系统。可转换系统可以具有两个面板,即显示面板和基板,使得在平板模式中,两个面板彼此叠置设置。在平板模式中,显示面板面向外并且可以提供如传统平板计算机中发现的触摸屏功能。在笔记本模式下,两个面板可以以打开的蛤壳配置布置。
在各种实施例中,加速度计可以是具有至少50Hz的数据速率的3轴加速度计。还可以包括陀螺仪,其可以是三轴陀螺仪。另外,可能存在电子罗盘/磁力计。而且,可以提供一个或多个接近传感器(例如,用于打开盖以感测人何时接近(或不接近)系统并调整功率/性能以延长电池寿命)。对于某些OS的传感器融合功能,包括加速度计、陀螺仪和罗盘可以提供增强的功能。另外,经由具有实时时钟(RTC)的传感器集线器,当系统的其余部分处于低功率状态时,可实现来自传感器机构的唤醒以接收传感器输入。
在一些实施例中,内盖/显示器打开开关或传感器以指示盖何时关闭/打开,并且可用于将系统置于连接待机状态或自动从连接待机状态唤醒。其他系统传感器可以包括用于内部处理器、存储器和皮肤温度监控的ACPI传感器,以基于感测的参数来实现对处理器和系统操作状态的改变。
在一个实施例中,OS可以是实现连接待机(本文也被称为Win8CS)的8OS。Windows 8连接待机或具有类似状态的另一个OS可以经由如本文所述的平台来提供非常低的超空闲功率,以使得应用能够以非常低的功耗保持连接,例如保持连接到基于云的位置。平台可以支持3种电源状态,即屏幕开(正常);连接待机状态(作为默认的“关闭状态”);关机(功耗为零瓦)。因此,在连接待机状态下,即使屏幕关闭,平台仍然在逻辑上打开(功率水平最低)。在该平台中,可以使电源管理对应用透明,并保持持续的连接,部分原因是由于卸载技术使最低功耗的组件能够执行操作。
在图7中还可以看出,各种外围设备可以经由低引脚数(LPC)互连耦合到处理器710。在所示的实施例中,各种组件可以通过嵌入式控制器735耦合。这样的组件可以包括键盘736(例如,经由PS2接口耦合)、风扇737和热传感器739。在一些实施例中,触摸板730也可以经由PS2接口耦合到EC 735。另外,诸如根据2003年10月2日的可信计算组(TCG)TPM规范版本1.2的可信平台模块(TPM)738之类的安全处理器也可经由该LPC互连耦合到处理器710。然而,理解的是,本公开的范围在这方面不受限制,并且安全信息的安全处理和存储可以位于另一受保护的位置,例如安全协处理器中的静态随机存取存储器(SRAM),或者仅在受安全飞地(SE)处理器模式保护时才被解密的加密的数据块。
在特定的实现方式中,外围端口可以包括高清晰度媒体接口(HDMI)连接器(其可以具有不同的形式因数,例如全尺寸、小型或微型);一个或多个USB端口,诸如根据通用串行总线修订3.0规范(2008年11月)的全尺寸外部端口,当系统处于连接待机状态并插入AC壁式电源时,至少一个端口被供电以用于对USB设备(例如智能电话)的充电。另外,还可以提供一个或多个ThunderboltTM端口。其他端口可以包括一个外部可访问的读卡器,如全尺寸的SD-XC读卡器和/或用于WWAN的SIM读卡器(例如,8引脚读卡器)。对于音频,具有立体声和麦克风能力(例如,组合功能)的3.5mm插孔可以存在,并且支持插孔检测(例如,仅使用盖上的麦克风支持的耳机,或者具有插入电缆中的麦克风的耳机)。在一些实施例中,该插孔可以在立体声耳机和立体声麦克风输入之间重新配置。而且,可以提供电源插孔以用于耦合到AC砖。
系统700可以以各种方式(包括无线方式)与外部设备进行通信。在图7所示的实施例中,存在各种无线模块,其中每一个都可以对应于被配置用于特定无线通信协议配置的无线电。在近距离(例如近场)进行无线通信的一种方式可以是经由近场通信(NFC)单元745的,在一个实施例中,近场通信(NFC)单元745可以经由SMBus与处理器710进行通信。注意,经由该NFC单元745,相互靠近的设备可以进行通信。例如,用户可以使系统700能够经由以密切的关系将两个设备适配在一起并且使得能够传送诸如标识信息、支付信息之类的信息、诸如图像数据等等之类的数据来与另一个(例如)便携式设备(例如,用户的智能电话)进行通信。无线功率传送也可以使用NFC系统来执行。
使用本文描述的NFC单元,用户可以通过利用在这样的装置的一个或多个的线圈之间的耦合来使设备并排地碰撞并且将设备并排放置以用于近场耦合功能(诸如近场通信和无线电力传送(WPT))。更具体地说,实施例提供具有策略性成形和放置的铁氧体材料的设备,以提供线圈的更好的耦合。每个线圈都有与其相关联的电感,电感可以结合系统的电阻、电容和其他特性进行选择,以实现针对系统的公共的谐振频率。
如在图7中进一步看到的,额外的无线单元可以包括其他短程无线引擎,包括WLAN单元750和蓝牙单元752。使用WLAN单元750,可以实现根据给定的电气和电子工程师协会(IEEE)802.11标准的Wi-FiTM通信,而在经由蓝牙单元752时,可以发生经由蓝牙协议的短程通信。这些单元可以经由例如USB链路或通用异步收发机(UART)链路与处理器710通信。或者,这些单元可以经由根据快速外围组件互连TM(PCIeTM)协议(例如根据快速PCITM规范基础规范版本3.0(2007年1月17日公布)的)或者另一个这样的协议(例如,串行数据输入/输出(SDIO)标准)的互连耦合到处理器710。当然,可配置在一个或多个附加卡上的这些外围设备之间的实际物理连接可以通过适配于主板的NGFF连接器来实现。
另外,无线广域通信(例如,根据蜂窝或其他无线广域协议)可以经由WWAN单元756发生,WWAN单元756继而可以耦合到订户身份模块(SEVI)757。另外,为了能够接收和使用位置信息,GPS模块755也可以存在。注意,在图7所示的实施例中,WWAN单元756和诸如相机模块754之类的集成捕捉设备可以经由给定USB协议(诸如USB 2.0或3.0链路)或者UART或I2C协议进行通信。再次,这些单元的实际物理连接可以经由将NGFF附加卡适配到配置在主板上的NGFF连接器来实现。
在特定实施例中,可以模块化地提供无线功能,例如,利用支持Windows 8CS的WiFiTM 802.11ac解决方案(例如,向后兼容IEEE 802.1labgn的附加卡)。该卡可以配置在内部插槽中(例如,经由NGFF适配器)。另外的模块可以提供蓝牙功能(例如具有向后兼容性的蓝牙4.0)以及无线显示功能。此外,NFC支持可以经由单独的设备或多功能设备来提供,并且作为示例可以被定位在机箱的右前部分中以便于访问。另一个附加模块可以是可以提供对3G/4G/LTE和GPS的支持的WWAN设备。该模块可以在内部(例如,NGFF)插槽中实现。可以针对WiFiTM、蓝牙、WWAN、NFC和GPS提供集成的天线支持,从而实现根据线千兆位规范(2010年7月)从WiFiTM到WWAN无线电,无线千兆位(WiGig)的无缝过渡,反之亦然。
如上所述,集成相机可以合并在盖中。作为一个示例,该相机可以是高分辨率相机,例如具有至少200万像素(MP)的分辨率并扩展至6.0MP及以上的相机。
为了提供音频输入和输出,可以经由数字信号处理器(DSP)760来实现音频处理器,数字信号处理器760可以经由高清音频(HDA)链路耦合到处理器710。类似地,DSP 760可以与集成的编码器/解码器(CODEC)和放大器762通信,编码器/解码器(CODEC)和放大器762继而可以耦合到可以在机箱内实现的输出扬声器763。类似地,放大器和CODEC 762可以被耦合以接收来自麦克风765的音频输入,在一个实施例中,麦克风765可以经由双阵列麦克风(诸如数字麦克风阵列)来实现,以提供高质量的音频输入以实现系统内的各种操作的语音激活的控制。还要注意的是,音频输出可以从放大器/编解码器762提供到耳机插孔764。尽管在图7的实施例中用这些特定的组件示出,但是应理解的是本公开的范围在这方面不受限制。
在特定实施例中,数字音频编解码器和放大器能够驱动立体声耳机插孔、立体声麦克风插孔、内部麦克风阵列和立体声扬声器。在不同的实现方式中,编解码器可以被集成到音频DSP中或者经由HD音频路径耦合到外围控制器集线器(PCH)。在一些实现方式中,除了集成的立体声扬声器之外,可以提供一个或多个低音扬声器,并且扬声器解决方案可以支持DTS音频。
在一些实施例中,处理器710可由被称为完全集成电压调节器(FIVR)的外部电压调节器(VR)和集成在处理器管芯内的多个内部电压调节器供电。在处理器中使用多个FIVR使得能够将组件分组成单独的电源平面,使得电力由FIVR调节并供应给仅组中的那些组件。在电源管理期间,当处理器被置于某低功率状态时,一个FIVR的给定电源平面可以被下电或关闭,而另一个FIVR的另一个电源平面保持活动或完全供电。
在一个实施例中,可以在某些深度睡眠状态期间使用维持电源平面来针对多个I/O信号对I/O引脚供电,诸如处理器与PCH之间的接口、与外部VR的接口和与EC 735的接口。该维持电源平面还对管芯上电压调节器供电,该管芯上电压调节器支持在睡眠状态期间存储处理器上下文的板上SRAM或其他高速缓冲存储器。维持电源平面也用于对监视和处理各种唤醒源信号的处理器的唤醒逻辑上电。
在电源管理期间,当处理器进入某些深度睡眠状态时,其他电源平面被下电或关闭,维持电源平面保持通电以支持上述组件。然而,当这些组件不需要时,这可以导致不必要的功耗或耗散。为此,实施例可以提供连接的待机睡眠状态以使用专用电源平面来维护处理器上下文。在一个实施例中,所连接的待机睡眠状态使用本身可以利用处理器存在于封装中的PCH的资源来促进处理器唤醒。在一个实施例中,连接的待机睡眠状态有助于维持PCH中的处理器架构功能,直到处理器唤醒,这使得能够关闭在深度休眠状态期间先前保持上电的所有不必要的处理器组件,包括关闭所有时钟。在一个实施例中,PCH包含时间戳计数器(TSC)和连接的待机逻辑,以用于在连接待机状态期间控制系统。用于维持电源平面的集成电压调节器也可以驻留在PCH上。
在实施例中,在连接待机状态期间,集成电压调节器可以用作专用电源平面,该专用电源平面保持通电以支持存储处理器上下文的专用高速缓冲存储器,所述处理器上下文诸如当处理器进入深度睡眠状态和连接待机状态时的临界状态变量。该临界状态可以包括与架构、微架构、调试状态相关联的状态变量和/或与处理器相关联的类似状态变量。
来自EC 735的唤醒源信号可以在连接待机状态期间被发送到PCH而不是处理器,使得PCH可以代替处理器来管理唤醒处理。另外,TSC被维护在PCH中以便维持处理器架构功能。尽管在图7的实施例中示出这些特定组件,应理解的是本公开的范围在这方面不受限制。
处理器中的功率控制可以导致增强的功率节省。例如,可以在核之间动态分配功率,单独的核可以改变频率/电压,并且可以提供多个深度低功率状态以实现非常低的功耗。此外,核或独立核部分的动态控制可以通过在不使用时使组件下电来提供降低的功耗。
一些实现方式可以提供特定的电源管理IC(PMIC)来控制平台电力。使用该解决方案,当处于给定待机状态时,例如当处于Win8连接待机状态时,系统可在延长的持续时间(例如,16小时)内看到非常低(例如,小于5%)的电池劣化。在Win8空闲状态下,可以实现超过例如9小时的电池寿命(例如,在150尼特下)。对于视频回放,可以实现较长的电池寿命,例如全高清视频回放可以发生至少6小时。在一个实现方式中的平台对于使用SSD的Win8CS可具有例如35瓦特小时(Whr)的能量容量,对于使用具有RST高速缓存配置的HDD的Win8CS可具有(例如)40-44Whr的能量容量。
一个特定的实现方式可以提供对15W额定CPU热设计功率(TDP)的支持,可配置CPUTDP高达约25W的TDP设计点。由于上述的热特征,平台可以包括最少的通风口。此外,该平台是枕头友好的(因为没有热空气吹向用户)。取决于机箱的材料,可以实现不同的最高温度点。在塑料机箱的一个实现方式中(至少具有塑料盖或底座部分),最高工作温度可以是52摄氏度(℃)。而对于金属机箱的实现方式,最高工作温度可以是46℃
在不同的实现方式中,诸如TPM之类的安全模块可以被集成到处理器中,或者可以是诸如TPM 2.0设备之类的分立设备。利用集成的安全模块(也称为平台信任技术(PTT)),可以启用BIOS/固件以显露用于某些特定安全功能的某些硬件功能,包括安全指令、安全引导、防盗技术、 识别保护技术、可信执行技术(TXT)和可管理性引擎技术以及安全的用户界面,如安全键盘和显示器。
尽管已经关于有限数量的实施例描述了本公开,但是本领域技术人员将意识到由此产生的许多修改和变化。所附权利要求旨在覆盖落入本公开的真实精神和范围内的所有这些修改和变化。
设计可以经历从创建到模拟到制造的各个阶段。表示设计的数据可以以多种方式表示设计。首先,如在模拟中有用,可以使用硬件描述语言或另一种功能描述语言来表示硬件。另外,可以在设计过程的某些阶段产生具有逻辑和/或晶体管栅极的电路级模型。此外,大多数设计在某个阶段达到表示硬件模型中各种设备的物理位置的数据级别。在使用传统半导体制造技术的情况下,表示硬件模型的数据可以是指定用于生成集成电路的掩模在不同掩模层上存在或不存在各种特征的数据。在设计的任何表示中,数据可以存储在任何形式的机器可读介质中。存储器或诸如盘的磁或光存储装置可以是机器可读介质,用于存储经由调制或以其他方式生成以发送这样的信息的光波或电波发送的信息。当发送指示或携带代码或设计的电载波时,在执行电信号的复制、缓冲或重传的程度上,制作新的副本。因此,通信提供商或网络提供商可以将体现本公开的实施例的技术的诸如编码到载波中的信息的制品至少临时存储在有形的、机器可读介质上。
本文所使用的模块是指硬件、软件和/或固件的任意组合。作为示例,模块包括硬件,诸如微控制器,其与用于存储适于由微控制器执行的代码的非暂时性介质相关联。因此,在一个实施例中对模块的引用是指特别被配置为识别和/或执行要保持在非暂时性介质上的代码的硬件。此外,在另一实施例中,模块的使用是指包括特别适于由微控制器执行以实施预定操作的代码的非暂时性介质。并且,如可推断的,在又一实施例中,术语模块(在该示例中)可以是指微控制器和非暂时性介质的组合。通常,图示为单独的模块界限通常变化并且可能重叠。例如,第一模块和第二模块可以共享硬件、软件、固件或其组合,同时可能保留一些独立的硬件、软件或固件。在一个实施例中,术语逻辑的使用包括硬件,诸如晶体管、寄存器或其它硬件,如可编程逻辑器件。
在一个实施例中,短语“被配置为”的使用是指布置、放在一起、制造、提供以售卖,进口和/或设计用于执行指定或确定的任务的装置、硬件、逻辑或元件。在该示例中,没有进行操作的装置或其元件仍‘被配置为’执行指定任务,前提是其被设计、耦合和/或互连来执行所述指定的任务。纯粹作为说明性的示例,逻辑门可以在操作期间提供0或1。但是‘被配置为’提供使能信号到时钟的逻辑门不包括可提供1或0的每一个可能的逻辑门。相反,该逻辑门是以在操作期间1或0输出用于使能时钟的某种方式耦合的逻辑门。再次注意到,术语‘被配置为’的使用不要求操作,而是侧重于装置、硬件和/或元件的潜在状态,其中在潜在状态下,装置、硬件和/或元件设计成当装置、硬件和/或元件正在操作时执行特定任务。
此外,在一个实施例中,短语“用于”、“能够/能”和/或“能操作”的使用是指以这样的方式设计来使能按指定方式使用装置、逻辑、硬件和/或元件的某种装置、逻辑、硬件和/或元件。如上文所提到的,在一个实施例中,用于、能够或能操作的使用是指装置、逻辑、硬件和/或元件的潜在状态,其中装置、逻辑、硬件和/或元件没有正操作,但是以这样的方式被设计成使得能够以指定方式使用装置。
如本文所使用的,值包括数字、状态、逻辑状态或二进制逻辑状态的任何已知表示。通常,逻辑电平、逻辑值或逻辑上的值还称为1和0,其简单地表示二进制逻辑状态。例如,1表示高逻辑电平,而0表示低逻辑电平。在一个实施例中,诸如晶体管或闪存单元的存储单元能够保持单个逻辑值或多个逻辑值。但是,已经使用了计算机系统中的其他值表示。例如,十进制数十也可以表示为二进制值1010和十六进制字母A。因此,值包括能够保存在计算机系统中的任何信息表示。
此外,状态可由值或值的部分表示。作为示例,诸如逻辑1的第一值可以表示默认或初始状态,而诸如逻辑0的第二值可以表示非默认值。另外,在一个实施例中,术语复位和置位分别是指默认值或状态和更新值或状态。例如,默认值可能包括高逻辑值,即复位,而更新的值可能包括低逻辑值,即置位。注意,值的任何组合可用于表示任意数量的状态。
上文所阐述的方法、硬件、软件、固件或代码的实施例可以经由存储在机器可访问、机器可读、计算机可访问或计算机可读介质上的、能够由处理元件执行的指令或代码来实现。非暂时性机器可访问/可读介质包括提供(即,存储和/或发送)诸如计算机或电子系统的机器能够读取的形式的信息的任何机制。例如,非暂时性机器可访问介质包括随机存取存储器(RAM),如静态RAM(SRAM)或动态RAM(DRAM);ROM;磁或光存储介质;闪存设备;电存储设备;光存储设备;声存储设备;用于保存从暂时(传播)信号(例如,载波、红外信号、数字信号)接收到的信息的其它形式的存储设备;等等,以区别于可从其接收信息的非暂时性介质。
用于对逻辑进行编程以执行本公开的实施例的指令可以存储在系统中的存储器内,如DRAM、高速缓存、闪速存储器或其它存储装置。此外,指令可以经由网络或通过其它计算机可读介质来分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读形式存储或发送信息的任何机制,但不限于软盘、光盘、压缩盘、只读存储器(CD-ROM)和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪速存储器或用于经由电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)通过因特网传输信息的有形的、机器可读存储装置。因此,计算机可读介质包括适合于存储或发送机器(例如,计算机)可读形式的电子指令或信息的任何类型的有形机器可读介质。
贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,贯穿本说明书在各个地方出现的短语“在一个实施例中”或“在实施例中”不一定都指的是同一实施例。此外,特定特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。
在前述说明书中,已经参考特定示例性实施例给出了详细描述。然而,显而易见的是,在不脱离所附权利要求中阐述的本公开的更广泛的精神和范围的情况下,可以对其进行各种修改和改变。因此,说明书和附图应被视为说明性意义而非限制性意义。此外,实施例的前述使用和其他示例性语言不一定指代相同的实施例或相同的示例,而是可以指代不同且不同的实施例,以及可能相同的实施例。
示例1是一种方法,包括生成实验设计(DOE)矩阵,DOE矩阵包括针对多个电参数的值的一组可能的组合;迭代地将用于所述多个电参数的值的每个组合应用于一个或多个存储器引脚;确定针对值的每个组合的裕度响应;基于所述裕度响应和值的每个组合的相关性来生成预测函数;并且基于预测函数来优化所述多个电参数。
示例2可以包括示例1的主题,并且还包括确定针对值的每个组合的裕度响应;确定值的至少一个组合导致具有零裕度的裕度响应;确定针对导致零裕度的贡献电参数的最重要的贡献电参数值;约束针对贡献电参数的值以排除最重要的贡献电参数值;并且应用针对所述多个电参数的值的组合,所述值的组合排除了贡献所述零裕度的所述最重要的贡献电参数值。
示例3可以包括示例1-2中任一项的主题,并且还可以包括确定裕度响应中的方差正在收敛;确定可以减少一组值的可能的组合;应用预测公式来优化电参数;识别电参数的组合的子集;迭代地应用电参数的组合的子集;并确定针对电参数的组合的子集中的每个电参数的组合的裕度响应。
示例4可以包括示例1的主题,其中,所述多个电参数包括以下中的两个或更多个:DQ总线驱动强度、发送均衡值、接收均衡值、转换速率、管芯上终结或DIMM阻抗值。
示例5可以包括示例1-4中任一项的主题,并且还可以包括计算针对多个电参数的一组组合的优化值。
示例6可以包括示例1-5中的任何一个的主题,并且还可以包括基于局部最大值将针对多个电参数的值的一组可能的组合细化为针对多个电参数的值的可能的组合的子集。
示例7是至少一个其上存储有代码的机器可访问存储介质,该代码在机器上执行时使机器生成实验设计(DOE)矩阵,DOE矩阵包括针对多个电参数的值的一组可能的组合;迭代地将针对多个电参数的值的每个组合应用于一个或多个存储器引脚;确定针对值的每个组合的裕度响应;基于裕度响应和值的每个组合的相关性来生成预测函数;并基于预测函数来优化多个电参数。
示例8可以包括示例7的主题,该代码还使得机器确定针对值的每个组合的裕度响应;确定值的至少一个组合导致具有零裕度的裕度响应;确定针对导致零裕度的贡献电参数的最重要的贡献电参数值;约束针对贡献电参数的值以排除最重要的贡献电参数值;并且应用针对所述多个电参数的值的组合,所述值的组合排除了贡献所述零裕度的所述最重要的贡献电参数值。
示例9可以包括示例7-8中任一项的主题,该代码还使得机器确定裕度响应中的方差正在收敛;确定可以减少一组值的可能的组合;应用预测公式来优化电参数;识别电参数的组合的子集;迭代地应用电参数的组合的子集;并确定针对电参数的组合的子集中的每个电参数的组合的裕度响应。
示例10可以包括示例7-9中任一项的主题,其中,所述多个电参数包括以下中的两个或更多个:DQ总线驱动强度、发送均衡值、接收均衡值、转换速率、管芯上终结或DIMM阻抗值。
示例11可以包括示例7-10中任一项的主题,该代码还使机器计算针对多个电参数的一组组合的优化值。
示例12可以包括示例7-11中任一项的主题,该代码还使得机器基于局部最大值将针对多个电参数的一组可能的值的组合细化为针对多个电参数的值的可能的组合的子集。
示例13是一种通过链路与高速缓冲存储器通信的装置,该装置包括用于生成实验设计(DOE)矩阵的单元,该DOE矩阵包括针对多个电参数的值的一组可能的组合;用于将针对多个电参数的值的每个组合迭代地应用于一个或多个存储器引脚的单元;用于确定针对值的每个组合的裕度响应的单元;用于基于裕度响应和值的每个组合的相关性来生成预测函数的单元;以及用于基于预测函数来优化多个电参数的单元。
示例14可以包括示例13的主题,并且还可以包括用于确定针对值的每个组合的裕度响应的单元;用于确定值的至少一个组合导致具有零裕度的裕度响应的单元;用于确定针对导致零裕度的贡献电参数的最重要的贡献电参数值的单元;用于约束针对贡献电参数的值,以排除最重要的贡献电参数值的单元;以及用于应用针对所述多个电参数的值的组合,所述值的组合排除了贡献所述零裕度的所述最重要的贡献电参数值的单元。
示例15可以包括示例13-14中任一示例的主题,并且还可以包括用于确定裕度响应中的方差正在收敛的单元;用于确定可以减少一组值的可能的组合的单元;用于应用预测公式以优化电参数的单元;用于识别电参数的组合的子集的单元;用于迭代地应用电参数的组合的子集的单元;以及用于确定针对电参数的组合的子集中的每个电参数的组合的裕度响应的单元。
示例16可以包括示例13-15中任一项的主题,其中,所述多个电参数包括以下中的两个或更多个:DQ总线驱动强度、发送均衡值、接收均衡值、转换速率、管芯上终结或DIMM阻抗值。
示例17可以包括示例13-16中任一项的主题,并且还可以包括用于计算针对多个电参数的一组组合的优化值的单元。
示例18可以包括示例13-17中任一项的主题,并且还可以包括用于基于局部最大值将针对多个电参数的值的一组可能的组合细化为针对多个电参数的值的可能的组合的子集的单元。
示例19是一种系统,包括包括多个通道的数据链路;存储电参数信息的高速缓冲存储器和用于确定和应用预测函数的算法;以及用于生成实验设计(DOE)矩阵的硬件处理器,DOE矩阵包括针对多个电参数的值的一组可能的组合;迭代地将针对多个电参数的值的每个组合应用于一个或多个存储器引脚;确定针对值的每个组合的裕度响应;基于裕度响应和值的每个组合的相关性来生成预测函数;并基于预测函数来优化多个电参数。
示例20可以包括示例19的主题,硬件处理器,用于确定针对值的每个组合的裕度响应;确定值的至少一个组合导致具有零裕度的裕度响应;确定针对导致零裕度的贡献电参数的最重要的贡献电参数值;约束针对贡献电参数的值以排除最重要的贡献电参数值;并且应用针对所述多个电参数的值的组合,所述值的组合排除了贡献所述零裕度的所述最重要的贡献电参数值。
示例21可以包括示例19-20中任一项的主题,硬件处理器,用于确定裕度响应的方差正在收敛;确定可以减少一组值的可能的组合;应用预测公式来优化电参数;识别电参数的组合的子集;迭代地应用电参数的组合的子集;并确定针对电参数的组合的子集中的每个电参数的组合的裕度响应。
示例22可以包括示例19-21中任一项的主题,其中,所述多个电参数包括以下中的两个或更多个:DQ总线驱动强度、发送均衡值、接收均衡值、转换速率、管芯上终结或DIMM阻抗值。
示例23可以包括示例19-22中任一项的主题,硬件处理器,用于计算针对多个电参数的一组组合的优化值。
示例24可以包括示例19-23中任一项的主题,硬件处理器,用于基于局部最大值将针对多个电参数的值的一组可能的组合细化为针对多个电参数的值的可能的组合的子集。
示例25可以包括示例19的主题,并且还可以包括实验设计逻辑,其用于基于无约束的一组电参数值组合生成实验矩阵的设计。
示例26可以包括示例25的主题,其中,实验设计逻辑被配置为基于零裕度点测试响应来细化该组电参数值组合。
示例27可以包括示例25的主题,其中,实验设计逻辑被配置为基于裕度响应测量的局部最大值来细化该组电参数值组合。
Claims (24)
1.一种方法,包括:
生成实验设计(DOE)矩阵,所述DOE矩阵包括针对多个电参数的值的一组可能的组合;
迭代地将针对所述多个电参数的值的每个组合应用于一个或多个存储器引脚;
确定针对值的每个组合的裕度响应;
基于所述裕度响应和值的每个组合的相关性来生成预测函数;以及
基于所述预测函数来优化所述多个电参数。
2.如权利要求1所述的方法,还包括:
确定针对值的每个组合的裕度响应;
确定值的至少一个组合导致具有零裕度的裕度响应;
确定针对导致所述零裕度的贡献电参数的最重要的贡献电参数值;
约束针对所述贡献电参数的值以排除最重要的贡献电参数值;以及
应用针对所述多个电参数的值的组合,所述值的组合排除了贡献所述零裕度的所述最重要的贡献电参数值。
3.如权利要求1-2中任一项所述的方法,还包括:
确定所述裕度响应中的方差正在收敛;
确定能够减少值的所述一组可能的组合;
应用预测公式来优化所述电参数;
识别电参数的组合的子集;
迭代地应用所述电参数的组合的子集;以及
确定针对所述电参数的组合的子集中的每个电参数的组合的裕度响应。
4.如权利要求1-3中任一项所述的方法,其中,所述多个电参数包括以下中的两个或更多个:DQ总线驱动强度、发送均衡值、接收均衡值、转换速率、管芯上终结或DIMM阻抗值。
5.根据权利要求1-4中任一项所述的方法,基于局部最大值将所述针对多个电参数的值的一组可能的组合细化为针对所述多个电参数的值的可能的组合的子集。
6.如权利要求1-5中任一项所述的方法,还包括:
进一步包括计算针对所述多个电参数的一组组合的优化值。
7.至少一种其上存储有代码的机器可访问存储介质,所述代码在机器上执行时,使所述机器用于:
生成实验设计(DOE)矩阵,所述DOE矩阵包括针对多个电参数的值的一组可能的组合;
迭代地将针对所述多个电参数的值的每个组合应用于一个或多个存储器引脚;
确定针对值的每个组合的裕度响应;
基于所述裕度响应和值的每个组合的相关性来生成预测函数;以及
基于所述预测函数来优化所述多个电参数。
8.如权利要求7所述的至少一种机器可访问存储介质,所述代码还使所述机器用于:
确定针对值的每个组合的裕度响应;
确定值的至少一个组合导致具有零裕度的裕度响应;
确定针对导致所述零裕度的贡献电参数的最重要的贡献电参数值;
约束针对所述贡献电参数的值以排除所述最重要的贡献电参数值;以及
应用针对所述多个电参数的值的组合,所述值的组合排除了贡献所述零裕度的所述最重要的贡献电参数值。
9.如权利要求7-8中任一项所述的至少一种机器可访问存储介质,所述代码还使所述机器用于:
确定裕度响应中的方差是否正在收敛;
确定能够减少值的所述一组可能的组合;
应用预测公式来优化所述电参数;
识别电参数的组合的子集;
迭代地应用所述电参数的组合的子集;以及
确定针对所述电参数的组合的子集中的每个电参数的组合的裕度响应。
10.如权利要求7-9中任一项所述的至少一种机器可访问存储介质,其中,所述多个电参数包括以下中的两个或更多个:DQ总线驱动强度、发送均衡值、接收均衡值、转换速率、管芯上终结或DIMM阻抗值。
11.如权利要求7-10中任一项所述的至少一种机器可访问存储介质,所述代码还使所述机器用于基于局部最大值将所述针对所述多个电参数的值的一组可能的组合细化为针对所述多个电参数的值的可能的组合的子集。
12.如权利要求7-11中任一项所述的至少一种机器可访问存储介质,所述代码还使所述机器用于计算针对所述多个电参数的一组组合的优化值。
13.一种通过链路与高速缓冲存储器通信的装置,所述装置包括:
用于生成实验设计(DOE)矩阵的单元,所述DOE矩阵包括针对多个电参数的值的一组可能的组合;
用于将针对所述多个电参数的值的每个组合迭代地应用于一个或多个存储器引脚的单元;
用于确定针对值的每个组合的裕度响应的单元;
用于基于所述裕度响应和值的每个组合的相关性来生成预测函数的单元;以及
用于基于所述预测函数来优化所述多个电参数的单元。
14.如权利要求13所述的装置,还包括:
用于确定针对值的每个组合的裕度响应的单元;
用于确定值的至少一个组合导致具有零裕度的裕度响应的单元;
用于确定针对导致所述零裕度的贡献电参数的最重要的贡献电参数值的单元;
用于约束针对所述贡献电参数的值,以排除所述最重要的贡献电参数值的单元;以及
用于应用针对所述多个电参数的值的组合的单元,所述值的组合排除了贡献所述零裕度的所述最重要的贡献电参数值。
15.如权利要求13-14中任一项所述的装置,还包括:
用于确定裕度响应中的方差正在收敛的单元;
用于确定能够减少值的所述一组可能的组合的单元;
用于应用预测公式以优化所述电参数的单元;
用于识别电参数的组合的子集的单元;
用于迭代地应用针对所述电参数的组合的子集中的每个电参数的组合的单元;以及
用于确定针对所述电参数的组合的子集中的每个电参数的组合的裕度响应的单元。
16.如权利要求13-15中任一项所述的装置,其中,所述多个电参数包括以下中的两个或更多个:DQ总线驱动强度、发送均衡值、接收均衡值、转换速率、管芯上终结或DIMM阻抗值。
17.如权利要求13-16中任一项所述的装置,还包括用于基于局部最大值将所述针对多个电参数的值的一组可能的组合细化为针对所述多个电参数的值的可能的组合的子集的单元。
18.如权利要求13-17中任一项所述的装置,还包括用于计算针对所述多个电参数的一组组合的优化值的单元。
19.一种系统,包括:
包括多个通道的数据链路;
存储用于确定和应用预测函数的电参数信息和算法的高速缓冲存储器;以及
硬件处理器,其用于:
生成实验设计(DOE)矩阵,所述DOE矩阵包括针对多个电参数的值的一组可能的组合;
迭代地将针对所述多个电参数的值的每个组合应用于一个或多个存储器引脚;
确定针对值的每个组合的裕度响应;
基于所述裕度响应和值的每个组合的相关性来生成预测函数;以及
基于所述预测函数来优化所述多个电参数。
20.如权利要求19所述的系统,所述硬件处理器用于:
确定针对值的每个组合的裕度响应;
确定值的至少一个组合导致具有零裕度的裕度响应;
确定针对导致所述零裕度的贡献电参数的最重要的贡献电参数值;
约束针对所述贡献电参数的值以排除所述最重要的贡献电参数值;以及
应用针对所述多个电参数的值的组合,所述值的组合排除了贡献所述零裕度的所述最重要的贡献电参数值。
21.如权利要求19-20中任一项所述的系统,所述硬件处理器用于:
确定裕度响应中的方差正在收敛;
确定能够减少值的所述一组可能的组合;
应用预测公式来优化所述电参数;
识别电参数的组合的子集;
迭代地应用所述电参数的组合的子集;以及
确定针对所述电参数的组合的子集中的每个电参数的组合的裕度响应。
22.如权利要求19-21中任一项所述的系统,其中,所述多个电参数包括以下中的两个或更多个:DQ总线驱动强度、发送均衡值、接收均衡值、转换速率、管芯上终结或DIMM阻抗值。
23.如权利要求19中任一项所述的系统,所述硬件处理器基于局部最大值将所述针对多个电参数的值的一组可能的组合细化为针对所述多个电参数的值的可能的组合的子集。
24.如权利要求19中任一项所述的系统,所述硬件处理器用于计算针对所述多个电参数的一组组合的优化值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/280,320 US10262751B2 (en) | 2016-09-29 | 2016-09-29 | Multi-dimensional optimization of electrical parameters for memory training |
US15/280,320 | 2016-09-29 | ||
PCT/US2017/049553 WO2018063730A1 (en) | 2016-09-29 | 2017-08-31 | Multi-dimensional optimization of electrical parameters for memory training |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109643577A true CN109643577A (zh) | 2019-04-16 |
CN109643577B CN109643577B (zh) | 2023-07-21 |
Family
ID=61686146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780053192.4A Active CN109643577B (zh) | 2016-09-29 | 2017-08-31 | 用于存储器训练的电参数的多维优化 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10262751B2 (zh) |
CN (1) | CN109643577B (zh) |
DE (1) | DE112017004891T5 (zh) |
WO (1) | WO2018063730A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10552173B2 (en) * | 2017-03-31 | 2020-02-04 | Intel Corporation | Methods and apparatus to configure parameters of a high-speed input-output interface |
CN111273769B (zh) * | 2020-01-15 | 2022-06-17 | Oppo广东移动通信有限公司 | 一种设备控制方法、装置、电子设备及存储介质 |
CN117332932B (zh) * | 2023-12-01 | 2024-03-22 | 国网能源研究院有限公司 | 电氢协同系统充裕度评估方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060279988A1 (en) * | 2005-06-10 | 2006-12-14 | Lorenzo Bedarida | System and method for matching resistance in a non-volatile memory |
US20100103561A1 (en) * | 2007-06-04 | 2010-04-29 | Toshiba Storage Device Corporation | Storage device, processor or storage device, and computer program product |
US20100161527A1 (en) * | 2008-12-23 | 2010-06-24 | Yahoo! Inc. | Efficiently building compact models for large taxonomy text classification |
CN103119554A (zh) * | 2010-07-22 | 2013-05-22 | 英特尔公司 | 提供平台无关的存储器逻辑 |
US20140229666A1 (en) * | 2013-02-08 | 2014-08-14 | Theodore Z. Schoenborn | Memory subsystem i/o performance based on in-system empirical testing |
EP2779517A1 (en) * | 2013-03-15 | 2014-09-17 | Intel Corporation | Apparatus, system, and method for improving equalization with a hardware driven algorithm |
US9368225B1 (en) * | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9432298B1 (en) * | 2011-12-09 | 2016-08-30 | P4tents1, LLC | System, method, and computer program product for improving memory systems |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7006955B2 (en) | 2001-10-15 | 2006-02-28 | General Electric Company | System and method for statistical design of ultrasound probe and imaging system |
US7333871B2 (en) | 2003-01-21 | 2008-02-19 | Applied Materials, Inc. | Automated design and execution of experiments with integrated model creation for semiconductor manufacturing tools |
US7739208B2 (en) * | 2005-06-06 | 2010-06-15 | Numenta, Inc. | Trainable hierarchical memory system and method |
US8305793B2 (en) * | 2008-05-16 | 2012-11-06 | Qimonda Ag | Integrated circuit with an array of resistance changing memory cells |
EP2259214B1 (en) * | 2009-06-04 | 2013-02-27 | Honda Research Institute Europe GmbH | Implementing a neural associative memory based on non-linear learning of discrete synapses |
US20110178789A1 (en) | 2010-01-15 | 2011-07-21 | Imec | Response characterization of an electronic system under variability effects |
US9135572B2 (en) * | 2010-09-29 | 2015-09-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for processing data |
US8850155B2 (en) * | 2011-12-19 | 2014-09-30 | Advanced Micro Devices, Inc. | DDR 2D Vref training |
US9117042B2 (en) | 2012-02-06 | 2015-08-25 | Livermore Software Technology Corp. | Systems and methods of using multiple surrogate-based parameter selection of anisotropic kernels in engineering design optimization |
US20140032826A1 (en) * | 2012-07-25 | 2014-01-30 | Samsung Electronics Co., Ltd. | Method of training memory core and memory system |
US20140181429A1 (en) * | 2012-12-26 | 2014-06-26 | Nvidia Corporation | Multi-dimensional hardware data training between memory controller and memory |
US20140317334A1 (en) | 2013-04-22 | 2014-10-23 | Lsi Corporation | Storage of gate training parameters for devices utilizing random access memory |
US9021154B2 (en) * | 2013-09-27 | 2015-04-28 | Intel Corporation | Read training a memory controller |
US9411695B2 (en) * | 2013-12-04 | 2016-08-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Provisioning memory in a memory system for mirroring |
US9639495B2 (en) * | 2014-06-27 | 2017-05-02 | Advanced Micro Devices, Inc. | Integrated controller for training memory physical layer interface |
US20160188414A1 (en) | 2014-12-24 | 2016-06-30 | Intel Corporation | Fault tolerant automatic dual in-line memory module refresh |
US10013652B2 (en) * | 2015-04-29 | 2018-07-03 | Nuance Communications, Inc. | Fast deep neural network feature transformation via optimized memory bandwidth utilization |
US9665289B1 (en) * | 2015-12-04 | 2017-05-30 | Inphi Corporation | Eye scan for memory channel |
US10089178B2 (en) * | 2016-02-29 | 2018-10-02 | International Business Machines Corporation | Developing an accurate dispersed storage network memory performance model through training |
US10114952B2 (en) * | 2016-03-30 | 2018-10-30 | Mcafee, Llc | System, apparatus and method for performing secure memory training and management in a trusted environment |
US9715907B1 (en) * | 2016-05-09 | 2017-07-25 | Invecas, Inc. | Optimal data eye for improved Vref margin |
KR20180007374A (ko) * | 2016-07-12 | 2018-01-23 | 삼성전자주식회사 | 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법 |
-
2016
- 2016-09-29 US US15/280,320 patent/US10262751B2/en active Active
-
2017
- 2017-08-31 WO PCT/US2017/049553 patent/WO2018063730A1/en active Application Filing
- 2017-08-31 CN CN201780053192.4A patent/CN109643577B/zh active Active
- 2017-08-31 DE DE112017004891.5T patent/DE112017004891T5/de active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060279988A1 (en) * | 2005-06-10 | 2006-12-14 | Lorenzo Bedarida | System and method for matching resistance in a non-volatile memory |
US20100103561A1 (en) * | 2007-06-04 | 2010-04-29 | Toshiba Storage Device Corporation | Storage device, processor or storage device, and computer program product |
US20100161527A1 (en) * | 2008-12-23 | 2010-06-24 | Yahoo! Inc. | Efficiently building compact models for large taxonomy text classification |
CN103119554A (zh) * | 2010-07-22 | 2013-05-22 | 英特尔公司 | 提供平台无关的存储器逻辑 |
US9432298B1 (en) * | 2011-12-09 | 2016-08-30 | P4tents1, LLC | System, method, and computer program product for improving memory systems |
US9368225B1 (en) * | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US20140229666A1 (en) * | 2013-02-08 | 2014-08-14 | Theodore Z. Schoenborn | Memory subsystem i/o performance based on in-system empirical testing |
EP2779517A1 (en) * | 2013-03-15 | 2014-09-17 | Intel Corporation | Apparatus, system, and method for improving equalization with a hardware driven algorithm |
Also Published As
Publication number | Publication date |
---|---|
US10262751B2 (en) | 2019-04-16 |
DE112017004891T5 (de) | 2019-06-19 |
WO2018063730A1 (en) | 2018-04-05 |
CN109643577B (zh) | 2023-07-21 |
US20180088849A1 (en) | 2018-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104981815B (zh) | 用于用安全属性限制cpu事务的方法、装置和系统 | |
TWI524184B (zh) | 用於在分散式記憶體組織架構中處理位址衝突之方法、設備及系統 | |
CN110532212A (zh) | 用于有效外围组件管理的dvsec的系统、方法和装置 | |
CN107924380A (zh) | 使用业务类别分配高速缓存的方法、装置和系统 | |
CN104052621B (zh) | 用于跨快速外围组件互连(pcie)段的平台管理消息的方法和系统 | |
CN104050114B (zh) | 同步端口进入低功率状态的系统、方法和设备 | |
CN104364750B (zh) | 用于触摸数据和显示区域控制的分布式预处理的方法、装置和系统 | |
CN108701109A (zh) | 用于计算机扩展总线的插件机制的方法、装置和系统 | |
CN109634899A (zh) | 针对pcie进行sris模式选择的系统、方法和装置 | |
CN108027785B (zh) | 用于对链路拆分进行去偏斜的方法、设备和系统 | |
CN109891399A (zh) | 在相同的物理串行总线集线器上产生多个虚拟串行总线集线器实例的装置和方法 | |
CN109074341A (zh) | 减少引脚计数接口 | |
CN105027444B (zh) | 集成时钟差分缓冲 | |
CN107003971A (zh) | 用于高性能互连中的嵌入式流通道的方法、装置、系统 | |
CN105830053A (zh) | 用于快速配置机制的装置、方法和系统 | |
CN110121703B (zh) | 用于向量通信的系统和方法 | |
CN107005231A (zh) | 用于在高性能互连中定中心的方法、设备、系统 | |
CN109643299A (zh) | 在具有现有tlp定义的pcie上的持久存储器写入语义 | |
CN110348033A (zh) | 减少携带差分信号对的正导体和负导体之间的偏斜 | |
CN109643577A (zh) | 用于存储器训练的电参数的多维优化 | |
TWI736559B (zh) | 用以針對實體層裝置的組件傳輸資料之控制器 | |
US20220113967A1 (en) | Accelerator fabric for discrete graphics | |
US20170351430A1 (en) | Method, apparatus, and system for cache coherency using a coarse directory | |
JP2023094532A (ja) | メモリ帯域幅のボトルネックを軽減し、電力管理を容易にするSoCアーキテクチャ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |