[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN111406254A - 从易失性存储器到非易失性存储器的可配置数据刷新 - Google Patents

从易失性存储器到非易失性存储器的可配置数据刷新 Download PDF

Info

Publication number
CN111406254A
CN111406254A CN201880076854.4A CN201880076854A CN111406254A CN 111406254 A CN111406254 A CN 111406254A CN 201880076854 A CN201880076854 A CN 201880076854A CN 111406254 A CN111406254 A CN 111406254A
Authority
CN
China
Prior art keywords
data
storage device
parameters
response
event
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.)
Pending
Application number
CN201880076854.4A
Other languages
English (en)
Inventor
帕尼·库马尔·坎杜拉
巴拉特·S·皮尔利利
苏雷什·开姆杜帕提
刘易峰
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 CN111406254A publication Critical patent/CN111406254A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)

Abstract

提供了一种装置,该装置包括:用于存储一个或多个参数的第一存储设备,用于存储数据的第二存储设备,以及第三存储设备。该装置还可以包括第一电路,用于检测触发事件。该装置还可以包括第二电路,用于响应于触发事件,使得将数据从第二存储设备传输到第三存储设备,同时该装置的一个或多个组件用于根据一个或多个参数进行操作。

Description

从易失性存储器到非易失性存储器的可配置数据刷新
优先权声明
本申请要求于2017年12月28日提交的、标题为“从易失性存储器到非易失性存储器的可配置数据刷新”的第15/856,780号美国专利申请的优先权,该申请为了所有目的通过引用被整体并入本文。
背景技术
当易失性存储器在至少阈值时间段内没有被供电并且该存储器内的数据至少在该阈值时间段内没有被刷新时,存储在该易失性存储器中的数据可能会丢失。
附图说明
通过以下给出的详细描述和本公开的各个实施例的附图,将更充分地理解本公开的实施例,然而,这些详细描述和附图不应用于将本公开限制为特定的实施例,而是仅供说明和理解。
图1示出了根据一些实施例的设备,该设备响应于检测到触发事件而以可配置的方式将数据从第一存储装置(例如,易失性存储装置)传输到第二存储装置(例如,非易失性存储装置)。
图2示出了根据一些实施例的流程图,该流程图描绘了用于响应于检测到触发事件而操作设备以可配置的方式将数据从第一存储装置传输到第二存储装置的方法。
图3-图5示出了根据一些实施例的图1的设备的各种操作。
图6示出了根据一些实施例的计算设备、智能设备、计算机系统、或SoC(片上系统),其中,计算设备可以响应于检测到触发事件以可配置的方式将数据从第一存储装置(例如,易失性存储装置)传输到第二存储装置(例如,非易失性存储装置)。
具体实施方式
例如除了来自交流(AC)源的电力外,设备还可以具有备用电池和/或备用电源,例如超级电容器。设备中的触发事件可以包括来自AC源的电力丢失,可以包括设备中的错误(例如,严重的硬件错误、严重的软件错误、系统崩溃等),和/或可以包括可能需要关闭或重置设备的任何适当事件。响应于检测到触发事件,将数据从设备的易失性存储装置传输到非易失性存储装置可能是有用的(例如,使得在由于可能的电力不可用性、可能的设备关闭等情况下,数据不会在易失性存储装置中丢失或被损坏)。
在一种示例中,当数据正被从易失性存储装置传输到非易失性存储装置时,并非设备中的所有组件都可以用于数据传输。在另一示例中,例如如果由于AC电力的丢失而需要数据传输,则可限制可用于这种数据传输的电力(例如,来自电池和/或备用电源)。可用于这种数据传输的电力可以基于电池容量、电池的剩余电荷、电池的老化情况、和/或其他因素。在一些实施例中,在数据正被传输的同时,各种组件的操作参数可以是可配置的。
仅作为示例,如果相对更多的电力可用,则可以在更少的时间内执行数据传输,而无需过多关心用于数据传输的电力。另一方面,如果可用的电力有限或相对较少,则可以以慢速执行数据传输,例如,以节省数据传输所需的电力。本公开的各种实施例讨论了特别地在响应于触发事件将数据从易失性存储装置传输到非易失性存储装置时对设备进行配置,例如以在传输所消耗的电力、传输速度等之间取得平衡。从各种实施例和附图中将易于理解其他技术效果。
在以下描述中,讨论了许多细节以提供对本公开的实施例的更透彻的解释。然而,对于本领域的技术人员将易于理解的是,可以在没有这些具体细节的情况下实践本公开的实施例。在其他实例中,以框图的形式而不是详细地示出了公知的结构和设备,以避免模糊本公开的实施例。
注意,在实施例的相应附图中,信号用线表示。一些线可能更粗,以指示更多的组成信号路径;和/或一些线在一个或多个末端具有箭头,以指示主要信息流方向。这样的指示不意图进行限制。而是,将这些线与一个或多个示例性实施例结合使用,以促进对电路或逻辑单元的更容易理解。如设计需要或偏好所指示的,任何所表示的信号实际上可以包括一个或多个信号,这些信号可以沿任一方向传播,并且可以用任何合适类型的信号方案来实施。
在整个说明书中以及在权利要求书中,术语“连接”是指在没有任何中间设备的情况下,被连接的物体之间的直接连接,例如电的、机械的、或者磁性的连接。术语“耦合”是指被连接的物体之间的直接或间接连接(例如直接电的、机械的、或者磁性的连接),或者通过一个或多个无源或有源中间装置的间接连接。术语“电路”或“模块”可以指被布置为彼此协作以提供期望功能的一个或多个无源和/或有源组件。术语“信号”可以指至少一个电流信号、电压信号、磁信号、或数据/时钟信号。“一”、“一种”和“该”的含义包括复数形式。“在...中”的含义包括“在...中”和“在...上”。术语“基本上”、“接近”、“近似”、“靠近”以及“大约”通常是指在目标值的+/-10%以内。
除非另有说明,否则使用序数形容词“第一”、“第二”和“第三”等来描述共同的对象,仅表示相同对象的不同实例正在被引用,而不是意图暗示这样描述的对象必须在时间、空间、等级或任何其他方式上以给定的顺序存在。
为了本公开的目的,短语“A和/或B”和“A或B”是指(A)、(B)、或(A和B)。为了本公开的目的,短语“A、B和/或C”是指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)、或(A、B和C)。在说明书和权利要求书中使用术语“左”、“右”、“前”、“后”、“顶部”、“底部”、“上方”、“下方”等(如果有的话)用于描述目的,而不一定用于描述永久相对位置。
图1示出了根据一些实施例的设备100,该设备100响应于检测到触发事件而以可配置的方式将数据从第一存储装置120(例如,易失性存储器)传输到第二存储装置124(例如,非易失性存储装置)。在一些实施例中,设备100包括存储装置120和124。在一些其他实施例中(并且至少部分与图1的图示相反),存储装置124可以在设备100的外部,但是可以被插入到、或者耦合至设备100(例如,存储装置124可以是外部闪存、外部硬驱动器等)。
在一些实施例中,存储装置120可以是易失性存储器,例如,随机存取存储器(RAM)、动态随机存取存储器(DRAM)等。仅作为示例,存储装置120可以被实现为一个或多个双列直插式存储器模块(DIMM)。
存储装置120可能需要电力来维持所存储的信息。存储装置120可以在通电时保留其内容,但是当电力中断时,所存储的数据可能会很快丢失。在一种示例中,可以以周期性(或非周期性的)间隔来电刷新(electrically refresh)存储装置120以保留数据。
在一种示例中,与存储装置120相关联的存储控制器(图1中未示出)可以使得对存储装置120中的数据的刷新(例如,在存储装置120的正常或常规操作期间)。在一种示例中,存储装置120也可以在自刷新(self-refresh)状态下操作。当存储装置120处于自刷新状态时,存储装置120可以例如在没有来自存储器控制器的任何干预或帮助的情况下自行刷新数据。因此,当存储装置120处于自刷新状态时,存储器控制器可以被断电、处于低功率模式、处于电力门控和/或时钟门控状态、被禁用、经历重置周期等。
存储装置124可以是非易失性存储器或非易失性存储装置。这种非易失性存储装置124的示例可以包括只读存储器(ROM)、闪存、闪存驱动器、铁电RAM、磁性计算机存储设备(例如,硬盘驱动器)、固态驱动器、光盘、外部硬驱动器等。存储装置124可能不需要连续的电源来维持所存储的信息。存储装置120可以在断电时保留其内容。
在一些实施例中,设备100包括另一存储装置128。在一种示例中,存储装置128可以包括一个或多个寄存器,尽管在其他一些示例中,存储装置128可以是存储装置120或124之一的一部分。在一种示例中,存储装置128存储一个或多个参数129。在一些实施例中,可以根据一个或多个参数129将数据从存储装置120传输到存储装置124(例如,在检测到触发事件之后),如本文稍后进一步详细讨论。
在一些实施例中,设备100可以包括启动(boot up)电路104(也称为电路104)。电路104可以促进设备100的启动处理。例如,当设备100被通电或开启时(或者在掉电事件之后或者在错误状况之后被重置),电路104可以被初始地通电。然后,电路104可以初始化并启动设备100的各种其他组件(例如,一个或多个处理器)。因此,电路104可以在启动处理期间用于硬件初始化。在一种示例中,电路104可以包括例如可以存在于由英特尔公司(Intel
Figure BDA0002512363890000051
)开发的芯片组架构中的平台控制器中枢(PCH)。在一种示例中,电路104可以包括设备100的基本输入/输出系统(BIOS)。
在一些实施例中,设备100包括一个或多个处理器108。例如,处理器108可以包括一个或多个物理设备,例如微处理器、应用处理器、微控制器、可编程逻辑器件、或其他处理装置。由处理器108执行的处理操作可以包括对操作平台或操作系统的执行,可以在该操作平台或操作系统上执行设备100的应用和/或设备功能。处理操作还可包括:与人类用户或其他设备的I/O(输入/输出)有关的操作,与电力管理有关的操作,与将设备100连接到另一设备有关的操作,与音频I/O和/或显示I/O有关的操作,或者设备100的任何其他适当的操作。在一种示例中,如将在本文中进一步详细讨论的,由处理器108执行的处理操作可以包括促进在存储装置120和124之间的数据传输。在一些实施例中,处理器108可以包括一个或多个多核处理器。例如,处理器108可以具有多个处理核。
在一些实施例中,设备100可以包括缓存112。缓存112可以包括等级1(L1)缓存、等级2(L2)缓存等。在一种示例中,处理器108可以从缓存112访问数据,将数据临时存储在缓存112中,等等。
在一些实施例中,设备100可以包括触发事件检测电路116(也称为电路116)。电路116可以检测设备100中的一个或多个触发事件。仅作为示例,触发事件可以包括AC源的电力的丢失(例如,来自AC源的电力可以经由适配器和电源电路136来供应)。在另一示例中,触发事件可以包括向设备100供电的电池140的电荷水平消耗(depleting)到低于阈值(例如,从电源电路136无法获得AC电力)。在又一个示例中,触发事件可以包括设备100中的错误(例如,严重的硬件错误、严重的软件错误、系统崩溃等),这可能需要关闭或重置设备100。在一种示例中,触发事件可以包括可能需要关闭或重置设备100的任何适当事件,例如,可能需要立即或接近立即关闭或重置设备100,而没有足够的电力和/或机会来从容地且系统性地关闭(或重置)设备100。
在一些实施例中,响应于检测到触发事件,处理器108(或设备100的另一适当组件)的一个或多个处理核可以将数据从易失性存储装置120传输到非易失性存储装置124(例如,以防止由于即将关闭或重置设备100而导致易失性存储装置120中的数据丢失)。
在一些实施例中,设备100还包括配置电路118(也称为电路118)。电路118可以存储和/或配置参数129。例如,可以根据一个或多个参数129将数据从存储装置120传输到存储装置124(例如,响应于检测到触发事件)。在一种示例中,电路118可以包括设备100的BIOS、设备100的基板管理控制器(BMC)、设备100的创新引擎(IE)等。
在一些实施例中,设备100还可以包括系统配置电路132(也称为电路132)。仅作为示例,电路132可以包括设备100的PCH、电源管理控制器(PMC)、融合安全性和可管理性引擎(CSME)、和/或设备100的另一适当组件。
例如,至少在检测到触发事件的情况下数据正被从存储装置120传输到存储装置124时,电路132可以配置设备100的一个或多个组件。例如,电路132可以控制处理器的各种处理核的状态。例如,电路132可以控制处理器108的个体处理核的操作电压和/或操作频率,选择性地对处理器108的一个或多个处理核进行电力门控和/或时钟门控,选择性地对设备100的一个或多个其他组件进行电力门控和/或时钟门控,选择性地禁用设备的一个或多个组件,等等。例如,至少在检测到触发事件的情况下数据正被从存储装置120传输到存储装置124时,电路132还可以选择处理器108中可操作或者处于正常状态(例如,S0状态)下工作的处理核的数量,处理器108中要被禁用或不可操作(例如,处于低功耗状态、关闭状态、电力门控和/或时钟门控状态等)的处理核的数量。
在一些实施例中,设备100可以包括多个IP(知识产权)块。IP块可以是逻辑、单元格(cell)、或集成电路布局设计的可重用单元,其可以是另一方的知识产权。IP块的示例可以包括I/O电路(例如,通用串行总线或USB电路)、串行器/解串器(SerDes)电路、锁相环(PLL)电路、物理层(PHY)电路等。在一种示例中,例如,至少在检测到触发事件的情况下数据正被从存储装置120传输到存储装置124时,电路132还可以使一个或多个IP块可操作或正在工作,并且使一个或多个其他IP块不可操作(例如,处于低功耗状态、关闭状态、电力门控和/或时钟门控状态等)。
在一些实施例中,电路132可以基于一个或多个参数129来配置设备100的一个或多个组件。例如,当将数据从存储装置120传输到存储装置124时(例如,响应于检测到触发事件),电路132可以基于一个或多个参数129来配置设备100的一个或多个组件。
在一些实施例中,一个或多个参数129可以指示例如当响应于检测到触发事件而正将数据从存储装置120传输到存储装置124时设备100操作的模式。仅作为示例,当响应于检测到触发事件而正将数据从存储装置120传输到存储装置124时,设备100可以在基本模式、激进(aggressive)功率模式、激进性能模式、或者另一适当模式中的一种模式下操作。
在基本模式下,在响应于检测到触发事件而数据正被从存储装置120传输到存储装置124时,电路132可以使一个或多个组件(例如,一个或多个处理核、组件、IP块等)可操作,同时禁用另一个或多个组件(例如,对其进行电力门控和/或时钟门控)。例如,一个或多个组件可以被使用,或者与从存储装置120到存储装置124的数据传输相关联,因此,电路132可以使该一个或多个组件可操作。例如,如果设备100以基本模式操作,则一个或多个组件的电压和/或频率可以被维持在它们相应的正常或典型水平。某些组件可能不需要用于将数据从存储装置120传输到存储装置124,这些组件例如可以是网络接口、显示I/O、音频I/O等,并且这些组件可以被禁用。
在激进功率模式下,在响应于检测到触发事件而数据正被从存储装置120传输到存储装置124时,电路132可以使一个或多个组件(例如,一个或多个处理核、组件、IP块等)可操作,同时禁用另一个或多个组件(例如,对其进行电力门控和/或时钟门控)。例如,一个或多个组件可以被使用,或者与从存储装置120到存储装置124的数据传输相关联,因此,电路132可以使该一个或多个组件可操作。但是,与基本模式(例如,在基本模式下,一个或多个组件的电压和/或频率维持在其相应的正常或典型水平)不同,在激进功率模式下,一个或多个组件的电压和/或频率组件可以维持在标称(nominal)水平(例如,维持这些组件的操作所必需的最小水平)。
在激进性能模式下,在响应于检测到触发事件而数据正被从存储装置120传输到存储装置124时,电路132可以使一个或多个组件可操作,同时禁用另一个或多个组件。但是(例如,不同于基本模式或激进功率模式),在激进性能模式下,一个或多个组件的电压和/或频率可以维持在使得这些组件的性能较高的水平(例如,使得从存储装置120到存储装置124的数据传输速率更快)。
仅作为示例,假定第一一个或多个组件中的组件(例如,处理核)可以在5伏(V)至6V的电压范围内操作。例如,该组件可以在5.4V至5.6V的电压范围内典型地或正常地操作。操作该组件的标称电压或最小电压可以为5V(尽管例如在5V时组件的性能要比在5.4V-5.6V的范围慢)。操作该组件的最大电压可以是6V。还假设该组件有助于将数据从存储装置120传输到存储装置124。在一种示例中,在基本模式下,该组件可以在5.4V–5.6V的范围被操作,这可能导致从存储装置120到存储装置124的数据传输的速度为中等,并且可能消耗中等功率。另一方面,在激进功率模式下,该组件可以在5V下被操作,这可能导致从存储装置120到存储装置124的数据传输的速度相对较低,但可能消耗低的功率。在激进性能模式下,该组件可以在6V下被操作,这可能导致从存储装置120到存储装置124的数据传输的速度相对较高,并且可能消耗高的功率。
在一些实施例中,(例如,当响应于检测到触发事件而数据正被从存储装置120传输到存储装置124时)可操作的多个组件(例如,处理核)也可以基于该模式。例如,在激进性能模式下,可以使更多数量的处理核可操作,从而导致更快的数据传输。相反,在激进功率模式下,可以使较少数量的处理核可操作,从而导致较低的数据传输。在基本模式下,可以使中间数量的处理核可操作,从而导致中等的数据传输。
因此,激进性能模式可以促进较快的数据传输,但是也可消耗较高的功率。另一方面,激进功率模式可以促进较慢的数据传输,并且可以消耗较低的功率。基本模式的功耗和数据传输速度可以处于激进性能模式和激进功率模式之间。
在一些实施例中,(例如,当响应于检测到触发事件而数据正被从存储装置120传输到存储装置124时)被激活的模式可以是可配置的参数。例如,参数129可以指示将被激活的模式。
在一种示例中,可以由设备100的用户、设备100的制造商等设置要激活的模式。在另一示例中,要激活的模式可以基于电池140的可用电池容量(例如,当触发事件是丢失AC电力时)、电池140充电所需的时间、电池140的类型、可用于为从存储装置120到存储装置124的数据传输供电(例如,代替或补充来自电池140的电力)的超级电容器的类型和/或额定值等等。例如,如果电池的电荷水平高(例如,高于阈值),则激进性能模式可被激活;并且如果电池的电荷水平低,则激进功率模式或基本模式可被激活。
在另一示例中,要激活的模式可以基于要从存储装置120传输到存储装置124的数据量。例如,如果要传输大量数据(例如,大于阈值),则激进性能模式可被激活;否则,激进功率模式或基本模式可被激活。
在又一示例中,要激活的模式可以基于触发事件的类型。例如,如果触发事件是由于设备中的错误引起的,并且设备仍可使用AC电力,则激进性能模式(或基本模式)可被激活。另一方面,如果触发事件是由于经由电源电路136接收到的AC电力丢失(并且可能电池电荷剩余小于阈值)引起的,则激进功率模式(或基本模式)可被激活。
尽管本文上述讨论了三种模式(例如,基本模式、激进功率模式、和激进性能模式),但是本领域技术人员基于本公开的教导也可以设想任何其他适当的模式。在一些示例中,可以使用两个或更多个模式的组合。例如,第一处理核可以以最高电压和/或频率水平(例如,根据激进性能模式)运行,而第二处理核可以以正常或典型的电压和/或频率水平(例如,根据基本模式)运行。
在一些实施例中,除了对模式进行激活之外或者代替对模式进行激活,参数129可以针对设备100的单个组件、或一组组件、或个体组件指定操作参数(例如,以在响应于检测到触发事件而数据正被从存储装置120传输到存储装置124时进行操作)。
图2示出了根据一些实施例的流程图,该流程图描绘了用于响应于检测到触发事件而操作设备(例如,设备100)以可配置的方式将数据从第一存储装置120(例如,易失性存储器)传输到第二存储装置124(例如,非易失性存储装置)的方法200。图3-图5示出了根据一些实施例的图1的设备100的各种操作。因此,相对于图3-图5中的一个或多个,讨论图2的方法200的一些操作。
再次参考图2,尽管参考图2以特定顺序示出了的流程图中的框,但是动作的顺序是可以修改的。因此,可以以不同的顺序执行所示出的实施例,并且可以并行地执行一些动作/框。根据某些实施例,图2中列出的一些框和/或操作可以是可选的。所呈现的框的编号是为了清楚起见,而不旨在规定各种框必须出现的操作顺序。
在方法200的204处,设备100可以在正常操作状态下操作。例如,设备100可以根据高级配置和电力接口(ACPI)规范的S0状态进行操作。在一些实施例中,设备100(例如,电路118)可以配置参数129并将其存储在存储装置128中。在一些实施例中,设备100(例如,电路118)可以使数据能够从存储装置120传输到存储装置124(例如,使能参数129)。
在208处,可以检测触发事件。例如,如图3中所示,电路116可以检测触发事件303。如本文之前所讨论的,触发事件可以包括如下项中的一项或多项:来自AC源的电力丢失,设备100中的错误(例如,严重的硬件错误、严重的软件错误、系统崩溃等),或者可能需要关闭或重置设备100的其他适当事件。
在一些实施例中,如果在208处的触发事件303是来自AC源的电力丢失,则可以使用来自电池140的电力、使用来自备用电源的电力(例如,设备100的超级电容器,来自不间断电源或UPS的电力等)等来执行方法200的各种后续操作。
在212处,响应于检测到触发事件303,可以将数据305b从一个或多个组件传输到存储装置120。例如,如图3所示,可以从设备100的处理器108、缓存112、一个或多个寄存器、和/或设备100的一个或多个其他组件传输数据305b。在一种示例中,可以在检测到触发事件303之前将数据305a存储在存储装置120中,以及响应于检测到触发事件303,可以将数据305b添加到存储装置120。
在一些实施例中,数据305b可以包括例如:处理器108当前正在处理的数据,代表设备100的当前状态的数据,处理器108的写队列中的数据,I/O路径中的数据,存储在缓存112中的数据,和/或任何其他关键数据。在一些实施例中,在212处的操作可以是可选的。例如,方法200可以继续进行而不将数据305b传输到存储装置120。
在216处,可以针对存储装置120发起自刷新状态(例如,如图3所示)。存储装置120可以继续周期性地或间歇地刷新所存储的数据(例如,数据305a和305b),即使例如相关联的存储器控制器被禁用或者经历了重置周期。因此,即使相关联的存储器控制器至少被暂时地禁用,数据305a、305b也不会丢失。
在220处,设备100可以执行重置(例如,全局重置)。例如,如果触发事件303是由于硬件或软件错误或系统崩溃引起的,则这种复位可以消除错误情况。由于存储装置120处于自刷新状态,因此存储装置120中所存储的数据305a和305b可能不会丢失。在一种示例中,在220处的重置期间,存储装置120继续处于自刷新状态。同样在220处,在重置之后,可以初始化启动电路104。
在224处,设备100(例如,电路132)可以确定参数129是否被存储在存储装置128中,和/或可以确定从存储装置120向存储装置124的数据传输(例如,响应于触发事件)是否被使能。如果是,则设备100(例如,电路132)可以从存储装置128读取参数129,如图4所示。
而且,电路132可以基于读取参数129和/或考虑一个或多个其他因素来确定针对设备100的一个或多个组件的操作参数409(例如,参见图4)。一个或多个其他因素可包括:确定触发事件是否是由于电力丢失,备用电源(例如,电池140、超级电容器等)的电荷水平,电池140的老化,要传输的数据量,设备100的用户或制造商的任何预设配置,等等。
在一种示例中,操作参数409可以按照本文先前讨论的各种模式。在一种示例中,操作参数409可以指定个体组件(例如,个体处理核)的操作条件(例如,组件的电压水平、组件的工作频率、组件核是否要被时钟门控和/或电力门控、组件是否要被禁用,等),如本公开中其他地方进一步详细讨论的。
在228处,设备100(例如,电路104)可以启动或初始化设备100的各种组件,并且例如至少部分地根据操作参数409来操作这些组件。例如,可以根据操作参数409来初始化和操作处理器108的一个或多个处理核。
在232处,设备100可以将数据305a和/或305b(或这些数据的子集)从易失性存储装置120传输到非易失性存储装置124(例如,如图5所示),同时设备100的组件按照操作参数409进行操作。因此,在数据正被从存储装置120传输到存储装置124时,设备100根据操作参数409进行操作,其中可以至少部分地基于参数129来确定操作参数409。在236处,设备100可以被再次重置(例如,如果触发事件是由于设备100中的错误引起的),或者可以被关闭(例如,如果触发事件是由于AC电力丢失造成的)。
图6示出了根据一些实施例的计算设备2100、智能设备、计算设备、计算机系统、或SoC(片上系统)2100,其中,计算设备2100可以响应于检测到触发事件以可配置的方式将数据从第一存储装置(例如,易失性存储装置)传输到第二存储装置(例如,非易失性存储装置)。要指出的是,图6中那些具有与任何其他附图的元件相同的附图标记(或名称)的元件可以以与所描述的方式类似的任何方式来操作或起作用,但不限于此。
在一些实施例中,计算设备2100代表适当的计算设备,例如计算平板、移动电话或智能电话、膝上型计算机、台式计算机、IOT设备、服务器、机顶盒、具有无线功能的电子阅读器等。应理解,在计算设备2100中总体上示出了某些组件,但是未示出这种设备的所有组件。
在一些实施例中,计算设备2100包括第一处理器2110。本公开的各种实施例还可以包括2170内的网络接口,例如无线接口,使得系统实施例可以被并入无线设备(例如蜂窝手机或个人数字助理)中。
在一个实施例中,处理器2110可以包括一个或多个物理设备,例如微处理器、应用处理器、微控制器、可编程逻辑器件、或其他处理装置。由处理器2110执行的处理操作包括对操作平台或操作系统的执行,其中,在该操作平台或操作系统上执行应用和/或设备功能。处理操作包括:与人类用户或其他设备的I/O(输入/输出)有关的操作,与电力管理有关的操作,和/或与将计算设备2100连接到另一设备有关的操作。处理操作还可以包括与音频I/O、和/或显示I/O有关的操作。
在一个实施例中,计算设备2100包括音频子系统2120,其表示与向计算设备提供音频功能相关联的硬件(例如,音频硬件和音频电路)和软件(例如,驱动器、编解码器)组件。音频功能可以包括扬声器和/或耳机输出,以及麦克风输入。用于这种功能的设备可以被集成到计算设备2100中,或被连接到计算设备2100。在一个实施例中,用户通过提供由处理器2110接收和处理的音频命令来与计算设备2100进行交互。
显示子系统2130代表为用户提供视觉和/或触觉显示以与计算设备2100交互的硬件(例如,显示设备)和软件(例如,驱动器)组件。显示子系统2130包括显示接口2132,其包括用于向用户提供显示的特定屏幕或硬件设备。在一个实施例中,显示接口2132包括与处理器2110分离的逻辑,以执行与显示有关的至少一些处理。在一个实施例中,显示子系统2130包括向用户提供输出和输入两者的触摸屏(或触摸板)设备。
I/O控制器2140表示与和用户的交互有关的硬件设备和软件组件。I/O控制器2140可操作为管理硬件,该硬件作为音频子系统2120和/或显示子系统2130的一部分。另外,I/O控制器2140示出了用于附加设备连接到计算设备2100的连接点,用户可以通过该附加设备与系统进行交互。例如,可以附连到计算设备2100的设备可能包括麦克风设备、扬声器或立体声系统、视频系统或其他显示设备,键盘或小键盘设备、或者与诸如读卡器或其他设备之类的特定应用程序一起使用的其他I/O设备。
如上所述,I/O控制器2140可以与音频子系统2120和/或显示子系统2130交互。例如,通过麦克风或其他音频设备的输入可以针对计算设备2100的一个或多个应用或功能提供输入或命令。另外,可以提供音频输出来代替显示输出,或者除了显示输出之外还可以提供音频输出。在另一示例中,如果显示子系统2130包括触摸屏,则显示设备还充当输入设备,其可以至少部分地由I/O控制器2140管理。计算设备2100上还可以有其他按钮或开关,以提供由I/O控制器2140管理的I/O功能。
在一个实施例中,I/O控制器2140管理诸如加速度计、照相机、光传感器、或其他环境传感器之类的设备,或者管理可包括在计算设备2100中的其他硬件。输入可以是直接用户交互的一部分,以及向系统提供环境输入以影响其操作(例如过滤噪声、调整显示以进行亮度检测、为相机应用闪光灯、或者其他特征)。
在一个实施例中,计算设备2100包括电源管理2150,该电源管理2150管理电池电力使用、电池充电、以及与省电操作有关的特征。存储器子系统2160包括用于在计算设备2100中存储信息的存储器设备。存储器可以包括非易失性(如果针对存储器设备的电力被中断,则状态不会改变)和/或易失性(如果针对存储器设备的电力被中断,则状态不确定)存储器设备。存储器子系统2160可以存储应用数据、用户数据、音乐、照片、文档、或其他数据,以及与计算设备2100的应用和功能的执行有关的系统数据(无论是长期的还是临时的)。在一个实施例中,计算设备2100包括时钟生成子系统2152以生成时钟信号。
实施例的元件也被提供为用于存储计算机可执行指令(例如,用于实现本文所讨论的任何其他过程的指令)的机器可读介质(例如,存储器2160)。机器可读介质(例如,存储器2160)可以包括但不限于:闪存,光盘,CD-ROM,DVD ROM,RAM,EPROM,EEPROM,磁卡或光卡,相变存储器(PCM),或适用于存储电子或计算机可执行指令的其他类型的机器可读介质。例如,本公开的实施例可以作为计算机程序(例如,BIOS)下载,该计算机程序可以经由通信链路(例如,调制解调器或网络连接)通过数据信号的方式从远程计算机(例如,服务器)传输到进行请求的计算机(例如,客户端)。
连通性2170包括硬件设备(例如,无线和/或有线连接器和通信硬件)和软件组件(例如,驱动器、协议栈),以使计算设备2100能够与外部设备进行通信。计算设备2100可以是单独的设备,例如其他计算设备、无线接入点或基站、以及外围设备,例如耳机、打印机或其他设备。
连通性2170可以包括多个不同类型的连通性。概括地说,计算设备2100被图示为具有蜂窝连通性2172和无线连通性2174。蜂窝连通性2172通常是指由无线运营商(wireless carrier)提供的蜂窝网络连通性,所述无线运营商诸如经由如下项提供:GSM(全球移动通信系统)或变体或衍生物,CDMA(码分多址)或变体或衍生物,TDM(时分多路复用)或变体或衍生物,或者其他蜂窝服务标准。无线连通性(或无线接口)2174是指非蜂窝式的无线连通性,并且可以包括个人区域网络(例如蓝牙、近场等)、局域网(例如Wi-Fi)、和/或广域网(例如WiMax)或其他无线通信。
外围连接2180包括进行外围连接的硬件接口和连接器、以及软件组件(例如,驱动器、协议栈)。将理解的是,计算设备2100既可以是其他计算设备的外围设备(“去往”2182),也可以具有与其连接的外围设备(“来自”2184)。计算设备2100通常具有“对接(docking)”连接器以连接到其他计算设备,以用于诸如管理(例如,下载和/或上载、更改、同步)计算设备2100上的内容之类的目的。另外,对接连接器可以允许计算设备2100连接到某些外围设备,这些外围设备允许计算设备2100控制内容输出,例如,输出到视听或其他系统。
除了专有对接连接器或其他专有连接硬件之外,计算设备2100还可以通过通用或基于标准的连接器进行外围连接2180。通用类型可以包括:通用串行总线(USB)连接器(其可以包括许多不同硬件接口中的任何一个),包括MiniDisplayPort(MDP)的DisplayPort,高清晰度多媒体接口(HDMI),Firewire,或者其他类型。
在一些实施例中,计算设备2100可以实现图1和图3-图5的设备100。例如,计算设备2100可以包括电路104、118、116、132、136等。在一种示例中,处理器2110可以包括处理器108。缓存112可以耦合到处理器2110。存储装置120、124、128可以被包括在计算设备2100中(例如,在存储器子系统2160中)。计算设备2100可以进行操作以例如响应于检测到触发事件而以可配置的方式将数据从存储装置120传输到存储装置124,例如,如本公开中所讨论的。
说明书中对“实施例”、“一个实施例”、“一些实施例”或“其他实施例”的引用是指结合这些实施例描述的特定特征、结构或特性被包括在至少一些实施例中,但不一定是所有实施例。各处出现“实施例”、“一个实施例”或“一些实施例”不一定都指相同的实施例。如果说明书指出“可以”、“可能”或“可”包括组件、特征、结构或特性,则不是必须包括该特定组件、特征、结构或特性。如果说明书或权利要求书提及“一个”或“一”元件,则并不意味着仅存在一个元件。如果说明书或权利要求书提及“附加”元件,则不排除存在一个以上附加元素。
此外,在一个或多个实施例中,可以以任何合适的方式组合特定特征、结构、功能或特性。例如,第一实施例可以与第二实施例组合,在与这两个实施例相关联的特定特征、结构、功能或特性不互斥的任何情况下。
虽然已经结合本公开的特定实施例描述了本公开,但是根据前述描述,这样的实施例的许多替代、修改和变化对于本领域技术人员将是易于理解的。本公开的实施例旨在涵盖落入所附权利要求的广泛范围内的所有这样的替代、修改和变化。
另外,为了简化图示和讨论,并且不会使本公开模糊,在所呈现的附图中可能会或可能不会示出与集成电路(IC)芯片和其他组件的众所周知的电源/接地连接。此外,可以以框图形式示出布置,以便避免使本公开模糊,并且还鉴于以下事实:关于这种框图布置的实现方式的细节高度依赖于本公开将在其内实现的平台(即,这些细节应该完全在本领域技术人员的能力范围内)。在阐述具体细节(例如,电路)以描述本公开的示例实施例的情况下,对于本领域的技术人员应当易于理解的是,可以在没有这些具体细节的情况下或以这些具体细节的变体来实践本公开。因此,该描述应被认为是说明性的而不是限制性的。
以下示例涉及另外的实施例。在一个或多个实施例中的任何地方都可以使用这些示例中的细节。本文描述的装置的所有可选特征也可以相对于方法或过程来实现。
示例1。一种装置,包括:第一存储设备,用于存储一个或多个参数;第二存储设备,用于存储数据;以及第三存储设备;第一电路,用于检测触发事件;以及第二电路,用于响应于所述触发事件,使得将所述数据从所述第二存储设备传输到所述第三存储设备,同时所述装置的一个或多个组件用于根据所述一个或多个参数进行操作。
示例2。示例1或任何其他示例所述的装置,其中,所述一个或多个参数包括如下项中的一项或多项:关于在所述数据正被传输时可操作的处理核的第一数量的指示;关于在所述数据正被传输时处于低功率状态或非可操作的处理核的第二数量的指示;关于与所述数据的传输相关联的、处理核的操作电压或操作频率中的一者或两者的指示;关于多个模式中的第一模式的指示,其中,在所述数据正被传输时,所述装置的所述一个或多个组件用于根据所述第一模式进行操作;或者对于如下一个或多个组件的标识,该一个或多个组件在所述数据正被传输时不用于传输数据,并且用于以低功率状态或非操作状态进行操作。
示例3。示例1或任何其他示例所述的装置,还包括:第三电路,用于基于如下项中的一项或多项来配置所述一个或多个参数:所述装置的电池的电荷水平,所述触发事件的类型,或者要传输的数据量。
示例4。示例3或任何其他示例所述的装置,其中,所述第三电路用于:响应于所述电池的电荷水平高于阈值,将所述一个或多个参数配置为具有第一值;和响应于所述电池的电荷水平低于阈值,将所述一个或多个参数配置为具有第二值,其中,所述第一值不同于所述第二值。
示例5。示例3或任何其他示例所述的装置,其中,所述第三电路用于:响应于所述触发事件为第一类型,将所述一个或多个参数配置为具有第一值,所述第一值与所述装置中可操作以传输所述数据的组件的第一数量相对应;和响应于所述触发事件为第二类型,将所述一个或多个参数配置为具有第二值,所述第二值与所述装置中可操作以传输所述数据的组件的第二数量相对应,其中,所述第一数量不同于所述第二数量。
示例6。示例5或任何其他示例所述的装置,其中:所述第一类型的触发事件包括来自交流(AC)到直流(DC)适配器的电源的丢失,所述适配器用于向所述装置提供AC电力;所述第二类型的触发事件包括所述装置中导致所述装置启动或重置的错误;并且所述第一数量低于所述第二数量。
示例7。示例3或任何其他示例所述的装置,其中,所述第三电路用于:响应于所述数据量高于阈值,将所述一个或多个参数配置为具有第一值,所述第一值与所述装置中可操作以传输所述数据的组件的第一数量相对应;和响应于所述数据量低于阈值,将所述一个或多个参数配置为具有第二值,所述第二值与所述装置中可操作以传输所述数据的组件的第二数量相对应,其中,所述第一数量高于所述第二数量。
示例8。示例1-6中任一项或任何其他示例所述的装置,其中,所述触发事件包括如下项中的一项或两项:来自交流(AC)到直流(DC)适配器的电源的丢失,所述适配器用于向所述装置提供AC电力;或者所述装置中导致所述装置启动或重置的错误。
示例9。示例1-7中任一项或任何其他示例所述的装置,其中:所述第一存储设备包括一个或多个寄存器;所述第二存储设备包括易失性存储器;并且所述第三存储设备包括非易失性存储器。
示例10。示例1-7中任一项或任何其他示例所述的装置,其中:在检测到所述触发事件之后并响应于所述触发事件,所述数据的第一子集被存储在所述第二存储设备中;并且在检测到所述触发事件之前,所述数据的第二子集被存储在所述第二存储设备中。
示例11。示例10或任何其他示例所述的装置,其中:所述数据的第一子集被从如下项中的一项或多项存储在所述第二存储设备中:缓存,处理器,写队列,或者输入/输出(IO)路径。
示例12。一种系统,包括:存储器,用于存储数据;处理器,被耦接至所述存储器,所述处理器包括多个处理核;非易失性存储设备;第一电路,用于响应于触发事件,使得将所述数据从所述存储器传输到所述非易失性存储设备;第二电路,用于在所述数据正被传输时根据一个或多个参数来配置所述多个处理核中的个体处理核的操作;以及无线接口,用于允许所述处理器与另一设备通信。
示例13。示例12或任何其他示例所述的系统,其中,所述一个或多个参数包括如下项中的一项或两项:关于在所述数据正被传输时可操作的处理核的第一数量的指示;或者关于在所述数据正被传输时处于禁用状态的处理核的第二数量的指示。
示例14。示例12或任何其他示例所述的系统,其中,所述一个或多个参数包括:关于与所述数据的传输相关联的、处理核的操作电压或操作频率中的一者或两者的指示。
示例15。示例12或任何其他示例所述的系统,其中,所述一个或多个参数包括:关于多个模式中的第一模式的指示,其中,所述多个处理核用于在所述数据正被传输时根据所述第一模式进行操作。
示例16。示例12或任何其他示例所述的系统,其中,所述第二电路用于进一步根据如下项中的一项或多项来配置所述多个处理核中的个体处理核的操作:所述系统的电池的电荷水平,所述触发事件的类型,或者要传输的数据量。
示例17。示例12-16中任一项或任何其他示例所述的系统,其中,所述非易失性存储设备是如下项中的一项:只读存储器(ROM),闪存,闪速驱动器,磁性计算机存储设备,硬盘驱动器,固态驱动器,光盘,或者外部硬驱动器。
示例18。一种装置,包括:第一存储设备,用于存储一个或多个参数;第二存储设备,用于存储数据;以及第三存储设备;第一电路,用于将所述一个或多个参数配置为具有与第一模式相对应的第一值并且具有与第二模式相对应的第二值;第二电路,用于检测触发事件,并且基于所述触发事件的类型来确定所述装置的模式;以及第三电路,用于响应于所述触发事件进行如下操作:基于所述装置的所确定的模式,针对所述一个或多个参数选择所述第一值或所述第二值中的一者,以及在所述装置的一个或多个组件用于根据所述一个或多个参数的所述第一值或所述第二值中所选择的一者进行操作时,使得将所述数据从所述第二存储设备传输到所述第三存储设备。
示例19。示例18或任何其他示例所述的装置,其中:响应于对所述第一值的选择,所述装置的第一数量的组件可操作以传输所述数据;并且响应于对所述第二值的选择,所述装置的第二数量的组件可操作以传输所述数据,所述第一数量不同于所述第二数量。
示例20。示例19或任何其他示例所述的装置,其中:第一类型的触发事件包括来自交流(AC)到直流(DC)适配器的电源的丢失,所述适配器用于向所述装置提供AC电力;第二类型的触发事件包括所述装置中导致所述装置启动或重置的错误;所述第三电路用于基于确定所述触发事件为所述第一类型,针对所述一个或多个参数选择所述第一值;所述第三电路用于基于确定所述触发事件为所述第二类型,针对所述一个或多个参数选择所述第二值;并且所述第一数量低于所述第二数量。
示例21。一种非暂态计算机可读存储介质,用于存储指令,所述指令在由处理器执行时使得所述处理器:检测事件;响应于检测到所述事件,访问一个或多个参数;响应于检测到所述事件,使得将数据从易失性存储设备传输到非易失性存储设备;以及在数据正被传输时,根据所述一个或多个参数来操作所述处理器。
示例22。示例21或任何其他示例所述的非暂态计算机可读存储介质,其中,所述指令使得所述处理器:在检测到所述事件之后并且在将所述数据从所述易失性存储设备传输到所述非易失性存储设备之前,将所述数据的第一子集传输到所述易失性存储设备。
示例23。示例21-22中任一项或任何其他示例所述的非暂态计算机可读存储介质,为了根据所述一个或多个参数来操作所述处理器,所述指令使得所述处理器:根据所述一个或多个参数来操作所述处理器的第一处理核,以将所述数据从所述易失性存储设备传输到所述非易失性存储设备;以及当所述数据正被从所述易失性存储设备传输到所述非易失性存储设备时,根据所述一个或多个参数来禁用所述处理器的第二处理核。
示例24。一种方法,包括:检测事件;响应于检测到所述事件,访问一个或多个参数;响应于检测到所述事件,使得将数据从易失性存储设备传输到非易失性存储设备;以及在数据正被传输时,根据所述一个或多个参数来操作所述处理器。
示例25。示例24或任何其他示例所述的方法,还包括:在检测到所述事件之后并且在将所述数据从所述易失性存储设备传输到所述非易失性存储设备之前,将所述数据的第一子集传输到所述易失性存储设备。
示例26。示例24-25中任一项或任何其他示例所述的方法,其中根据所述一个或多个参数来操作所述处理器包括:根据所述一个或多个参数来操作所述处理器的第一处理核,以将所述数据从所述易失性存储设备传输到所述非易失性存储设备;以及当所述数据正被从所述易失性存储设备传输到所述非易失性存储设备时,根据所述一个或多个参数来禁用所述处理器的第二处理核。
示例27。一种装置,包括:用于执行示例24-26中任一项或任何其他示例所述的方法的组件。
示例28。一种装置,包括:用于检测事件的组件;用于响应于检测到所述事件,访问一个或多个参数的组件;用于响应于检测到所述事件,使得将数据从易失性存储设备传输到非易失性存储设备的组件;以及用于在数据正被传输时,根据所述一个或多个参数来操作所述处理器的组件。
示例29。示例28或任何其他示例所述的装置,还包括:用于在检测到所述事件之后并且在将所述数据从所述易失性存储设备传输到所述非易失性存储设备之前,将所述数据的第一子集传输到所述易失性存储设备的组件。
示例30。示例28-29中任一项或任何其他示例所述的装置,其中用于根据所述一个或多个参数来操作所述处理器的组件包括:用于根据所述一个或多个参数来操作所述处理器的第一处理核,以将所述数据从所述易失性存储设备传输到所述非易失性存储设备的组件;以及用于当所述数据正被从所述易失性存储设备传输到所述非易失性存储设备时,根据所述一个或多个参数来禁用所述处理器的第二处理核的组件。
提供了摘要,其将允许读者确定本技术公开的性质和要旨。摘要是在理解其不会用于限制权利要求的范围或含义的情况下提交的。所附权利要求据此被结合到中详细描述,其中每个权利要求独立地作为单独的实施例。

