CN105247498A - 通用的基于主机的控制器延迟方法和装置 - Google Patents

通用的基于主机的控制器延迟方法和装置 Download PDF

Info

Publication number
CN105247498A
CN105247498A CN201480030565.2A CN201480030565A CN105247498A CN 105247498 A CN105247498 A CN 105247498A CN 201480030565 A CN201480030565 A CN 201480030565A CN 105247498 A CN105247498 A CN 105247498A
Authority
CN
China
Prior art keywords
logic
deferred message
console controller
equipment
processor
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
Application number
CN201480030565.2A
Other languages
English (en)
Other versions
CN105247498B (zh
Inventor
B·库珀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN105247498A publication Critical patent/CN105247498A/zh
Application granted granted Critical
Publication of CN105247498B publication Critical patent/CN105247498B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

描述了与通用的基于主机的控制器延迟有关的方法和装置。在一个实施例中,从主机控制器检测与一个或多个设备相对应的延迟信息,所述主机控制器控制对所述一个或多个设备的访问。对所述延迟信息的检测响应于由所述主机控制器启动的一个或多个事务而被执行。还主张并且公开了其他实施例。

Description

通用的基于主机的控制器延迟方法和装置
技术领域
本公开总体上涉及电子学领域。更特别地,一些实施例涉及通用的基于主机的控制器延迟方法和装置。
背景技术
随着移动计算设备变得更加常见,系统设计者的一个主要目标是降低功耗,例如,以允许更长的电池寿命,更少的热量产生等。然而,对于计算机系统的各种部件中的功耗降低而言,系统设计者一般必须依赖于从控制这些部件的操作时序的预定义标准中获得的信息以保证正确性。因此,部件能否进入低功耗状态并且仍然保持正确性可能直接取决于是否已经针对该部件预定义了标准(例如,与时序要求有关)。
此外,对于现今的小型化移动计算设备而言,能量效率是重要的,同时,能量效率对于更大的系统也是重要的,部分原因是由于较高的功耗可能增加热量的产生。过多的热量可能损坏计算机系统的部件。进一步地,例如,在移动计算设备中,较高的功率利用可能增加电池消耗,这继而降低移动设备在充电之前可以操作的时间量。额外的功耗可能额外地需要使用可能重量更大的更大型的电池。更重的电池降低了移动计算设备的便携性和可用性。
附图说明
参照附图提供了具体实施方式。在附图中,附图标记的最左侧的数字标识该附图标记在其中首次出现的附图。在不同附图中使用相同的附图标记指示类似的或相同的项目。
图1和图4-图6示出了可以被利用以实现本文所讨论的各种实施例的计算系统的实施例的框图。
图2示出了根据实施例的用于实现渐进延迟报告的逻辑的状态图。
图3示出了根据实施例的作为控制器的空闲时间的函数的延迟信息供应的图。
具体实施方式
在以下描述中,阐述了大量的细节以提供对各种实施例的充分理解。然而,各种实施例可以在没有这些具体细节的情况下实践。在其他实例中,没有详细地描述公知的方法、过程、部件、以及电路,以便不使特定实施例变得难以理解。此外,可以使用各种手段来执行实施例的各种方面,所述各种手段例如,集成的半导体电路(“硬件”)、被组织为一个或多个程序中的计算机可读指令(“软件”)、或硬件和软件的某种组合。出于本公开的目的,所提到的“逻辑”可以表示硬件、软件、固件、或其一些组合。
一些实施例提供了经由通用的基于主机的控制器延迟报告来确定(针对计算系统中的一个或多个设备的)延迟信息。为了保证正确的操作,需要满足特定的延迟要求。从一个设备到另一个设备,这些延迟要求一般不同。此外,一些实现依赖于预定义标准来确定设备延迟信息。然而,这样的预定义标准可能不是针对所有设备都存在,或者一些设备可能能够超出这些标准要求来进行操作。为此,实施例利用逻辑来检测与一个或多个设备相对应的、来自用于控制到所述一个或多个设备的访问的主机控制器的延迟信息。该逻辑可以响应于由该主机控制器启动的一个或多个事务来检测延迟信息。
如本文所讨论的,“主机控制器”一般是指由计算系统(例如参照图1和图4-6所讨论的计算系统)的部件来控制/选通到一个或多个设备(例如,图1的设备162)的访问的逻辑(例如,图1的控制器161)。此外,如本文中讨论的,“延迟信息”一般是指设备或主机控制器可以容许的从其请求移动数据或消息直到系统允许该请求为止的延迟的量。在一些情况中(例如,网络设备),这可以是连接速度和内部缓冲的函数,或者在其他设备(例如,存储装置)的情况中,它可以只是基于设备如何被利用和/或最近如何被使用的性能约束。可以渐进地循环通过睡眠延迟值以确定越来越深的延迟值,例如,只要主机控制器保持非活动/空闲时。延迟信息被报告给一个或多个实体(如下文中将要进一步讨论的),例如,以允许更多的灵活性以在性能与功耗降低/能量效率之间进行权衡。
在一些实施例中,本文讨论的功耗状态中的至少一些可以与2011年12月公布的高级配置与电源接口(ACPI)规范的修正版本5之中定义的那些状态一致或类似。例如,L0一般可以指代正常操作模式,L1可以指代睡眠模式,L2可以指代深度睡眠模式,等等。
本文讨论的技术可以被使用在具有功耗设置的任何类型的计算系统中,例如参照图1和图4-6所讨论的系统(其可以包括智能电话、平板电脑、膝上型计算机、UMPC(超级移动个人计算机)、超级本等)。更特别地,图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),存储器控制器(例如,参照图4-6所讨论的那些)、或其他部件。
在一个实施例中,路由器110可以用于在处理器102-1和/或系统100的各种部件之间进行通信。此外,处理器102-1可以包括一个以上的路由器110。进一步地,大量路由器110可以进行通信以使得数据能够在处理器102-1的内部或外部的各种部件之间进行路由。
共享高速缓存108可以存储由处理器102-1的一个或多个部件(例如,核心106)利用的数据(例如,包括指令)。例如,共享高速缓存108可以对存储在存储器114中的数据进行本地高速缓存以用于处理器102的部件进行更快地访问。在实施例中,高速缓存108可以包括中级高速缓存(例如,2级(L2)、3级(L3)、4级(L4)、或其他级高速缓存)、末级高速缓存(LLC)、和/或其组合。此外,处理器102-1的各种部件可以通过总线(例如,总线112),和/或存储器控制器或集线器来直接与共享高速缓存108进行通信。如图1所示,在一些实施例中,核心106中的一个或多个可以包括1级(L1)高速缓存116-1(本文中一般称为“L1高速缓存116”)。
在一个实施例中,逻辑160检测来自主机控制器161的(关于一个或多个设备162的)延迟信息(例如,以将要参照图2-4进一步讨论的渐进方式)。逻辑160将检测到的延迟信息传达给系统的其他部件,例如,功率管理(PM)逻辑170、操作系统(OS)、设备驱动程序、软件应用程序等,以便通过遵从基于检测到的延迟信息所确定的延迟要求来保持操作的正确性。例如,逻辑160可以允许对单独设备的延迟信息进行动态调整(例如,不论是否存在预定义标准)。此外,可以至少部分地基于从PM逻辑170、OS、设备驱动程序、和/或软件应用程序(例如,其中OS和/或软件应用程序、和/或设备驱动程序可以存储在存储器114中)中获取的延迟信息,来(例如,通过逻辑160)实现功耗控制。在实施例中,延迟信息由主机控制器(例如,逻辑161)提供,并且延迟信息事务不是由设备(例如设备162)直接启动,而是通过该设备的主机控制器来进行启动的。此外,设备可以包括参照图1-6所讨论的部件中的任一个,包括例如eMMC(嵌入式多媒体卡)、串行高级技术附件(SATA)、和/或UFS(通用闪速存储)存储设备。此外,逻辑160和/或170可以在图1所示的那些位置之外的其他位置被提供(例如,在核心106内,直接耦合到互联104等)。
图2示出了根据实施例的实现渐进延迟报告的状态图。在实施例中,图1的逻辑160根据图2的状态图来进行操作。如所示出的,逻辑160跟踪设备控制器161中的空闲时间,并且,只要设备控制器161保持非活动/空闲,则渐进地循环通过被报告的(例如,报告给平台中的功率管理(PM)逻辑170)越来越深的延迟值。当主机控制器161空闲得更久时,延迟值可以是软件提供的(例如,由硅供应商、系统开发者、用户等),以更加灵活地在能量效率和性能之间进行权衡。
一般地,LTR(延迟容许报告)被用于允许对经由主机控制器(例如,控制器161)耦合的一个或多个终端设备(例如,设备162)的服务延迟要求进行报告。这继而允许进行功率管理(例如,经由PM逻辑170)而不会影响功能和/或性能。此外,即使图2示出了LTR值(其可以与外围部件高速互连(PCIe)相关联)的使用,但是实施例还可以根据其他显式的延迟报告机制(诸如,由通用串行总线(USB)3.0(例如,根据2008年11月发布的USB3.0规范)支持的延迟容许消息(LTM))或通过隐式手段来进行应用,所述隐含的手段诸如由USB2.0(例如,根据2007年7月16日的USB2.0规范的USB2.0链接功率管理附件工程变更通知,以及针对USB2.0ECN的勘误表:链接功率管理(LPM)-7/2007到2011年10月11日)支持的链接功率管理(LPM)机制、串行高级技术附件(SATA)连接状态。可替换的方式包括使设备驱动程序向芯片组专有寄存器(例如,SDIO(串行数据输入/输出)寄存器)写入。此外,一些实施例可以被应用到eMMC、SATA、和/或UFS存储设备上。
参照图2,一旦空闲计时器(被设置为T0)到期,就进行从阶段202(LTR处于L0并且空闲计时器被设置为T0,注意,图2底部的表格示出了根据一些实施例的一些样本T值和L值)到阶段204的迁移。在阶段204中,LTR被设置为L1,并且空闲计时器被设置为L1。如果控制器(例如,主机控制器161)变为活动的,则进入阶段202。如果在阶段204中控制器保持非活动,则一旦空闲计时器(被设置为L1)到期,就进入阶段206。这个过程针对图2中示出的阶段206-210,根据在图2的底部以表格形式示出的值来进行重复。在一个实施例中,示出的计时值具有选择时间的单位(例如,000b=微秒,001b=毫秒,010=百毫秒,011=秒)和值(例如,10位)的乘数。延迟值以微秒单位被编程为32位并且不具有乘数。因此,在主机控制器保持非活动时,延迟值渐进地增加(通过连续地进行通过阶段202-210),从而允许实现不断增加地加深的睡眠状态和/或提供灵活性,以使得允许软件提供延迟值(例如,来自硅供应商、系统开发者、用户等),以更加灵活地在能量效率和性能之间进行权衡。
图3示出了根据实施例的作为控制器空闲时间的函数的延迟信息供应的图。如图所示,随着空闲时间值增加(例如,在从T0到T3的四个渐进步骤中),Lx值增加以指示更高的延迟(例如,LTR)值。相应地,在主机控制器161空闲更久时(在图3中,空闲时间增加),延迟值可以是软件提供的(例如,通过硅供应商、系统设计者、用户等),以更加灵活地在能量效率和性能之间进行权衡。
图4示出了根据实施例的计算系统400的框图。计算系统400可以包括经由互连网络(或总线)404进行通信的一个或多个中央处理单元(CPU)402或处理器。处理器402可以包括通用处理器、网络处理器(对通过计算机网络403进行通信的数据进行处理),或其他类型的处理器(包括精简指令集处理器(RISC)处理器或复杂指令集处理器(CISC))。
此外,处理器402可以具有单个或多个核心设计。具有多个核心设计的处理器402可以在同一集成电路(IC)管芯上集成不同类型的处理器核心。此外,具有多个核心设计的处理器402可以被实现为对称或非对称的多处理器。在实施例中,处理器402中的一个或多个可以与图1的处理器102相同或类似。例如,系统400的一个或多个部件可以包括逻辑160(例如,如图4所示)或参照图1-3所讨论的其他部件。此外,参照图1-3所讨论的操作可以由系统400的一个或多个部件执行。
芯片组406也可以与互连网络404进行通信。芯片组406可以包括图形和存储器控制中心(GMCH)408。GMCH408可以包括与存储器412(其可以与图1的处理器114相同或类似)进行通信的存储器控制器410。存储器412可以存储数据,所述数据包括可以由CPU402、或被包括在计算系统400中的任何其他设备执行的指令的序列。在一个实施例中,存储器412可以包括一个或多个易失性存储(或存储器)设备,例如,随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、或其他类型的存储设备。也可以利用诸如硬盘等的非易失性存储器。额外的设备可以经由互连网络404来进行通信,诸如,CPU和/或多个系统存储器。
GMCH408还可以包括与显示设备416进行通信的图形接口414。在一个实施例中,图形接口414可以经由加速图形端口(AGP)来与显示设备416进行通信。在实施例中,显示器416(例如,平板显示器)可以与图形接口414进行通信,例如,通过将存储在诸如视频存储器或系统存储器等存储设备中的图像的数字表示转换为由显示器416解释并且显示的显示信号的信号转换器来进行通信。在被显示器416解释并且随后显示在显示器416上之前,由显示设备产生的显示信号可以通过各种控制设备进行传递。
集线器接口418可以允许GMCH408与输入/输出控制中心(ICH)420来进行通信。ICH420可以向与计算系统400进行通信的I/O设备提供接口。ICH420可以通过外围桥(或控制器)424来与总线422通信,所述外围桥(或控制器)例如是外围部件互联(PCI)桥、通用串行总线(USB)控制器、或其他类型的外围桥或控制器。桥424可以提供CPU402与外围设备之间的数据路径。可以利用其他类型的拓扑结构。此外,多个总线可以与ICH420通信,例如,通过多个桥或控制器。此外,在各种实施例中,与ICH420通信的其他外围设备可以包括集成驱动电子(IDE)或小型计算机系统接口(SCSI)硬驱动、USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动、数字输出支持(例如,数字视频接口(DVI))、或其他设备。
总线422可以与音频设备426、一个或多个硬盘驱动428、以及网络接口设备430(其与计算机网络430通信)进行通信。其他设备可以经由总线422来进行通信。此外,在一些实施例中,各种部件(例如,网络接口设备430)可以与GMCH408进行通信。此外,可以对处理器402和GMCH408进行组合以形成单个芯片,和/或GMCH408的部分或全部可以被包括在处理器402中(例如,不是将GMCH408包括在芯片组406中)。进一步地,在其他实施例中,图形加速器416可以被包括在GMCH408内。
进一步地,计算系统400可以包括易失性和/或非易失性存储器(或存储装置)。例如,非易失性存储器可以包括以下中的一个或多个:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、硬盘驱动器(例如428)、软盘、压缩盘ROM(CD-ROM)、数字多功能盘(DVD)、闪速存储器、磁-光盘、或能够存储电子数据(例如,包括指令)的其他类型的非易失性机器可读介质。
图5示出了根据实施例的以点对点(PtP)配置进行布置的计算系统500。特别地,图5示出了这样的系统,其中,处理器、存储器、以及输入/输出设备由多个点对点接口来进行互连。参照图1-4讨论的操作可以由系统500的一个或多个部件执行。
如图5中所示的,系统500可以包括多个处理器,为清楚起见,仅示出了其中的两个,处理器502和504。处理器502和504可以各自包括本地存储器控制中心(MCH)506和508,以使得能够与存储器510和512进行通信。存储器510和/或512可以存储各种数据,例如,参照图4的存储器412所讨论的那些。
在实施例中,处理器502和504可以是参照图4所讨论的处理器402中的一个。处理器502和504可以分别使用PtP接口电路516和518经由点对点(PtP)接口514来交换数据。此外,处理器502和504可以使用点对点接口电路526、528、530和532,经由单独的PtP接口522和524来各自与芯片组520交换数据。芯片组520还可以例如使用PtP接口电路537,经由图形接口536来与图形电路534交换数据。
至少一个实施例可以在处理器502和504内被提供。例如,系统500的一个或多个部件可以包括图1-4的逻辑160,包括位于处理器502和504内的。然而,其他实施例可以存在于图5的系统500内的其他电路、逻辑单元或设备中。此外,其他实施例可以分布在图5中示出的多个电路、逻辑单元、或设备上。
芯片组520可以使用PtP接口电路541来与总线540通信。总线540可以与一个或多个设备通信,所述一个或多个设备例如是总线桥542和I/O设备543。经由总线544,总线桥542可以与其他设备通信,所述其他设备例如是键盘/鼠标545、通信设备546(例如,调制解调器、网络接口设备、或与计算机网络403通信的其他通信设备)、音频I/O设备547、和/或数据存储设备548。数据存储设备548可以存储可以由处理器502和/或504执行的代码549。
在一些实施例中,本文讨论的部件中的一个或多个可以被实现为片上系统(SOC)设备。图6示出了根据实施例的SOC封装的框图。如图6中所示,SOC602包括一个或多个中央处理单元(CPU)核心620、一个或多个图形处理单元(GPU)核心630、输入/输出(I/O)接口640、以及存储器控制器642。如本文中参照其他附图所讨论的,SOC封装602的各种部件可以耦合到互连或总线。此外,SOC封装602可以包括或多或少的部件,例如本文中参照其他附图所讨论的那些。此外,SOC封装602的每个部件可以包括一个或多个其他部件,例如本文中参照其他附图所讨论的那些。在一个实施例中,SOC封装602(及其部件)在(例如)被封装到单个半导体器件中的一个或多个集成电路(IC)管芯上被提供。
如图6所示,SOC封装602经由存储器控制器642耦合到存储器660(其与本文中参照其他附图所讨论的存储器类似或相同)。在实施例中,存储器660(或其一部分)可以被集成在SOC封装602上。
I/O接口640可以例如经由如本文中参照其他附图所讨论的互连和/或总线耦合到一个或多个I/O设备670。I/O设备670可以包括键盘、鼠标、触摸板、显示器、图像/视频采集设备(例如,照相机或摄像机/视频记录器)、触摸屏、扬声器,或其类似设备中的一个或多个。此外,在实施例中,SOC封装602可以包括/集成逻辑160。可替换地,逻辑160可以在SOC封装602外部(即,作为分立逻辑)被提供。
以下示例涉及进一步的实施例。示例1包括一种装置,包括:逻辑,所述逻辑至少部分地包括硬件逻辑单元,所述硬件逻辑检测来自主机控制器的与一个或多个设备相对应的延迟信息,所述主机控制器控制对所述一个或多个设备的访问,其中,所述逻辑响应于由所述主机控制器启动的一个或多个事务来检测所述延迟信息。示例2包括示例1的装置,其中,所述逻辑将检测到的延迟信息发送到以下中的一个或多个:功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序。示例3包括示例2的装置,其中,所述功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序中的至少一个接收所发送的延迟信息,并且利用接收到的信息来确定以提高的能量效率进行操作或以提高的性能水平进行操作。示例4包括示例1的装置,其中,所述延迟信息包括以下中的一个或多个:所述主机控制器的空闲时间值以及所述主机控制器的睡眠延迟值。示例5包括示例1的装置,其中,所述逻辑响应于不由所述一个或多个设备启动的一个或多个事务来检测所述延迟信息。示例6包括示例1的装置,其中,所述一个或多个设备包括以下中的一个或多个:嵌入式多媒体卡(eMMC)、串行高级技术附件(SATA)存储设备、以及通用闪速存储(UFS)设备。示例7包括示例1的装置,包括以下的逻辑,所述逻辑在只要所述主机控制器保持非活动时,渐进地循环通过延迟信息以确定多个延迟值。示例8包括示例1的装置,其中,所述逻辑、一个或多个处理器核心、以及存储器位于单个的集成电路管芯上。示例9包括一种方法,所述方法包括:检测与一个或多个设备相对应的、来自主机控制器的延迟信息,所述主机控制器控制对所述一个或多个设备的访问,其中,对所述延迟信息的检测响应于由所述主机控制器启动的一个或多个事务而被执行。示例10包括示例9的方法,还包括将检测的延迟值发送到以下中的一个或多个:功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序。示例11包括示例10的方法,还包括所述功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序中的至少一个接收所发送的延迟信息并且利用接收到的信息来确定以提高的能量效率进行操作或以提高的性能水平进行操作。
示例12包括一种计算机可读介质,所述计算机可读介质包括一个或多个指令,所述指令在处理器上被执行时,配置所述处理器执行一个或多个操作用于:检测与一个或多个设备相对应的、来自主机控制器的延迟信息,所述主机控制器控制对所述一个或多个设备的访问,其中,对所述延迟信息的检测响应于由所述主机控制器启动的一个或多个事务被执行。示例13包括示例12的计算机可读介质,还包括一个或多个指令,所述指令在处理上被执行时配置所述处理器执行一个或多个操作,以使得将检测到的延迟信息发送到以下中的一个或多个:功率管理逻辑、操作系统、设备驱动程序、软件应用程序。示例14包括示例13的计算机可读介质,还包括一个或多个指令,所述指令在处理器上被执行时,配置所述处理器执行一个或多个操作以使得所述功率管理逻辑、操作系统、设备驱动程序、软件应用程序中的至少一个接收所发送的延迟信息,并且利用接收到的信息来确定以提高的能量效率进行操作或以提高的性能水平进行操作。示例15包括示例12的计算机可读介质,其中,所述延迟信息包括以下中的一个或多个:所述主机控制器的空闲时间值以及所述主机控制器的睡眠延迟值。示例16包括示例12的计算机可读介质,还包括一个或多个指令,所述指令在所述处理器上被执行时,配置所述处理器执行一个或多个操作以使得响应于不由所述一个或多个设备启动的一个或多个事务来进行对所述延迟信息的检测。示例17包括示例12的计算机可读介质,其中,所述一个或多个设备包括以下中的一个或多个:嵌入式多媒体卡(eMMC)、SATA存储设备、以及通用闪速存储(UFS)设备。
示例18包括一种系统,所述系统包括:处理器,所述处理器包括逻辑,所述逻辑至少部分地包括硬件逻辑,其中,所述逻辑检测与一个或多个设备相对应的、来自主机控制器的延迟信息,所述主机控制器控制对所述一个或多个设备的访问,其中,所述逻辑响应于由所述主机控制器启动的一个或多个事务来检测所述延迟信息。示例19包括示例18的系统,其中,所述逻辑将检测到的延迟信息发送到以下中的一个或多个:功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序。示例20包括示例19的系统,其中,所述功率管理逻辑、操作系统、设备驱动程序以及软件应用程序中的至少一个接收所送法的延迟信息,并且利用接收到的信息来确定以提高的能量效率进行操作或以提高的性能水平进行操作。示例21包括示例18的系统,其中,所述延迟信息包括以下中的一个或多个:所述主机控制器的空闲时间值,以及所述主机控制器的睡眠延迟值。示例22包括示例18的系统,其中,所述逻辑响应于不由所述一个或多个设备启动的一个或多个事务来检测所述延迟信息。示例23包括示例18的系统,其中,所述一个或多个设备包括以下中的一个或多个:嵌入式多媒体卡(eMMC)、SATA存储设备、以及通用闪速存储(UFS)设备。示例24包括示例18的系统,其中,所述逻辑、一个或多个处理器核心以及存储器位于单个集成电路管芯上。示例25包括示例18的系统,所述系统包括以下的逻辑,只要所述主机控制器保持非活动时,渐进地循环通过延迟信息以确定多个延迟值。
示例26包括一种计算机可读介质,所述计算机可读介质包括一个或多个指令,所述指令在处理器上执行时,配置所述处理器执行示例9至11中任一个的一个或多个操作。
示例27包括一种装置,所述装置包括:用于检测与一个或多个设备相对应的、来自主机控制器的延迟信息的模块,所述主机控制器控制对所述一个或多个设备的访问,其中,对所述延迟信息的检测响应于由所述主机控制器启动的一个或多个事务而被执行。示例28包括示例27的装置,还包括一个或多个指令,所述指令在处理器上被执行时,配置所述处理器执行一个或多个操作以使得将检测到的延迟信息发送到以下中的一个或多个:功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序。示例29包括示例29的装置,还包括用于使所述功率管理逻辑、操作系统、设备驱动程序以及软件应用程序中的至少一个接收所发送的延迟信息,并且利用所接收的信息来确定以提高的能量效率进行操作或以提高的性能水平进行操作的模块。示例30包括示例27的装置,其中,所述延迟信息包括以下中的一个或多个:所述主机控制器的空闲时间值以及所述主机控制器的睡眠延迟值。示例31包括示例27的装置,还包括用于响应于不由所述一个或多个设备启动的一个或多个事务来使得进行对所述延迟信息的检测的模块。示例32包括示例27的装置,其中,所述一个或多个设备包括以下中的一个或多个:嵌入式多媒体卡(eMMC)、SATA存储设备、通用闪速存储(UFS)设备。
在各种实施例中,本文中例如参照图1-6所讨论的操作可以被实现为硬件(例如,逻辑电路)、软件、固件或其组合,其可以被提供为计算机程序产品,例如包括其上存储有指令(或软件程序)的(例如,非暂时性的)机器可读或计算机可读介质,所述指令用于对计算机进行编程以执行本文所讨论的过程。机器可读介质可以包括存储设备,诸如本文中参照图1-6所讨论的那些存储设备。
此外,这样的计算机可读介质可以被下载为计算机程序产品,其中,程序可以经由通信链路(例如,总线、调制解调器、或网络连接)以实现在载波或其他传播介质中的数据信号的方式从远程计算机(例如,服务器)被传送到请求的计算机(例如,客户端)。
说明书中提到的“一个实施例”、“实施例”、“一些实施例”表示结合实施例描述的特定特征、结构、或特性可以被包括在至少一种实现中。在说明书的各种位置中出现的短语“在一个实施例中”可以全部指代或不指代相同的实施例。
此外,在说明书和权利要求中,可以使用术语“耦合”和“连接”,以及其衍生词。在一些实施例中,“连接”可以用于指示两个或更多的元件彼此直接的物理或电气接触。然而,“耦合”还可以表示两个或更多的元件直接的物理或电气接触。然而,“耦合”还可以指两个或更多的元件彼此不直接物理或电气接触,但是仍然可以相互协作或交互。
因此,尽管已经以特定于结构特征和/或方法行为的语言描述了实施例,但是应该理解的是,所主张的主题并不限于所描述的具体特征或行为。而是,具体特征和行为被公开作为实现所主张的主题的样本形式。

