CN102375788B - 为具有非易失性存储器的***动态地分配功率预算的方法及装置 - Google Patents

为具有非易失性存储器的***动态地分配功率预算的方法及装置 Download PDF

Info

Publication number
CN102375788B
CN102375788B CN201110278532.8A CN201110278532A CN102375788B CN 102375788 B CN102375788 B CN 102375788B CN 201110278532 A CN201110278532 A CN 201110278532A CN 102375788 B CN102375788 B CN 102375788B
Authority
CN
China
Prior art keywords
power
nvm
processor
power budget
budget
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.)
Active
Application number
CN201110278532.8A
Other languages
English (en)
Other versions
CN102375788A (zh
Inventor
N·J·瓦克拉特
K·赫曼
M·拜奥姆
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN102375788A publication Critical patent/CN102375788A/zh
Application granted granted Critical
Publication of CN102375788B publication Critical patent/CN102375788B/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
    • 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/263Arrangements for using multiple switchable power supplies, e.g. battery and AC
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • 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/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Power Sources (AREA)
  • Charge And Discharge Circuits For Batteries Or The Like (AREA)

Abstract

本发明涉及用于为具有非易失性存储器的***动态地分配功率的***和方法。***的功率预算管理器可以确定可用于***的总功率量是否低于预定的功率电平(例如,低功率状态)。在***在低功率状态下操作的同时,功率预算管理器可以在***的多个组件之间动态地分配功率(例如,处理器和非易失性存储器)。

Description

为具有非易失性存储器的***动态地分配功率预算的方法及装置
技术领域
本申请可以涉及基于***的一个或多个功率状态为具有非易失性存储器的***动态地分配功率。
背景技术
NAND闪存,以及其它类型的非易失性存储器(“NVM”),通常用作大容量存储器。例如,电子设备(诸如便携式媒体播放器或者蜂窝电话)通常包括未写入数据的闪存或者是存储音乐、视频、和其它媒体的闪光卡。
电子设备可以使用通过诸如电池的内部电源提供的功率来操作,这需要一次又一次地充电来补充内部电源。内部电源可以通过耦合该电子设备到电源充电设备(例如,通过物理地连接电源充电设备的端子到该电子设备的端子)被再充电。然而当电源充电设备第一次被耦合到该电子设备时,可能会存在一个时间间隔,在此期间电子设备会从该电源充电设备仅仅吸收有限量的功率。在该时间间隔期间,电子设备的某些组件或这些组件的组合不能够运行,或在该有限功率预算下操作时可能不能完全运行。
发明内容
公开了用于基于一个或多个功率状态为***动态地分配功率的***和方法。该***可以包括电子设备(例如,便携式媒体播放器或蜂窝电话),该电子设备可以包括处理器、非易失性存储器(″NVM″)、以及功率预算管理器。
该NVM可以是任何合适类型的存储器,例如,闪存(例如,NAND闪存)。该NVM可以包括一个或多个NVM管芯和能够访问并操作这些管芯的相关电路。在一些实施例中,该NVM还可以包括其自身的控制器以及其它组件,例如纠错编码模块。
功率预算管理器(例如,在设备处理器或在NVM上执行)可以监控可得 到的功率量并将功率预算动态地分配给每个处理器NVM,以及***中的任何其它组件或者是处理器和/或NVM中的组件。例如,在一个实施例中,功率预算管理器可以检测到***在低功率状态下操作。低功率状态,如这里所定义的,是当***正从外部电源充电源接收较小量的功率(例如,100mA的预定功率电平)以及该***的内部电源(例如,电池)不能为该电子设备供电的状态。这样的低功率状态可能例如出现在电子设备和外部电源充电设备之间的通用串行总(“USB”)协议握手序列期间。响应于检测低功率状态,功率预算管理器可以将相应的功率预算动态地分配给***的一个或多个组件中的每个组件。例如,功率预算管理器可以将功率预算动态地分配给处理器和NVM中的每一个使得处理器和NVM可以共同地操作而不超出在低功率状态期间可得到的功率。
用于相应组件(例如,处理器或NVM)的功率预算可以通过使用任何数量的技术而被加强。例如,在一个实施例中,功率预算管理器可以使处理器停止,这防止处理器操作,借此保存功率以坚持功率预算。可以通过许多技术使处理器停止,例如时钟门控(例如,通过禁用处理器电路的一个或多个部分)。作为另一个例子,使其时钟速率减速来停止处理器(例如,将其时钟速率降低到预定水平)。作为另一个例子,功率预算管理器可以通过例如将功率细分给NVM的一个或多个组件来控制NVM的功耗。
功率预算管理器还可以利用任何适当的技术中断处理器的停止。例如,功率预算管理器可以响应于接收NVM控制器发出的一个或多个标志来中断处理器的停止,其中一个或多个标志可以指示一个或多个存储操作何时已经完成。作为另一个例子,功率预算管理器可以响应于从NVM控制器接收中断请求来中断处理器的停止。
在一些实施例中,如果功率预算管理器检测到当前的功率电平超过了低功率状态的功率电平,则功率预算管理器会撤销分配给***的一个或多个组件中的每个组件的相应功率预算。在撤销相应功率预算以后,***的组件可以从外部电源充电设备吸取足够需要的电流。在其它的实施例中,功率预算管理器可以监控***的各个组件的功耗并相应分配功率。
附图说明
本发明的上述及其它方面和优点结合附图基于下面详细描述的考虑将变得 更加明显,其中贯穿全文相同的附图标记表示相同的部分,其中:
图1和2示出了根据本发明的各个实施例配置的电子设备的示意图;
图3示出了根据本发明的各个实施例配置的示例性的电子***的示意图;
图4示出了根据本发明的各个实施例用于电子设备的组件的示例性功率预算分配的图表;
图5示出了根据本发明的各个实施例用于动态功率分配的示例性过程的流程图;
图6示出了根据本发明的各个实施例用于分配***中的功率预算的示例性过程的流程图。
具体实施方式
图1是电子设备100的示例图。在一些实施例中,电子设备100可以是或可以包括便携式媒体播放器(例如,通过加拿大Cupertino的Apple公司可得到的iPodTM)、蜂窝电话(例如,通过Apple公司可得到的iPhoneTM)、袖珍的个人计算机、个人数字助理(“PDA”)、台式计算机、膝上型计算机、以及任何其它合适类型的电子设备。
电子设备100可以包括片上***(“SoC”)110和非易失性存储器(″NVM″)120。NVM120可以包括基于浮置栅极或电荷捕捉技术的NAND闪存、NOR闪存、可擦可编程序只读存储器(″EPROM″)、电可擦可编程序只读存储器(″EEPROM″)、铁电存储器(“FRAM”)、磁阻式随机存储器(″MRAM″)、任何其它已知的或未来类型的非易失性存储技术、或其任何组合。
在一些实施例中,NVM 120可以包括NVM控制器122,用于利用内部芯片选择信号通过内部通道(例如,NVM控制器122和NVM管芯124之间的一个或多个数据路径)访问并管理NVM管芯124。在一些情况下,NVM控制器122可以选择性地启动NVM管芯124中的任何管芯。例如,响应于接收来自设备处理器112的请求(例如,读取、编程、或擦除请求)来访问NVM管芯124的特定管芯,NVM控制器122可以选择性地启动设备处理器112所请求的管芯。
NVM控制器122可以执行存储管理功能,例如平均抹写、坏损区块管理、以及逻辑到物理转换操作。NVM 120可以包括纠错编码(“ECC”)引擎126, 用于检测和校正数据错误(例如,翻转位)。ECC引擎126用虚线框示出来表示它的功能可以在不同位置被执行。在一些实施例中,ECC引擎126可以被实施为NVM控制器122中的硬件组件或被实施为由NVM控制器122执行的软件组件。在一些实施例中,ECC引擎126可以是NVM 120中的独立模块。
可以理解由NVM控制器122执行的一个或多个功能可以由SoC 110执行。因此,在一些实施例中,NVM控制器122可以被包括为SoC 110的一部分。在这样的实施例中,NVM 120可以包括管芯124和关联电路(例如,充电泵、行和列解码器等),但是不包括NVM控制器。
NVM管芯124可以被安排在“块”内,它是最小的擦除单元,并且进一步被安排在“页”内,它是最小的可编程和可读单元。每个管芯124可以包括多个块,其可以被配置在一个或多个平面(或存储体)内。来自每个平面或管芯的块实质上可以彼此链接以形成“超级块”。NVM管芯124的每个存储位置(例如,页或块)可以利用物理地址(例如,物理页地址或物理块地址)被寻址。
图1与后面的图以及各个公开的实施例一样,有时可以按照使用闪存技术来描述。然而,这不意味着是限制性的,作为代替可以执行任何其它类型的非易失性存储器。电子设备100可以例如包括其它组件,例如电源或任何用户输入或输出组件,其没有在图1中被绘出以简化图形。
SoC 110可以包括设备处理器112、存储器114、以及NVM接口118。设备处理器112可以控制SoC 110的一般操作和功能以及设备100或SoC 110的其它组件。例如,响应于用户输入和/或应用或操作***的指令,设备处理器112可以发出读取或写入命令到NVM接口118以获取来自NVM 120中的数据或将数据存储到NVM 120中。也就是,NVM接口118可以启动NVM 120和设备处理器112之间的通信。为了简化,设备处理器112可以请求存储或检索的数据可以被称为“用户数据”,虽然该数据不是直接地与用户或用户应用相关联。此外,该用户数据可以是由设备处理器112产生或者获取的任何合适的数字信息序列(例如,经由应用或操作***)。
设备处理器112可以包括任何以下的组合,硬件、软件、和固件、以及操作为驱动电子设备100的功能的任何组件、电路、或逻辑装置。例如,设备处理器112可以包括一个或多个处理器,其在NVM 120或存储器114中存储的软件/固件的控制下来操作。
在一些实施例中,设备处理器112可以包括功率预算管理器128,其可以动态地分配功率预算给电子设备100的一个或多个组件。该一个或多个组件可以包括,例如,设备处理器112、NVM 120、NVM接口118、以及电子设备100的任何其它合适的组件。在一些实施例中,可以基于可用于电子设备100或可用于SoC 110和NVM 120的总功率量来分配该功率预算。尽管被示为在图1中的设备处理器112上实施功率预算管理器128,但本领域技术人员将理解也可以另外或替换地在NVM控制器122上实施功率预算管理器128。将结合图3-5更详细地讨论动态的功率分配。
存储器114可以包括任何合适类型的易失性或非易失性存储器,例如动态随机存取存储器(“DRAM”)、同步动态随机存取存储器(“SDRAM”)、双倍数据速率(“DDR”)RAM、缓冲存储器、只读存储器(“ROM”)、或其任何组合。存储器114可以包括数据源,其可临时性地存储用于编程到NVM 120或从NVM 120读取的用户数据。在一些实施例中,存储器114可以用作为设备处理器112的一部分执行的任何处理器的主存储器。
NVM接口118可以包括硬件、软件、和/或固件的任何适当的组合,其被配置为用作设备处理器112和NVM 120之间的接口或驱动器。对于NVM接口118中包括的任何软件模块,相应的程序代码可以被存储在NVM 120或存储器114中。
NVM接口118可以执行各种不同的功能,其允许设备处理器112访问NVM120并管理NVM120的存储位置(例如,页、块、超级块、集成电路)以及存储在其中的数据(例如,用户数据)。例如,NVM接口118可以中断来自设备处理器112的读取或写入命令,执行平均抹写,以及产生与NVM 120的总线协议兼容的读取和编程指令。
当NVM接口118和设备处理器112被显示为单独的模块的同时,这是指仅是为了简化本发明的实施例的描述。应当理解的是,这些模块可以共享硬件组件、软件组件、或二者。例如,实施为设备处理器112的一部分的处理器可以执行用于NVM接口118的基于软件的存储器驱动器。相应地,设备处理器112和NVM接口118的一部分有时可以被总称为“处理器”。
图1示出了NVM 120可以具有其自己的控制器(例如,NVM控制器122)的电子设备。在一些实施例中,电子设备100可以包括目标设备,例如闪存或 SD卡,它包括NVM 120和一些或全部NVM接口118(例如,下面讨论的转换层)。在这些实施例中,SoC 110或设备处理器112可以用作用于目标设备的主控制器。例如,作为主控制器,SoC 110可以发出到目标设备的读取和写入请求。
图2是电子设备200的示意图,其更详细地表明了根据一个或多个实施例的电子设备100(图1)的固件、软件和/或硬件组件中的一些。电子设备200可以具有与图1中所示的设备100相关的上述任何特征和功能,反之亦然。电子设备200可以包括文件***210、NVM驱动器212、NVM总线控制器216、以及NVM220。在一些实施例中,文件***210和NVM驱动器212可以是软件或固件模块,以及NVM总线控制器216和NVM 220可以是硬件模块。相应地,在这些实施例中,NVM驱动器212可以表示NVM接口218的软件或固件方面,以及NVM总线控制器216可以表示NVM接口218的硬件方面。
文件***210可以包括任何合适类型的文件***并且可以是电子设备200的操作***的一部分(例如,图1的设备处理器112的一部分)。在一些实施例中,文件***210可以包括快闪文件***,它可以提供到页面的物理映射的逻辑。文件***210可以执行下面讨论的NVM驱动器212中的一些或所有功能,因此文件***210和NVM驱动器212可以是或可以不是单独的模块。
文件***210可以为应用和/或操作***管理文件和文件夹结构。文件***210可以在电子设备200上运行的应用或操作***的控制下操作,并且可以在应用或操作***请求从NVM 220读取的数据或存储在NVM 220中的信息时提供到NVM驱动器212的写入和读取命令。与每个读取或写入命令一起,文件***210可以提供逻辑地址以表示用户数据应该在哪里被读取或写入,例如具有页偏移的逻辑块地址或逻辑页地址。
文件***210可以提供到不直接与NVM220兼容的NVM驱动器212的读取和写入请求。例如,逻辑地址可以使用基于硬盘驱动器的***的典型的规范或协议。基于硬盘驱动器的***,不像闪存,可以重写存储位置而不需要首先执行块擦除。此外,硬盘驱动器可能不需要平均抹写来增加设备的寿命或专门基于闪存设备的其它技术。因此,NVM接口218可以执行任何功能,它们是存储特殊化、厂商特殊化、或两者以便以合适NVM 220的方式用来处理文件***请求并执行其它管理功能。
NVM驱动器212可以包括转换层214。在一些实施例中,转换层214可以是或包含闪存转换层(“FTL”)。在写入操作时,转换层214可以将所提供的逻辑地址映射到NVM 220上空闲的、擦除的物理位置。在读取操作时,转换层214可以使用所提供的逻辑地址以确定被请求的数据所存储的物理地址。因为每个NVM可以根据NVM的厂商或尺寸具有不同的布局,这种映射操作可以是存储和/或厂商特殊化。转换层214可以执行除了逻辑到物理地址映射之外的任何其它合适的功能。例如,转换层214可以执行任何其它功能,它可以是典型的闪存转换层,例如无用单元收集和平均抹写。
NVM驱动器212可以与NVM总线控制器216接口以完成NVM访问请求(例如,编程、读取、和/或擦除请求)。总线控制器216可以用作与NVM220接口的硬件,并且可以利用NVM220的其它规范、总线协议、和/或数据速率与NVM220通信。
NVM接口218可以基于存储器管理数据来管理NVM220,有时在这里被称为“元数据”。元数据可以由NVM驱动器212产生或者可以由NVM驱动器212控制下操作的模块产生。例如,元数据可以包括任何用于管理逻辑和物理地址、坏损块管理、平均抹写、“ECC”数据,或其任何组合之间映射的信息。元数据可以包括连同用户数据一起由文件***210提供的数据,例如逻辑地址。因此,通常来说,“元数据”可以指任何关于用户数据或与用户数据相关的信息或者通常用来管理操作以及非易失性存储器的存储位置。
NVM接口218可以被配置为在NVM220中存储元数据。在一些实施例中,NVM接口218可以将与用户数据相关的元数据存储在用户数据被存储的相同存储位置上(例如,页)。例如,NVM接口218可以将用户数据、关联的逻辑地址、以及用户数据的ECC数据存储在NVM 220的一个或多个存储位置上。NVM接口218还可以将关于用户数据的其它类型的元数据存储在相同的存储位置中。例如,元数据可以包含表示存储的数据是否是好数据的标志。
NVM接口218可以存储逻辑地址以及关联的用户信息本身,使得在NVM220加电时或在NVM220的操作期间,电子设备200可以确定什么数据存在于指定位置。具体地,因为文件***210可以根据它的逻辑地址而不是它的物理地址引用用户数据,NVM接口218可以一起存储用户数据和逻辑地址以保持他们的关联性。例如,在NVM接口218直接映射逻辑扇区到物理页的实施例 中,NVM接口218可以存储NVM的页面中的逻辑到物理映射,像信息本身一样。
现在选择参考图3,示出了图示性电子***的示意图。电子***300可以包括电子设备302以及外部电源充电源310。在一些实施例中,电子设备302可以与图1的电子设备100和/或图2的电子设备200相同或本质上相似。
例如,电子设备302可以包括主***或处理器304(例如,图1的SoC 110)以及NVM306(例如,图1的NVM 120或图2的NVM220)。在一些情况下,电子设备302可以包括电池308,该电池在被充电到至少预定电平时可以给电子设备302供电。然而,当电子设备302已经保持不充电达一段延长的时间段时,电池308最终可以充分耗尽基本上其所有的电荷。在这种状态下,电池308可能不能为电子设备302以及一个或多个其组件供电。
在一些实施例中,电子设备302可以经由一个或多个电源连接336通过将电子设备302耦合到外部电源充电设备310而被再充电。外部电源充电设备310可以包括任何合适的电子充电设备或能够为电子设备302供电的***。例如,外部电源充电设备310可以包括膝上型计算机、电源、或插接站。此外,电源连接336可以包括,例如,通用串行总线(“USB”)连接、USB2.0连接、串行连接、并行连接、FireWire连接、任何其它合适的有线或无线电源连接、和/或其任何组合。
但是,当电子设备302经由电源连接336首次被耦合到外部电源充电设备310时,从外部电源充电设备310吸取的电流量可能是有限的。例如,如果电子设备302利用USB连接被耦合到外部电源充电设备310,则电子设备302会在可以从外部电源充电设备310吸取最大量的功率(例如,500mAmps、1Amp,或2Amps的最大电流)之前需要首次完成与外部电源充电设备310的握手阶段。该握手阶段可以是电子设备302和外部电源充电设备310之间的协商过程,以确定电子设备302可以从电源充电设备310吸取多少电流。在握手阶段期间,提供有限量的功率,但是在握手完成之后,能提供“商定”的功率电平。
作为结果,在完成握手阶段之前,电子设备302仅仅会从外部电源充电设备310吸取有限量的功率(例如,在正常操作期间的100mAmps的最大电流与500mAmps的最大电流)。因此,给定有限功率预算,处理器304可能需要动态地在其不同组件(例如,NVM和处理器)之间分配功率以确保提供足够的 功率以启动选择的组件的操作。 
本领域技术人员会想到除了动态地分配功率给处理器304和NVM306以外,或作为动态地分配功率给处理器304和NVM306的替代,功率可以被动态地分配给电子设备302的任何其它组件。本领域技术人员还会想到尽管该论述是直接针对起于USB协议的低功率状态,但电子设备302可以通过在其不同组件之间动态地分配功率来响应任何低功率方案。因此,低功率状态可以是外部电源(例如,电池308)不能将足够的功率提供给电子设备302的任何状态,以便电子设备302能够以其正常操作模式来操作(例如,播放音乐或方便蜂窝电话呼叫)。与此同时,外部电源充电设备(例如,外部电源充电设备310)还可以将较低量的功率(例如,100mA的预定功率电平)提供给电子设备302。
图4示出了用于电子设备(例如,图1的电子设备100、图2的电子设备200、或图3的电子设备302)的组件的示例性功率预算分配400的图表。本领域技术人员会想到时间间隔t0到t5不是按比例被绘出,并且因此,在一些情况下,一些时间间隔可能实际上会比其它时间间隔更长或更短。
在时间t0,功率预算管理器(例如,图1的功率预算管理器128)可以确定存储器***在低功率状态下操作。作为结果,功率预算管理器能够分配功率预算402给处理器(例如,图1的SoC 110或图3的处理器304)以及分配功率预算404给NVM(例如,图1的NVM 120、图2的NVM220、或图3的NVM306)。功率预算402和404的组合可以等于或小于功率电平420。在时间t0和t5之间,功率电平420可以是在握手阶段期间提供的功率电平(例如,100mAmp),并且在时间t5之后,功率电平422可以是握手阶段完成之后期间提供的功率电平(例如,500mAmp、1Amp、或2Amps)。另外,因为处理器可能初始需要使用较多的功率(例如,用于发出一个或多个请求的额外的功率),所以功率预算402可能高于功率预算404。
接着,在时间t0和时间t1之间,处理器可以发出请求(例如,读取、擦除、或编程请求)来访问NVM。在一个实施例中,处理器可以发出一个用于NVM的请求以载入用于***启动的一个或多个程序(例如,操作***)。
在已经发出请求之后,在时间t1,功率预算管理器可以分别将功率预算406和408分配给处理器和NVM。功率预算406和408的组合可以等于或小于功率电平420。
在一些情况下,较低量的功率可以在时间t1被分配给处理器,因为该处理器不需要在发出请求之后执行任何其它重要的操作。因此,功率预算406可能低于功率预算402。
相反,因为NVM可以在接收到来自处理器的请求(例如,载入用于***启动的一个或多个程序)之后执行大部分***操作,所以该NVM可以需要较处理器而言额外的功率。因此,功率预算408可能高于功率预算406。
在一些实施例中,为了使处理器在时间t1和t2之间满足功率预算406,该功率预算管理器可以停止该处理器。例如,该功率预算管理器能够通过时钟门控处理器来使处理器(例如,通过禁用该处理器电路的一个或多个部分)停止。作为另一个例子,功率预算管理器能够通过使该处理器的时钟速率减速(例如,将脉冲速率降低到最低水平)来使该处理器停止。
接着,在时间t2,功率预算管理器可以响应于接收中断请求来中断该处理器的停止。例如,功率预算管理器可以从电子***(例如,图3的电子***300)的一个或多个组件接收中断请求。在一些实施例中,功率预算管理器可能已经从NVM接收到中断请求。例如,NVM控制器(例如,图1的NVM控制器122)能够提供中断请求给该处理器,其指令处理器以较高功率电平操作。作为另一个例子,NVM控制器可以发出一个或多个标志,该一个或多个标志能够指示一个或多个存储器操作何时已经完成。
如果功率预算管理器确定已经接收到中断停止该处理器的请求,则该功率预算管理器会分别分配功率预算402和404给处理器和NVM。因此,在一些实施例中,在时间t2和时间t3之间分配的功率预算与在时间t0和t2之间分配的功率预算相同或相似。
较大量的功率会在时间t2被分配给处理器因为该处理器可能需要额外的功率以便继续执行***操作(例如,执行一个或多个***应用)。相应地,因为处理器可以在停止已经被中断之后执行大部分***操作,所以功率预算402可能高于功率预算404。
本领域技术人员会理解功率预算分配400中示出的功率预算只不过是示例性的,并且分配给***的每个组件的实际功率预算可以依赖于一个或多个因素。该一个或多个因素可以包括,例如,***的当前状态、***的一个或多个未来的状态、可得到的总功率、处理器发出的请求类型(例如,读取、编程、或擦 除请求)、任何其它合适的因素、和/或其任何组合。
因此,例如,在时间t3和时间t4之间,功率预算管理器可以将几乎所有的可得到的功率分配给处理器(例如,功率预算410),它可以使得处理器能够执行额外的操作。此外,在时间t4和时间t5之间,功率预算管理器可以将几平所有可得到的功率分配给NVM(例如,功率预算412),它可以使得NVM能够执行额外的操作。
接着,在时间t5,握手操作完成并且功率预算管理器不再限于低功率状态下的操作。在这一点上,功率预算管理器可以根据新的功率电平422分配功率。
现在参考图5和6,根据本发明的各个实施例示出的示例性过程的流程图。这些过程可以由***(例如,图1的***100)中的一个或多个组件来执行。例如,功率预算管理器(例如,图1的功率预算管理器128)可以执行这些过程中的一个或多个步骤。
首先回到图5,示出用于动态的功率分配的过程500。过程500可以在步骤502开始,其中功率预算管理器可以是监控***(例如,图3的电子设备302)的可得到的功率量。
在步骤504,功率预算管理器可以确定可用于***(例如,图3的电子设备302)的功率总量是否低于预定的功率电平。如果,在步骤504,功率预算管理器确定可用于***的总功率量不低于预定的功率电平,则过程500可以在步骤506结束。
如果,在步骤504,功率预算管理器改为确定可用于***的总功率量低于预定功率电平,则过程500会进行到步骤508。例如,功率预算管理器可能已经检测到***在低功率状态下操作。在低功率状态期间,电子设备(例如,图1的电子设备100、图2的电子设备200、和/或图3的电子设备302)的电池(例如,图3的电池308)不能给***供电。与此同时,电子设备还可以从外部电源充电设备(例如,图3的外部电源充电设备310)接收较低量的功率(例如,100mA的预定功率电平)。例如,功率预算管理器可以通过检测电子设备正在经由USB协议与外部电源充电设备通信来检测低功率状态,并且USB协议的握手阶段还没有完成。
接着,在步骤508,功率预算管理器可以将相应的功率预算动态地分配给***的一个或多个组件中的每个组件。在一些实施例中,功率预算管理器可以基于可得到的功率量分配相应的功率预算。例如,功率预算管理器可以将功率预算动态地分配给每个处理器(例如,图1的SoC110或图3的处理器304)以及NVM(例如,图1的NVM120、图2的NVM220、或图3的NVM306)使得处理器和NVM能够共同操作而不需要超过预定的功率电平。换句话说,功率预算管理器可以监控NVM和处理器的累计功耗,并确保该累计功耗不会超过预定的功率电平。
在其它的实施例中,功率预算管理器可以通过例如将分配给NVM的功率细分给该NVM的一个或多个组件(例如,一个或多个图1的NVM管芯124或图1的NVM控制器122)来控制NVM的功耗。在一些情况下,功率预算管理器可以基于NVM的当前操作状态在NVM的组件之间细分功率。因此,根据该NVM的哪些组件需要较大的功率,功率预算管理器会相应地将较大的功率预算分配给那些组件并且将较小的功率预算分配给剩余的组件。
在另外的实施例中,功率预算管理器可以监控该***的各个组件的功耗并相应地分配功率。因此,响应于检测到该***的特定组件是或需要消耗大部分功率,功率预算管理器可以将相应地较大的功率预算分配给那个组件。
通过动态地分配不同的功率预算给***的各个组件,功率预算管理器可以增强***的性能。例如,如果NVM当前未被使用,则功率预算管理器会将较大的功率预算分配给处理器。处理器接着会通过执行额外的操作来利用这个较大的功率预算。该性能的增强对于为存储器组件分配固定的功率阈值达预定的时间段的***而言是不能达到的。
继续到步骤510,功率预算管理器可以确定可用于***的总功率量是否高于预定功率电平。如果,在步骤510,功率预算管理器确定可用于***的总功率量不高于预定功率电平,则过程500可以返回到步骤508。在步骤508,功率预算管理器会继续将功率预算动态地分配给该***的组件。
如果,在步骤510,功率预算管理器改为确定可用于***的总功率量高于预定的功率电平,过程500会进行到步骤512。例如,功率预算管理器可能已经检测到***在大功率状态下操作。在大功率状态期间,电子设备可以从外部电源充电设备接收大量的功率(例如,500mA)。然而,电子设备的电池仍然不能提供任何功率或足以给***供电的功率。在一些实施例中,功率预算管理器可以通过检测到外部电源充电设备和电子设备之间的USB协议的握手阶段已经完成来检测大功率状态。
作为另一个例子,功率预算管理器可能已经检测到该***在全功率状态下操作。在全功率状态期间,电子设备可以从外部电源充电设备和/或电池接收全部功率。在一些实施例中,功率预算管理器能够通过检测电子设备的电池完全充电而检测到该***是在全功率状态下操作。
接着,在步骤512,功率预算管理器可以移除分配给***的一个或多个组件中的每个组件的相应功率预算。在相应功率预算已经被移除之后,***的组件能够从外部电源充电设备吸取足够需求的电流。过程500然后在步骤506结束。
现在参考图6,示出用于分配***中的功率预算的过程600(例如,图3的电子设备302)。在一些实施例中,过程600可以代表过程500的步骤508(图5)的更详细的观点。因此,该***可以在低功率状态下操作,该***从外部电源充电设备(例如,图3的外部电源充电设备310)接收功率并且内部电源(例如,图3的电池308)不能够独立地给***供电。在一些实施例中,总接收到的功率可以具有预定的功率电平(例如,100mA)。
尽管下面的讨论涉及响应于低功率状态停止处理器(例如,图1的SoC 110或图3的处理器304),但本领域技术人员会想到类似的方法也可以应用于NVM(例如,图1的NVM120、图2的NVM220、或图3的NVM306)的处理器,例如NVM控制器(例如,图1的NVM控制器122)。因此,如果低功率状态继续一段较长的时间,则该处理器和该NVM控制器会交替停止过程以便增强***的性能。
过程600可以在步骤602开始。在步骤604,功率预算管理器(例如,图1的功率预算管理器128)会将第一功率预算(例如,图4的功率预算402)分配给处理器。
接着,在步骤606,该处理器可能会发出请求(例如,读取、擦除、或编程请求)以访问NVM(例如,图1的NVM 120、图2的NVM 220、或图3的NVM306)。例如,处理器可以发出读取请求以访问存储在一个或多个NVM管芯(例如,图1的NVM管芯124)的存储位置中的数据。作为另一个例子,处理器会发出编程请求以将数据编程到一个或多个NVM管芯的存储位置。在一些实施例中,为了在低功率状态下操作的同时保存功率,处理器或NVM控 制器(例如,图1的NVM控制器122)会限制请求以在一个时间点访问仅一个NVM管芯。在其它的实施例中,当输入/输出(“I/O”)信号正在处理器和NVM控制器之间传输时会阻断其它***操作。
继续到步骤608,功率预算管理器可以将第二功率预算(例如,图4的功率预算406)分配给处理器,其中第二功率预算可能低于第一功率预算。较低量的功率可以被分配给处理器,因为在发出请求之后,处理器可能不需要执行任何其它重要的操作。
在步骤610,功率预算管理器可以将第三功率预算(例如,图4的功率预算408)分配给NVM,其中第二和第三功率预算的组合等于或小于预定的功率电平(例如,图4的功率电平420)。在一些情况下,因为NVM可以在从处理器接收请求之后执行大部分***操作,所以相对于处理器而言NVM可以请求额外的功率。因此,第三功率预算可能高于第二功率预算。
接着,在步骤612,功率预算管理器可以停止处理器以限制功耗,使得处理器不超过第二功率预算。例如,处理器可以通过时钟门控(例如,通过禁用处理器电路的一个或多个部分)停止。作为另一个例子,处理器通过使其时钟速率减速来停止(例如,将它的时钟速率降低到最小水平)。
继续到步骤614,功率预算管理器可以确定中断该处理器停止的请求是否已经被收到。例如,功率预算管理器可以从电子***(例如,图3的电子***300)中的一个或多个组件接收中断请求。例如,功率预算管理器(和/或处理器)可以从电子设备(例如,图1的电子设备100、图2的电子设备200、和/或图3的电子设备302)的组件或耦合到电子设备的外部电源充电设备(例如,图3的外部电源充电设备310)接收中断请求。
在一些实施例中,功率预算管理器可以从NVM接收中断请求。例如,NVM控制器可以提供中断请求给处理器,该中断请求指示处理器以较高的功率电平操作。在一些实施例中,中断请求可以被传输以便使得能够在处理器和NVM控制器之间传输I/O信号。作为另一个例子,NVM控制器可以发出一个或多个标志,其中一个或多个标志可以表示一个或多个存储操作何时已经完成。
如果,在步骤614,功率预算管理器确定还没有接收到中断该停止的请求,过程600可以返回到步骤612。在步骤612,功率预算管理器可以继续使处理器停止。
如果,在步骤614,功率预算管理器改为确定已经接收到中断该停止的请求,则过程600可以进行到步骤616。
在步骤616,功率预算管理器可以将第一功率预算分配给处理器。在一些实施例中,可以分配第一功率预算因为处理器可以需要大量的功率以便继续执行***操作(例如,传输I/O信号到NVM控制器或从NVM 控制器传输I/O信号)。
接着,在步骤618,功率预算管理器可以将第四功率预算(例如,图4的功率预算404)分配给NVM,其中第一和第四功率预算的组合等于或小于预定功率电平。在一些情况下,因为处理器在已经中断停止之后执行大部分***操作,所以相对于NVM而言处理器可能需要额外的功率。因此,第一功率预算可能高于第四功率预算。过程600接着在步骤620结束。
要理解的是,图5和图6的过程500和600分别仅仅是示例性的。在不背离本发明的范围的情况下,可以删除、修改、或组合任何步骤,并且可以添加任何额外的步骤。
在本公开的一个实施例中,提供了一种用于动态管理包括处理器和非易失性存储器(“NVM”)的***中的功率的方法,该方法包括:在低功率状态下操作该***,其中该***从外部电源充电设备接收功率,接收到的功率在***和外部电源充电设备之间的握手阶段期间具有预定的功率电平;执行该握手阶段;并且动态地分配功率预算给处理器和NVM中的每一个使得在不超过该预定的功率电平的情况下处理器和NVM共同操作。
根据本实施例的一个方面,***的电池不能为***独立提供足够的功率使得***可以在正常模式下操作。
根据本实施例的一个方面,动态地分配功率预算进一步包括:分配第一功率预算给处理器;从该处理器发出访问NVM的请求;分配第二功率预算给处理器,其中第二功率预算低于第一功率预算;以及
使处理器停止来限制处理器的功耗使得该功耗不会超过该第二功率预算。
根据本实施例的一个方面,发出请求包括同时限制访问NVM的所有可得到的管芯的子集合的请求,该子集合包括少于能够同时被访问的所有管芯的多个管芯。
根据本实施例的一个方面,该停止进一步包括时钟门控处理器。
根据本实施例的一个方面,该停止进一步包括使该处理器的时钟速率减速。
根据本实施例的一个方面,该方法进一步包括将第三功率预算分配给NVM,其中第二和第三功率预算的组合等于或小于预定的功率电平。
根据本实施例的一个方面,该第三功率预算高于该第二功率预算。
根据本实施例的一个方面,该方法进一步包括:接收中断该处理器的停止的请求;以及响应于接收到中断处理器的停止的请求,将第一功率预算分配给该处理器。
根据本实施例的一个方面,该接收中断请求进一步包括接收标志,其中该标志表示至少一个存储器操作何时已经完成。
根据本实施例的一个方面,该方法进一步包括将第四功率预算分配给NVM,其中第一和第四功率预算的组合等于或小于该预定的功率电平。
根据本实施例的一个方面,第一功率预算高于第四功率预算。
在本公开的一个实施例中,提供一种***包括:用于控制***的操作的处理器;操作为与该处理器通信的非易失性存储器(“NVM”),该NVM包括NVM控制器和多个NVM管芯,该NVM控制器操作为选择性地启动该多个NVM管芯中的任何一个;以及包括在处理器中的功率预算管理器,操作为将相应的功率预算动态地分配给该处理器和NVM使得该处理器和该NVM的累积功耗不超过预定的功率电平。
根据本实施例的一个方面,可以在处理器和NVM控制的至少一个上执行功率预算管理器。
根据本实施例的一个方面,该NVM控制器操作为向处理器提供中断请求,所述中断请求指令该处理器以较大功率电平操作。
根据本实施例的一个方面,功率预算管理器操作为:监控可得到的功率量;并且基于该可得到的功率量将功率预算分配给该***的多个组件中的每个组件。
根据本实施例的一个方面,该***的多个组件包括处理器和NVM中的至少一个。
根据本实施例的一个方面,功率预算管理器操作为检测与可得到的功率量相关联的状态。
在本公开的一个实施例中,提供一种在电子设备中分配功率预算的方法, 该方法包括:确定可用于电子设备的总功率量低于预定的功率电平;并且将相应的功率预算动态地分配给该电子设备的多个组件中的每个组件。
根据本实施例的一个方面,动态地分配相应的功率预算还包括将分配给非易失性存储器的功率预算细分给该非易失性存储器的一个或多个组件。
根据本实施例的一个方面,确定可得到的总功率量包括检测低功率状态,其中电子设备从外部电源充电设备接收低量的功率并且该电子设备的电池不能独立地给该电子设备供电。
根据本实施例的一个方面,检测到低功率状态包括:检测到该电子设备经由通用串行总线(“USB”)协议与该外部电源充电设备通信;以及检测到该USB协议的握手阶段还没有完成。
根据本实施例的一个方面,该方法进一步包括:确定可用于***的总功率量高于预定的功率电平;并且移除分配给该***的多个组件中的每个组件的相应的功率预算。
根据本实施例的一个方面,确定可得到的总功率量包括检测到外部电源充电设备与电子设备之间的USB协议的握手阶段已经完成。
根据本实施例的一个方面,该多个组件包括设备处理器和非易失性NAND闪存,其中第一功率预算被分配给该设备处理器以及第二功率预算被分配给NAND闪存。
在本公开的一个实施例中,提供一种***包括:用于控制该***的操作的处理器;以及操作为与该处理器通信的非易失性存储器(“NVM”),该NVM包括NVM控制器以及多个NVM管芯,该NVM控制器操作为选择性地启动多个NVM管芯中的任何一个;以及包括在该处理器中的功率预算管理器,操作为确定可用于该电子设备的总功率量低于预定的功率电平,并且将相应的功率预算分配给该电子设备的多个组件中的每个组件。
根据本实施例的一个方面,该NVM控制器操作为向处理器提供中断请求,其指令该处理器以较高的功率电平操作。
根据本实施例的一个方面,该功率预算管理器操作为监控可得到的功率量,并且基于该可得到的功率量将功率预算分配给该***的多个组件中的每个组件。
本发明的所描述的实施例是为了示例性的目的而不是限制性的目的。

Claims (14)

1.一种用于动态管理包括电池、处理器和非易失性存储器NVM的***中的功率的方法,所述方法包括:
检测所述***在握手阶段期间正与外部电源充电设备通信以使得所述***从外部电源充电设备接收功率,其中所接收到的功率具有预定的功率电平,并且其中电池不能够独立地给所述***供电;
动态地分配功率预算给处理器和NVM中的每一个使得在不超过所述预定的功率电平的情况下处理器和NVM共同操作,其中动态地分配功率预算进一步包括:
检测是否已经从处理器发出访问NVM的请求;
响应于检测到已经从处理器发出访问NVM的请求,向处理器分配比NVM低的功率预算;
在检测到访问NVM的请求已被发出之前向处理器分配第一功率预算;
在检测到访问NVM的请求已被发出时,向处理器分配第二功率预算,其中第二功率预算低于第一功率预算;以及
使处理器停止来限制处理器的功耗使得所述功耗不超过第二功率预算;确定所接收到的功率是否高于所述预定的功率电平;以及
如果所接收到的功率高于所述预定的功率电平,则移除分配给处理器和NVM中的每个的相应功率预算。
2.权利要求1所述的方法,其中,***的电池不能独立地给***提供足够的功率使得该***能够在正常模式下操作。
3.权利要求1所述的方法,其中,发出请求包括限制在一时间点上访问NVM的所有可得到的管芯的子集合的请求,所述子集合包括少于能够同时被访问的所有管芯的多个管芯。
4.权利要求1所述的方法,其中,所述停止进一步包括时钟门控处理器或使该处理器的时钟速率减速。
5.权利要求1所述的方法,进一步包括将第三功率预算分配给NVM,其中第二和第三功率预算的组合等于或小于预定的功率电平。
6.权利要求5所述的方法,其中,第三功率预算高于第二功率预算。
7.权利要求5所述的方法,进一步包括:
接收中断处理器的停止的请求;以及
响应于接收到中断处理器的停止的请求,将第一功率预算分配给处理器。
8.权利要求7所述的方法,其中,接收中断的请求进一步包括接收标志,其中所述标志表示至少一个存储器操作何时已经完成。
9.权利要求7所述的方法,进一步包括将第四功率预算分配给NVM,其中第一和第四功率预算的组合等于或小于所述预定的功率电平。
10.权利要求9所述的方法,其中,第一功率预算高于第四功率预算。
11.一种电子设备,包括:
电池;
处理器;和
操作为与处理器通信的非易失性存储器NVM,所述NVM包括NVM控制器;以及
功率预算管理器,其操作为:
检测作为握手阶段的一部分所述电子设备低于预定的功率电平地操作以及电池不能够独立地为所述电子设备供电,以及
动态地向处理器和NVM中的每个分配功率预算以使得在不超过所述预定的功率电平的情况下处理器和NVM共同操作,其中动态分配功率预算进一步包括:
检测是否已经从处理器发出访问NVM的请求;
响应于检测到已经从处理器发出访问NVM的请求,向处理器分配比NVM低的功率预算;
在检测到访问NVM的请求已被发出之前向处理器分配第一功率预算;
在检测到访问NVM的请求已被发出时,向处理器分配第二功率预算,其中第二功率预算低于第一功率预算;以及
使处理器停止来限制处理器的功耗使得所述功耗不超过第二功率预算;
检测到电子设备高于所述预定的功率电平地操作;以及
如果接收到的功率高于所述预定的功率电平,则移除分配给处理器和NVM中每个的相应功率预算。
12.权利要求11所述的电子设备,其中,NVM控制器操作为向处理器提供中断请求,所述中断请求指令处理器以较高的功率电平操作。
13.权利要求11所述的电子设备,其中,功率预算管理器操作为:监控可得到的功率量;并且基于所述可得到的功率量将功率预算分配给电子设备的多个组件中的每个组件。
14.一种用于动态管理包括处理器和非易失性存储器NVM的***中的功率的方法,所述方法包括:
检测所述***在握手阶段期间正与外部电源充电设备通信以使得所述***从外部电源充电设备接收功率,其中所接收到的功率具有预定的功率电平;
动态地分配功率预算给处理器和NVM中的每一个使得在不超过所述预定的功率电平的情况下处理器和NVM共同操作,其中动态地分配功率预算进一步包括:
向处理器分配第一功率预算;
从处理器发出访问NVM的请求,其中,发出访问NVM的请求包括限制在一时间点上访问NVM的所有可得到管芯的子集的请求,所述子集包括少于能够同时被访问的所有管芯的多个管芯;
向处理器分配第二功率预算,其中,第二功率预算低于第一功率预算;以及
停止处理器来限制处理器的功耗使得所述功耗不超过第二功率预算;确定所接收到的功率是否高于所述预定的功率电平;以及
如果所接收到的功率高于所述预定的功率电平,则移除分配给处理器和NVM中每个的相应功率预算。
CN201110278532.8A 2010-07-26 2011-07-26 为具有非易失性存储器的***动态地分配功率预算的方法及装置 Active CN102375788B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/843,423 2010-07-26
US12/843,423 US8826051B2 (en) 2010-07-26 2010-07-26 Dynamic allocation of power budget to a system having non-volatile memory and a processor

Publications (2)

Publication Number Publication Date
CN102375788A CN102375788A (zh) 2012-03-14
CN102375788B true CN102375788B (zh) 2015-07-01

Family

ID=44629769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110278532.8A Active CN102375788B (zh) 2010-07-26 2011-07-26 为具有非易失性存储器的***动态地分配功率预算的方法及装置

Country Status (7)

Country Link
US (2) US8826051B2 (zh)
JP (1) JP2012069100A (zh)
KR (2) KR101311116B1 (zh)
CN (1) CN102375788B (zh)
HK (1) HK1168168A1 (zh)
TW (2) TWI540583B (zh)
WO (1) WO2012018605A1 (zh)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US20110173462A1 (en) * 2010-01-11 2011-07-14 Apple Inc. Controlling and staggering operations to limit current spikes
US8555095B2 (en) 2010-07-26 2013-10-08 Apple Inc. Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption
US9261949B2 (en) * 2010-10-29 2016-02-16 Advanced Micro Devices, Inc. Method for adaptive performance optimization of the soc
KR101777376B1 (ko) * 2010-11-08 2017-09-11 삼성전자주식회사 데이터 저장 장치 및 그것의 구동 방법
US20120221767A1 (en) 2011-02-28 2012-08-30 Apple Inc. Efficient buffering for a system having non-volatile memory
US20140006835A1 (en) * 2011-03-16 2014-01-02 Nec Corporation Processing device and control method for same
US8645723B2 (en) 2011-05-11 2014-02-04 Apple Inc. Asynchronous management of access requests to control power consumption
US9417803B2 (en) * 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
US20130097433A1 (en) * 2011-10-18 2013-04-18 Stec, Inc. Systems and methods for dynamic resource management in solid state drive system
JP2013149093A (ja) * 2012-01-19 2013-08-01 Toshiba Corp 制御装置、制御方法、プログラムおよび電子機器
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9122813B2 (en) * 2012-03-06 2015-09-01 Smsc Holdings S.A.R.L. USB host determination of whether a USB device provides power via a USB coupling
US9158351B2 (en) 2012-03-29 2015-10-13 Intel Corporation Dynamic power limit sharing in a platform
US9311226B2 (en) * 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US9026808B2 (en) * 2012-04-26 2015-05-05 Freescale Semiconductor, Inc. Memory with word level power gating
US8856561B2 (en) * 2012-05-10 2014-10-07 Hewlett-Packard Development Company, L.P. Allocating and distributing power
US9348391B1 (en) * 2012-06-28 2016-05-24 Amazon Technologies, Inc. Managing resource power states in shared environments
US9292060B1 (en) * 2012-06-28 2016-03-22 Amazon Technologies, Inc. Allowing clients to limited control on power consumed by the cloud while executing the client's tasks
US9098277B2 (en) * 2012-08-30 2015-08-04 Dell Products L.P. Information handling system configuration for power system output capability
US9547353B1 (en) 2012-09-19 2017-01-17 Amazon Technologies, Inc. Processor energy monitoring and dynamic adjustment
US9411398B2 (en) * 2012-09-28 2016-08-09 Intel Corporation Electronic device and method to extend battery life
KR101339475B1 (ko) * 2012-10-09 2013-12-10 삼성전기주식회사 Esl 시스템 온 칩, esl 단말기 및 이의 제어 방법
US9110661B2 (en) * 2012-12-28 2015-08-18 International Business Machines Corporation Mobile device offloading task to a peer device and receiving a completed task when energy level is below a threshold level
US9760149B2 (en) 2013-01-08 2017-09-12 Qualcomm Incorporated Enhanced dynamic memory management with intelligent current/power consumption minimization
US9594415B2 (en) * 2013-09-22 2017-03-14 Microsoft Technology Licensing, Llc Accessory device power management
EP2884369B1 (en) 2013-12-16 2018-02-07 Stichting IMEC Nederland Memory control system for a non-volatile memory and control method
US9348380B2 (en) * 2013-12-28 2016-05-24 Samsung Electronics Co., Ltd. Dynamic thermal budget allocation for memory array
KR102211126B1 (ko) 2014-04-17 2021-02-02 삼성전자주식회사 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법
WO2016025489A1 (en) * 2014-08-12 2016-02-18 Avocent Huntsville Corp. System and method for rack over provisioning and intelligent power management
US9804650B2 (en) * 2014-09-04 2017-10-31 Qualcomm Incorporated Supply voltage node coupling using a switch
US10353457B1 (en) * 2015-03-04 2019-07-16 Altera Corporation Systems and methods for sleep mode power savings in integrated circuit devices
JP6123830B2 (ja) * 2015-03-30 2017-05-10 日本電気株式会社 情報処理装置、電力制御方法、プログラム、制御装置
US9733684B2 (en) * 2015-09-14 2017-08-15 Samsung Electronics Co., Ltd. System and method for controlling power consumption
US9658669B2 (en) 2015-09-28 2017-05-23 Toshiba Corporation Solid-state mass storage devices with capacitor-based power supply and methods of operation
US10095412B2 (en) * 2015-11-12 2018-10-09 Sandisk Technologies Llc Memory system and method for improving write performance in a multi-die environment
US10331203B2 (en) * 2015-12-29 2019-06-25 Texas Instruments Incorporated Compute through power loss hardware approach for processing device having nonvolatile logic memory
KR102652293B1 (ko) * 2016-03-03 2024-03-29 에스케이하이닉스 주식회사 메모리 관리방법
TWI581092B (zh) * 2016-03-30 2017-05-01 威盛電子股份有限公司 記憶體裝置及其節能控制方法
TWI606459B (zh) * 2016-03-30 2017-11-21 威盛電子股份有限公司 記憶體裝置及其節能控制方法
US10558380B2 (en) * 2016-08-09 2020-02-11 Seagate Technology Llc Active power management
CN108664210B (zh) * 2017-03-31 2024-04-05 北京忆恒创源科技股份有限公司 一种io命令控制的方法及控制***、固态存储设备
US10739842B2 (en) * 2017-04-01 2020-08-11 Intel Corporation Power management and protection
US10032511B1 (en) * 2017-05-18 2018-07-24 Macronix International Co., Ltd. Memory with dynamic permissible bit write logic and method
KR102460249B1 (ko) 2017-11-22 2022-10-31 한국전자통신연구원 비휘발성 컴퓨팅 시스템의 전력 관리 장치 및 방법
US10564868B2 (en) * 2018-01-24 2020-02-18 Western Digital Technologies, Inc. Method and apparatus for selecting power states in storage devices
US11709539B2 (en) 2018-01-24 2023-07-25 Western Digital Technologies, Inc. Low power state staging
KR102615227B1 (ko) * 2018-02-01 2023-12-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20210006120A (ko) 2019-07-08 2021-01-18 에스케이하이닉스 주식회사 데이터 저장 장치, 데이터 처리 시스템 및 이를 위한 가속 장치
WO2021015797A1 (en) * 2019-07-25 2021-01-28 Hewlett-Packard Development Company, L.P. Shared redundant power
US11237612B2 (en) * 2019-08-22 2022-02-01 Micron Technology, Inc. Charge-sharing capacitive monitoring circuit in a multi-chip package to control power
US11487444B2 (en) * 2020-03-25 2022-11-01 Micron Technology, Inc. Centralized power management in memory devices
US11379137B1 (en) * 2021-02-16 2022-07-05 Western Digital Technologies, Inc. Host load based dynamic storage system for configuration for increased performance
CN116088662A (zh) * 2021-11-05 2023-05-09 平头哥(上海)半导体技术有限公司 功耗管理方法、多处理单元***和功耗管理模组

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100868A (ja) * 1999-09-29 2001-04-13 Minolta Co Ltd 携帯機器
WO2010057343A2 (en) * 2008-11-21 2010-05-27 American Power Conversion Corporation Method and apparatus for controlling distribution of power
CN101777010A (zh) * 2008-12-22 2010-07-14 英特尔公司 计算机***的多个组件之间的适应性功率预算分配

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724592A (en) 1995-03-31 1998-03-03 Intel Corporation Method and apparatus for managing active power consumption in a microprocessor controlled storage device
JP3821536B2 (ja) 1997-05-16 2006-09-13 沖電気工業株式会社 不揮発性半導体ディスク装置
JPH11316625A (ja) 1998-04-30 1999-11-16 Toshiba Corp パーソナルコンピュータ及び外部ユニットへの電力供給制御方法
US6233693B1 (en) 1998-05-06 2001-05-15 International Business Machines Corporation Smart DASD spin-up
JP4338842B2 (ja) * 1998-09-18 2009-10-07 パナソニック株式会社 電力制御装置、電力制御方法、及び記録媒体
US6748493B1 (en) 1998-11-30 2004-06-08 International Business Machines Corporation Method and apparatus for managing memory operations in a data processing system using a store buffer
JP2000214966A (ja) 1999-01-20 2000-08-04 Ricoh Co Ltd 携帯型情報処理装置
US6560712B1 (en) 1999-11-16 2003-05-06 Motorola, Inc. Bus arbitration in low power system
US6748441B1 (en) 1999-12-02 2004-06-08 Microsoft Corporation Data carousel receiving and caching
JP4694040B2 (ja) 2001-05-29 2011-06-01 ルネサスエレクトロニクス株式会社 半導体記憶装置
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
US6925573B2 (en) 2002-01-02 2005-08-02 Intel Corporation Method and apparatus to manage use of system power within a given specification
US20030158609A1 (en) * 2002-02-19 2003-08-21 Koninklijke Philips Electronics N.V. Power saving management for portable devices
US6857055B2 (en) 2002-08-15 2005-02-15 Micron Technology Inc. Programmable embedded DRAM current monitor
US7210004B2 (en) * 2003-06-26 2007-04-24 Copan Systems Method and system for background processing of data in a storage system
US7400062B2 (en) 2002-10-15 2008-07-15 Microsemi Corp. - Analog Mixed Signal Group Ltd. Rack level power management
US7441133B2 (en) * 2002-10-15 2008-10-21 Microsemi Corp. - Analog Mixed Signal Group Ltd. Rack level power management for power over Ethernet
GB2402271B (en) * 2003-05-27 2006-04-19 Research In Motion Ltd Method and apparatus for handling a charging state in a mobile electronic device
US20050210304A1 (en) * 2003-06-26 2005-09-22 Copan Systems Method and apparatus for power-efficient high-capacity scalable storage system
US7330931B2 (en) * 2003-06-26 2008-02-12 Copan Systems, Inc. Method and system for accessing auxiliary data in power-efficient high-capacity scalable storage system
JP4264087B2 (ja) 2003-11-28 2009-05-13 パナソニック株式会社 記録装置
US7155623B2 (en) 2003-12-03 2006-12-26 International Business Machines Corporation Method and system for power management including local bounding of device group power consumption
CN100435069C (zh) * 2004-05-10 2008-11-19 美高森美股份有限公司-模拟混合信号集团有限公司 用于快速减小端口电源的方法
US7353407B2 (en) * 2004-05-20 2008-04-01 Cisco Technology, Inc. Methods and apparatus for provisioning phantom power to remote devices
US7418608B2 (en) * 2004-06-17 2008-08-26 Intel Corporation Method and an apparatus for managing power consumption of a server
US7899480B2 (en) * 2004-09-09 2011-03-01 Qualcomm Incorporated Apparatus, system, and method for managing transmission power in a wireless communication system
US7305572B1 (en) 2004-09-27 2007-12-04 Emc Corporation Disk drive input sequencing for staggered drive spin-up
JP2006185407A (ja) 2004-12-01 2006-07-13 Matsushita Electric Ind Co Ltd ピーク電力制御方法および装置
US7541776B2 (en) * 2004-12-10 2009-06-02 Apple Inc. Method and system for operating a portable electronic device in a power-limited manner
JP2006195569A (ja) 2005-01-11 2006-07-27 Sony Corp 記憶装置
US7440215B1 (en) 2005-03-30 2008-10-21 Emc Corporation Managing disk drive spin up
US7539882B2 (en) * 2005-05-30 2009-05-26 Rambus Inc. Self-powered devices and methods
US7444526B2 (en) * 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US7562234B2 (en) * 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US7647516B2 (en) * 2005-09-22 2010-01-12 Hewlett-Packard Development Company, L.P. Power consumption management among compute nodes
US7523338B2 (en) * 2005-10-13 2009-04-21 Research In Motion Limited Apparatus and method to support USB enumeration of a bus powered handheld device
US20070211551A1 (en) 2005-11-25 2007-09-13 Yoav Yogev Method for dynamic performance optimization conforming to a dynamic maximum current level
US7487371B2 (en) * 2005-12-16 2009-02-03 Nvidia Corporation Data path controller with integrated power management to manage power consumption of a computing device and its components
US7793059B2 (en) 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US7739548B2 (en) * 2006-06-27 2010-06-15 Hewlett-Packard Development Company, L.P. Determining actual power consumption for system power performance states
US7587559B2 (en) 2006-08-10 2009-09-08 International Business Machines Corporation Systems and methods for memory module power management
US7681054B2 (en) * 2006-10-03 2010-03-16 International Business Machines Corporation Processing performance improvement using activity factor headroom
US8898363B2 (en) * 2006-12-08 2014-11-25 Nokia Corporation Multiple connections to a single serial interface
US7793126B2 (en) * 2007-01-19 2010-09-07 Microsoft Corporation Using priorities and power usage to allocate power budget
US7934107B2 (en) 2007-01-24 2011-04-26 Hewlett-Packard Development Company, L.P. Power management system and method
US7863856B2 (en) * 2008-01-11 2011-01-04 Modu Ltd. Bi-directional battery charging for coupled electronic devices
JP4851962B2 (ja) 2007-02-28 2012-01-11 株式会社東芝 メモリシステム
US7818592B2 (en) * 2007-04-18 2010-10-19 Globalfoundries Inc. Token based power control mechanism
US8253388B2 (en) * 2007-06-04 2012-08-28 Symbol Technologies, Inc. System and method for charging a battery
JP5369415B2 (ja) * 2007-09-27 2013-12-18 ヤマハ株式会社 スピーカ装置
US8046600B2 (en) * 2007-10-29 2011-10-25 Microsoft Corporation Collaborative power sharing between computing devices
JP2009176210A (ja) * 2008-01-28 2009-08-06 Toshiba Corp 電子機器
US20090295230A1 (en) * 2008-05-30 2009-12-03 Nokia Corporation Selective coupling of a powered component
JP2009294802A (ja) * 2008-06-03 2009-12-17 Hitachi Ltd ストレージ装置およびストレージ装置の起動制御方法
US7961544B2 (en) 2008-08-05 2011-06-14 Sandisk Il Ltd. Storage system and method for managing a plurality of storage devices
JP5489434B2 (ja) 2008-08-25 2014-05-14 株式会社日立製作所 フラッシュメモリ搭載ストレージ装置
TWI432948B (zh) * 2008-10-20 2014-04-01 Wistron Corp 用於一可攜式電腦系統之電源管理方法及其相關電源供應裝置與可攜式電腦系統
JP2010108423A (ja) * 2008-10-31 2010-05-13 Toshiba Corp 情報処理装置
US20100162024A1 (en) * 2008-12-24 2010-06-24 Benjamin Kuris Enabling a Charge Limited Device to Operate for a Desired Period of Time
US8307258B2 (en) 2009-05-18 2012-11-06 Fusion-10, Inc Apparatus, system, and method for reconfiguring an array to operate with less storage elements
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
KR101578728B1 (ko) * 2009-05-22 2015-12-21 엘지전자 주식회사 휴대 단말기
US8627117B2 (en) * 2009-06-26 2014-01-07 Seagate Technology Llc Device with power control feature involving backup power reservoir circuit
US20110173462A1 (en) 2010-01-11 2011-07-14 Apple Inc. Controlling and staggering operations to limit current spikes
JP5187776B2 (ja) * 2010-04-13 2013-04-24 日本電気株式会社 電気機器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001100868A (ja) * 1999-09-29 2001-04-13 Minolta Co Ltd 携帯機器
WO2010057343A2 (en) * 2008-11-21 2010-05-27 American Power Conversion Corporation Method and apparatus for controlling distribution of power
CN101777010A (zh) * 2008-12-22 2010-07-14 英特尔公司 计算机***的多个组件之间的适应性功率预算分配

Also Published As

Publication number Publication date
US8826051B2 (en) 2014-09-02
KR20120031971A (ko) 2012-04-04
TW201230049A (en) 2012-07-16
CN102375788A (zh) 2012-03-14
KR20120010989A (ko) 2012-02-06
US20120023351A1 (en) 2012-01-26
TWI540583B (zh) 2016-07-01
US20140344609A1 (en) 2014-11-20
JP2012069100A (ja) 2012-04-05
KR101311116B1 (ko) 2013-09-25
US9383808B2 (en) 2016-07-05
KR101699104B1 (ko) 2017-01-23
TW201214446A (en) 2012-04-01
TWI598882B (zh) 2017-09-11
WO2012018605A1 (en) 2012-02-09
HK1168168A1 (zh) 2012-12-21

Similar Documents

Publication Publication Date Title
CN102375788B (zh) 为具有非易失性存储器的***动态地分配功率预算的方法及装置
CN107844431B (zh) 映射表更新方法、存储器控制电路单元与存储器存储装置
US9268687B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US8195971B2 (en) Solid state disk and method of managing power supply thereof and terminal including the same
KR100816761B1 (ko) 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법
US10649896B2 (en) Storage device and data processing system including the same
CN104699413B (zh) 数据管理方法、存储器存储装置及存储器控制电路单元
US9436267B2 (en) Data storage device
TW201732597A (zh) 資料儲存裝置和其操作方法
US20230244394A1 (en) Gradually Reclaim Storage Space Occupied by a Proof of Space Plot in a Solid State Drive
US11775188B2 (en) Communications to reclaim storage space occupied by proof of space plots in solid state drives
US11960756B2 (en) Management of storage space in solid state drives to support proof of space activities
US11856058B2 (en) Peer to peer transfer of proof of space plots to or from solid state drives
US11693567B2 (en) Memory performance optimization method, memory control circuit unit and memory storage device
CN109473138A (zh) 存储装置及其刷新方法
US20230185738A1 (en) Automated Participation of Solid State Drives in Activities Involving Proof of Space
CN109273033B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN103186470B (zh) 存储器储存装置及其存储器控制器与数据写入方法
WO2023169142A1 (zh) 一种存储装置及相关数据分区管理方法
US20220300185A1 (en) Storage device, storage system, and control method
CN109669620B (zh) 存储器管理方法、存储器控制电路单元及存储器储存装置
CN109522236B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
KR20210024722A (ko) 수행가능성을 예측하여 내부동작을 수행하는 메모리 시스템 및 메모리 시스템을 포함하는 데이터 처리 시스템
US10957398B2 (en) Electronic device with memory erased by page
CN117908760A (zh) 数据储存装置与数据储存装置的缓存器大小估计方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1168168

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1168168

Country of ref document: HK