Claims (25)

1.一种装置,包括:
第一存储设备,用于存储一个或多个参数;第二存储设备,用于存储数据;以及第三存储设备;
第一电路,用于检测触发事件;以及
第二电路,用于响应于所述触发事件,使得将所述数据从所述第二存储设备传输到所述第三存储设备,同时所述装置的一个或多个组件用于根据所述一个或多个参数进行操作。
2.根据权利要求1所述的装置,其中,所述一个或多个参数包括如下项中的一项或多项:
关于在所述数据正被传输时可操作的处理核的第一数量的指示;
关于在所述数据正被传输时处于低功率状态或非可操作的处理核的第二数量的指示;
关于与所述数据的传输相关联的、处理核的操作电压或操作频率中的一者或两者的指示;
关于多个模式中的第一模式的指示,其中,在所述数据正被传输时,所述装置的所述一个或多个组件用于根据所述第一模式进行操作;或者
对于如下一个或多个组件的标识:在所述数据正被传输时,该一个或多个组件不用于传输数据,并且用于以低功率状态或非操作状态进行操作。
3.根据权利要求1所述的装置,还包括:
第三电路,用于基于如下项中的一项或多项来配置所述一个或多个参数:所述装置的电池的电荷水平,所述触发事件的类型,或者要传输的数据量。
4.根据权利要求3所述的装置,其中,所述第三电路用于:
响应于所述电池的电荷水平高于阈值,将所述一个或多个参数配置为具有第一值;和
响应于所述电池的电荷水平低于阈值,将所述一个或多个参数配置为具有第二值,
其中,所述第一值不同于所述第二值。
5.根据权利要求3所述的装置,其中,所述第三电路用于:
响应于所述触发事件为第一类型,将所述一个或多个参数配置为具有第一值,所述第一值与所述装置中可操作以传输所述数据的组件的第一数量相对应;和
响应于所述触发事件为第二类型,将所述一个或多个参数配置为具有第二值,所述第二值与所述装置中可操作以传输所述数据的组件的第二数量相对应,
其中,所述第一数量不同于所述第二数量。
6.根据权利要求5所述的装置,其中:
所述第一类型的触发事件包括来自交流(AC)到直流(DC)适配器的电源的丢失,所述适配器用于向所述装置提供AC电力;
所述第二类型的触发事件包括所述装置中导致所述装置启动或重置的错误;并且
所述第一数量低于所述第二数量。
7.根据权利要求3所述的装置,其中,所述第三电路用于:
响应于所述数据量高于阈值,将所述一个或多个参数配置为具有第一值,所述第一值与所述装置中可操作以传输所述数据的组件的第一数量相对应;和
响应于所述数据量低于阈值,将所述一个或多个参数配置为具有第二值,所述第二值与所述装置中可操作以传输所述数据的组件的第二数量相对应,
其中,所述第一数量高于所述第二数量。
8.根据权利要求1-6中任一项所述的装置,其中,所述触发事件包括如下项中的一项或两项:
来自交流(AC)到直流(DC)适配器的电源的丢失,所述适配器用于向所述装置提供AC电力;或者
所述装置中导致所述装置启动或重置的错误。
9.根据权利要求1-7中任一项所述的装置,其中:
所述第一存储设备包括一个或多个寄存器;
所述第二存储设备包括易失性存储器;并且
所述第三存储设备包括非易失性存储器。
10.根据权利要求1-7中任一项所述的装置,其中:
在检测到所述触发事件之后并且作为响应,所述数据的第一子集被存储在所述第二存储设备中;并且
在检测到所述触发事件之前,所述数据的第二子集被存储在所述第二存储设备中。
11.根据权利要求10所述的装置,其中:
所述数据的第一子集被从如下项中的一项或多项存储在所述第二存储设备中:缓存,处理器,写队列,或者输入/输出(IO)路径。
12.一种系统,包括:
存储器,用于存储数据;
处理器,被耦合至所述存储器,所述处理器包括多个处理核;
非易失性存储设备;
第一电路,用于响应于触发事件,使得将所述数据从所述存储器传输到所述非易失性存储设备;
第二电路,用于在所述数据正被传输时根据一个或多个参数来配置所述多个处理核中的个体处理核的操作;以及
无线接口,用于允许所述处理器与另一设备通信。
13.根据权利要求12所述的系统,其中,所述一个或多个参数包括如下项中的一项或两项:
关于在所述数据正被传输时可操作的处理核的第一数量的指示;或者
关于在所述数据正被传输时处于禁用状态的处理核的第二数量的指示。
14.根据权利要求12所述的系统,其中,所述一个或多个参数包括:
关于与所述数据的传输相关联的、处理核的操作电压或操作频率中的一者或两者的指示。
15.根据权利要求12所述的系统,其中,所述一个或多个参数包括:
关于多个模式中的第一模式的指示,
其中,所述多个处理核用于在所述数据正被传输时根据所述第一模式进行操作。
16.根据权利要求12所述的系统,其中,所述第二电路用于还根据如下项中的一项或多项来配置所述多个处理核中的个体处理核的操作:所述系统的电池的电荷水平,所述触发事件的类型,或者要传输的数据量。
17.根据权利要求12-16中任一项所述的系统,其中,所述非易失性存储设备是如下项中的一项:只读存储器(ROM),闪存,闪速驱动器,磁性计算机存储设备,硬盘驱动器,固态驱动器,光盘,或者外部硬驱动器。
18.一种装置,包括:
第一存储设备,用于存储一个或多个参数;第二存储设备,用于存储数据;以及第三存储设备;
第一电路,用于将所述一个或多个参数配置为具有与第一模式相对应的第一值并且具有与第二模式相对应的第二值;
第二电路,用于检测触发事件,并且基于所述触发事件的类型来确定所述装置的模式;以及
第三电路,用于响应于所述触发事件进行如下操作:
基于所述装置的所确定的模式,针对所述一个或多个参数选择所述第一值或所述第二值中的一者,以及
在所述装置的一个或多个组件用于根据所述一个或多个参数的所述第一值或所述第二值中所选择的一者进行操作时,使得将所述数据从所述第二存储设备传输到所述第三存储设备。
19.根据权利要求18所述的装置,其中:
响应于对所述第一值的选择,所述装置的第一数量的组件可操作以传输所述数据;并且
响应于对所述第二值的选择,所述装置的第二数量的组件可操作以传输所述数据,所述第一数量不同于所述第二数量。
20.根据权利要求19所述的装置,其中:
第一类型的触发事件包括来自交流(AC)到直流(DC)适配器的电源的丢失,所述适配器用于向所述装置提供AC电力;
第二类型的触发事件包括所述装置中导致所述装置启动或重置的错误;
所述第三电路用于基于确定所述触发事件为所述第一类型,针对所述一个或多个参数选择所述第一值;
所述第三电路用于基于确定所述触发事件为所述第二类型,针对所述一个或多个参数选择所述第二值;并且
所述第一数量低于所述第二数量。
21.一种非暂态计算机可读存储介质,用于存储指令,所述指令在由处理器执行时使得所述处理器:
检测事件;
响应于检测到所述事件,访问一个或多个参数;
响应于检测到所述事件,使得将数据从易失性存储设备传输到非易失性存储设备;以及
在数据正被传输时,根据所述一个或多个参数来操作所述处理器。
22.根据权利要求21所述的非暂态计算机可读存储介质,其中,所述指令使得所述处理器:
在检测到所述事件之后并且在将所述数据从所述易失性存储设备传输到所述非易失性存储设备之前,将所述数据的第一子集传输到所述易失性存储设备。
23.根据权利要求21-22中任一项所述的非暂态计算机可读存储介质,为了根据所述一个或多个参数来操作所述处理器,所述指令使得所述处理器:
根据所述一个或多个参数来操作所述处理器的第一处理核,以将所述数据从所述易失性存储设备传输到所述非易失性存储设备;以及
当所述数据正被从所述易失性存储设备传输到所述非易失性存储设备时,根据所述一个或多个参数来禁用所述处理器的第二处理核。
24.一种方法,包括:
检测事件;
响应于检测到所述事件,访问一个或多个参数;
响应于检测到所述事件,使得将数据从易失性存储设备传输到非易失性存储设备;以及
在数据正被传输时,根据所述一个或多个参数来操作所述处理器。
25.根据权利要求24所述的方法,还包括:
在检测到所述事件之后并且在将所述数据从所述易失性存储设备传输到所述非易失性存储设备之前,将所述数据的第一子集传输到所述易失性存储设备。
CN201880076854.4A 2017-12-28 2018-12-04 从易失性存储器到非易失性存储器的可配置数据刷新 Pending CN111406254A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/856,780 US10496298B2 (en) 2017-12-28 2017-12-28 Configurable flush of data from volatile memory to non-volatile memory
US15/856,780 2017-12-28
PCT/US2018/063910 WO2019133201A1 (en) 2017-12-28 2018-12-04 Configurable flush of data from volatile memory to non-volatile memory