Claims (20)

1.一种装置,包括:
逻辑,所述逻辑至少部分地包括硬件逻辑,所述逻辑检测与一个或多个设备相对应的、来自主机控制器的延迟信息,所述主机控制器控制对所述一个或多个设备的访问;
其中,所述逻辑响应于由所述主机控制器启动的一个或多个事务来检测所述延迟信息。
2.根据权利要求1所述的装置,其中,所述逻辑将检测到的延迟信息发送到以下中的一个或多个:功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序。
3.根据权利要求2所述的装置,其中,所述功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序中的至少一个接收发送的延迟信息,并且利用接收的信息来确定以提高的能量效率进行操作或以提高的性能水平进行操作。
4.根据权利要求1所述的装置,其中,所述延迟信息包括以下中的一个或多个:所述主机控制器的空闲时间值以及所述主机控制器的睡眠延迟值。
5.根据权利要求1所述的装置,其中,所述逻辑响应于没有由所述一个或多个设备启动的所述一个或多个事务来检测所述延迟信息。
6.根据权利要求1所述的装置,其中,所述一个或多个设备包括以下中的一个或多个:嵌入式多媒体卡(eMMC)、串行高级技术附件(SATA)存储设备,以及通用闪速存储(UFS)设备。
7.根据权利要求1所述的装置,包括以下逻辑:所述逻辑在只要所述主机控制器保持非活动时,渐进地循环通过延迟信息以确定多个延迟值。
8.根据权利要求1所述的装置,其中,所述逻辑、一个或多个处理器核心以及存储器位于单个集成电路管芯上。
9.一种方法,包括:
检测与一个或多个设备相对应的、来自主机控制器的延迟信息,所述主机控制器控制对所述一个或多个设备的访问;
其中,对所述延迟信息的检测响应于由所述主机控制器启动的一个或多个事务而被执行。
10.根据权利要求9所述的方法,还包括将检测的延迟值发送到以下中的一个或多个:功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序。
11.根据权利要求10所述的方法,还包括:所述功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序中的至少一个接收发送的延迟信息,并且利用接收的信息来确定以提高的能量效率进行操作或以提高的性能水平进行操作。
12.一种系统,包括:
处理器,所述处理器包括逻辑,所述逻辑至少部分地包括硬件逻辑,其中,所述逻辑检测与一个或多个设备相对应的、来自主机控制器的延迟信息,所述主机控制器控制对所述一个或多个设备的访问;
其中,所述逻辑响应于由所述主机控制器启动的一个或多个事务来检测所述延迟信息。
13.根据权利要求12所述的系统,其中,所述逻辑将检测到的延迟信息发送到以下中的一个或多个:功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序。
14.根据权利要求13所述的系统,其中,所述功率管理逻辑、操作系统、设备驱动程序、以及软件应用程序中的至少一个接收发送的延迟信息,并且利用接收的信息来确定以提高的能量效率进行操作或以提高的性能水平进行操作。
15.根据权利要求12所述的系统,其中,所述延迟信息包括以下中的一个或多个:所述主机控制器的空闲时间值以及所述主机控制器的睡眠延迟值。
16.根据权利要求12所述的系统,其中,所述逻辑响应于没有由所述一个或多个设备启动的所述一个或多个事务来检测所述延迟信息。
17.根据权利要求12所述的系统,其中,所述一个或多个设备包括以下中的一个或多个:嵌入式多媒体卡(eMMC)、SATA存储设备、以及通用闪速存储(UFS)设备。
18.根据权利要求12所述的系统,其中,所述逻辑、一个或多个处理器核心以及存储器位于单个集成电路管芯上。
19.根据权利要求12所述的系统,包括逻辑,所述逻辑只要所述主机控制器保持非活动时,渐进地循环通过延迟信息以确定多个延迟值。
20.一种包括一个或多个指令的计算机可读介质,当所述一个或多个指令在处理器上被执行时,配置所述处理器执行权利要求9-11中的任一项所述的一个或多个操作。
CN201480030565.2A 2013-06-28 2014-06-26 通用的基于主机的控制器延迟方法和装置 Active CN105247498B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/931,807 US9541987B2 (en) 2013-06-28 2013-06-28 Generic host-based controller latency method and appartus
US13/931,807 2013-06-28
PCT/US2014/044250 WO2014210258A1 (en) 2013-06-28 2014-06-26 Generic host-based controller latency method and apparatus