Publications (1)

Publication Number Publication Date
CN111406254A true CN111406254A (zh) 2020-07-10

Family

ID=67059635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880076854.4A Pending CN111406254A (zh) 2017-12-28 2018-12-04 从易失性存储器到非易失性存储器的可配置数据刷新

Country Status (4)

Country Link
US (1) US10496298B2 (zh)
CN (1) CN111406254A (zh)
DE (1) DE112018005673T5 (zh)
WO (1) WO2019133201A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10922162B2 (en) * 2018-06-13 2021-02-16 Dell Products, L.P. Capturing video data and serial data during an information handling system failure
US11989562B2 (en) * 2020-08-14 2024-05-21 Lenovo (Singapore) Pte. Ltd. Device state data loading onto RFID chip
US11237917B1 (en) * 2020-08-28 2022-02-01 Dell Products L.P. System and method for data protection during power loss of a storage system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171386B2 (en) * 2008-03-27 2012-05-01 Arm Limited Single event upset error detection within sequential storage circuitry of an integrated circuit
US8325554B2 (en) 2008-07-10 2012-12-04 Sanmina-Sci Corporation Battery-less cache memory module with integrated backup
US8281169B2 (en) * 2008-08-27 2012-10-02 Wireless Silicon Group, Inc. Method and system for power management for a handheld mobile electronic device executing-in-place an application kernel from execute-in-place non-volatile memory (XIP NVM)
US8468370B2 (en) 2009-09-16 2013-06-18 Seagate Technology Llc Systems, methods and devices for control of the operation of data storage devices using solid-state memory and monitoring energy used therein
WO2012082792A2 (en) 2010-12-13 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for auto-commit memory
US9244785B2 (en) * 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9535831B2 (en) * 2014-01-10 2017-01-03 Advanced Micro Devices, Inc. Page migration in a 3D stacked hybrid memory
US9563370B2 (en) * 2014-09-02 2017-02-07 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device
US9710343B2 (en) 2015-03-27 2017-07-18 Facebook, Inc. Power fail circuit for multi-storage-device arrays
US9891695B2 (en) * 2015-06-26 2018-02-13 Intel Corporation Flushing and restoring core memory content to external memory
US10115442B2 (en) * 2016-01-22 2018-10-30 Microsoft Technology Licensing, Llc Demand-based provisioning of volatile memory for use as non-volatile memory
US9760147B2 (en) 2016-01-22 2017-09-12 Microsoft Technology Licensing, Llc Power control for use of volatile memory as non-volatile memory
US10289333B2 (en) * 2017-06-14 2019-05-14 Western Digital Technologies, Inc. Data storage device configured to perform operations using a wireless interface

Also Published As

Publication number Publication date
US10496298B2 (en) 2019-12-03
US20190205042A1 (en) 2019-07-04
DE112018005673T5 (de) 2020-08-06
WO2019133201A1 (en) 2019-07-04

Similar Documents

Publication Publication Date Title
US20230236654A1 (en) System on chip for reducing wake-up time, method of operating same, and computer system including same
US10802736B2 (en) Power down mode for universal flash storage (UFS)
TWI494863B (zh) 雙介面讀卡機模塊
CN106575145B (zh) 芯片上系统中存储器访问的功率管理
US20080010514A1 (en) Backup power supply and desktop computer and method for protecting the data thereof
CN111433709A (zh) 用于低功率和低占空比设备的分层功率管理单元
TW200903243A (en) Dynamic power reduction
US10175995B1 (en) Device hibernation control
US10268486B1 (en) Expedited resume process from hibernation
US9880610B2 (en) Power supplying method, power supplying system, and electronic device
US20220011842A1 (en) Apparatus and method for achieving deterministic power saving state
CN111406254A (zh) 从易失性存储器到非易失性存储器的可配置数据刷新
JP2021193544A (ja) 高速で動的なキャパシタンス、周波数、及び/又は電圧スロットリング装置及び方法
JP6838123B1 (ja) 情報処理装置、及び電源制御方法
US11237610B2 (en) Handling loss of power for uninterruptible power supply efficiency
TW202226016A (zh) 安全的裝置電力啟動設備及方法
US8307226B1 (en) Method, apparatus, and system for reducing leakage power consumption
CN113841200A (zh) 基于抑制的存储器刷新改进电池寿命
US11705750B2 (en) Power negotiation sequence to improve user experience and battery life
US12106818B2 (en) Power control of a memory device in connected standby state
US20230096154A1 (en) Apparatus and method for isolating and discharging a battery
CN115981437A (zh) 一种ddr5内存条上下电方法、装置、设备及介质
EP3885880A1 (en) Power management circuitry for controlling a power state transition based on a predetermined time limit
WO2023167767A1 (en) Method and apparatus to control power supply rails during platform low power events for enhanced usb-c user experience
CN115473297A (zh) 电源电路、对应的设备和方法

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