Publications (2)

Publication Number Publication Date
CN105247498A true CN105247498A (zh) 2016-01-13
CN105247498B CN105247498B (zh) 2018-08-10

Family

ID=52116896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480030565.2A Active CN105247498B (zh) 2013-06-28 2014-06-26 通用的基于主机的控制器延迟方法和装置

Country Status (6)

Country Link
US (1) US9541987B2 (zh)
JP (1) JP6333971B2 (zh)
KR (1) KR101707096B1 (zh)
CN (1) CN105247498B (zh)
TW (1) TWI564684B (zh)
WO (1) WO2014210258A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9541987B2 (en) 2013-06-28 2017-01-10 Intel Corporation Generic host-based controller latency method and appartus
KR102094902B1 (ko) * 2013-07-08 2020-03-30 삼성전자주식회사 액티브 상태에서 인터페이스 모드를 전환하는 스토리지 시스템 및 ufs 시스템
US10025370B2 (en) * 2013-08-13 2018-07-17 Apple Inc. Overriding latency tolerance reporting values in components of computer systems
JP6769789B2 (ja) * 2016-09-07 2020-10-14 シャープ株式会社 メモリ制御装置、電子機器、メモリの制御方法、および制御プログラム
US10545664B2 (en) 2017-04-11 2020-01-28 Samsung Electronics Co., Ltd. System and method for identifying SSDs with lowest tail latencies
US11204939B2 (en) * 2018-07-18 2021-12-21 Bank Of America Corporation Data manifest as a blockchain service
TWI784120B (zh) * 2019-01-17 2022-11-21 韓商愛思開海力士有限公司 用於儲存裝置之記憶體控制器、儲存裝置、儲存裝置之控制方法以及記錄媒體
US11552892B2 (en) * 2019-08-30 2023-01-10 Ati Technologies Ulc Dynamic control of latency tolerance reporting values

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160254A1 (en) * 2003-12-19 2005-07-21 Infineon Technologies Ag Multithread processor architecture for triggered thread switching without any clock cycle loss, without any switching program instruction, and without extending the program instruction format
CN1902566A (zh) * 2003-12-30 2007-01-24 英特尔公司 用于计算机系统中的功率管理的方法和设备
CN101615067A (zh) * 2008-06-26 2009-12-30 英特尔公司 经协调的链路功率管理
CN101630287A (zh) * 2008-06-30 2010-01-20 英特尔公司 基于性能的高速缓存管理
US20100167513A1 (en) * 2008-12-30 2010-07-01 Texas Instruments Incorporated Dual alignment strategy for optimizing contact layer alignment
CN101963837A (zh) * 2008-12-31 2011-02-02 英特尔公司 用于功率管理的空闲持续时间报告

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10206875A1 (de) 2002-02-18 2003-08-28 Philips Intellectual Property Verfahren und Schaltungsanordnung zum Überwachen und Verwalten des Datenverkehrs in einem Kommunikationssystem mit mehreren Kommunikationsknoten
KR101114984B1 (ko) 2005-03-14 2012-03-06 삼성전자주식회사 가변적인 웨이크업 레이턴시를 가진 프로세싱 장치에서전원 관리 방법 및 장치
US7984314B2 (en) 2007-05-14 2011-07-19 Intel Corporation Power management of low power link states
US8176341B2 (en) 2008-03-31 2012-05-08 Intel Corporation Platform power management based on latency guidance
US7895370B2 (en) * 2008-12-31 2011-02-22 Intel Corporation Method and apparatus to defer USB transactions
CN103109248B (zh) * 2010-05-12 2016-03-23 松下知识产权经营株式会社 中继器以及芯片电路
US8862917B2 (en) * 2011-09-19 2014-10-14 Qualcomm Incorporated Dynamic sleep for multicore computing devices
US9541987B2 (en) 2013-06-28 2017-01-10 Intel Corporation Generic host-based controller latency method and appartus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160254A1 (en) * 2003-12-19 2005-07-21 Infineon Technologies Ag Multithread processor architecture for triggered thread switching without any clock cycle loss, without any switching program instruction, and without extending the program instruction format
CN1902566A (zh) * 2003-12-30 2007-01-24 英特尔公司 用于计算机系统中的功率管理的方法和设备
CN101615067A (zh) * 2008-06-26 2009-12-30 英特尔公司 经协调的链路功率管理
CN101630287A (zh) * 2008-06-30 2010-01-20 英特尔公司 基于性能的高速缓存管理
US20100167513A1 (en) * 2008-12-30 2010-07-01 Texas Instruments Incorporated Dual alignment strategy for optimizing contact layer alignment
CN101963837A (zh) * 2008-12-31 2011-02-02 英特尔公司 用于功率管理的空闲持续时间报告

Also Published As

Publication number Publication date
US9541987B2 (en) 2017-01-10
TWI564684B (zh) 2017-01-01
JP6333971B2 (ja) 2018-05-30
TW201516592A (zh) 2015-05-01
US20150006931A1 (en) 2015-01-01
WO2014210258A1 (en) 2014-12-31
KR101707096B1 (ko) 2017-02-15
KR20150145241A (ko) 2015-12-29
CN105247498B (zh) 2018-08-10
JP2016523413A (ja) 2016-08-08

Similar Documents

Publication Publication Date Title
CN105247498A (zh) 通用的基于主机的控制器延迟方法和装置
US8782456B2 (en) Dynamic and idle power reduction sequence using recombinant clock and power gating
US9696771B2 (en) Methods and systems for operating multi-core processors
RU2624563C2 (ru) Оперативное регулирование производительности твердотельных запоминающих устройств
US8607080B2 (en) Optimizing voltage on a power plane using a host control unit to control a networked voltage regulation module array
US10739836B2 (en) System, apparatus and method for handshaking protocol for low power state transitions
CN104063290A (zh) 处理超时的系统、方法和装置
CN102566739A (zh) 多核处理器系统及其动态电源管理方法与控制装置
CN110399034B (zh) 一种SoC系统的功耗优化方法及终端
CN104025066A (zh) 用于能量高效计算的异构存储器晶片堆叠
CN104115091A (zh) 多层级cpu高电流保护
EP2729863B1 (en) A method for controlling transaction exchanges between two integrated circuits
CN105492997A (zh) 优化服务器/机架系统的启动时的峰值功耗
CN105426335A (zh) 集成时钟差分缓冲
CN108292157A (zh) 处理器核能量管理
CN104798015A (zh) 基于用户存在检测的可变触摸屏扫描速率
CN104881105A (zh) 电子装置
US10620687B2 (en) Hybrid power management approach
JP2016513322A (ja) アイドル状態の間の電源ユニットによる電力消費の制御
US7529953B1 (en) Communication bus power state management
CN104076892A (zh) 一种电源管理方法及电源管理系统
US20140122799A1 (en) Storage device and power saving method thereof
US20200065274A1 (en) Always-on ibi handling
CN104160359A (zh) 基于优先级的智能平台无源热管理
US20230009970A1 (en) In-band communication interface power management fencing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant