CN105474192A - 数据到非易失性存储器的事件触发的存储 - Google Patents
数据到非易失性存储器的事件触发的存储 Download PDFInfo
- Publication number
- CN105474192A CN105474192A CN201380079045.6A CN201380079045A CN105474192A CN 105474192 A CN105474192 A CN 105474192A CN 201380079045 A CN201380079045 A CN 201380079045A CN 105474192 A CN105474192 A CN 105474192A
- Authority
- CN
- China
- Prior art keywords
- processor
- resource
- status information
- nonvolatile memory
- data
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 135
- 230000001960 triggered effect Effects 0.000 title 1
- 230000004044 response Effects 0.000 claims abstract description 21
- 238000012546 transfer Methods 0.000 claims abstract description 7
- 230000005540 biological transmission Effects 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 28
- 230000000977 initiatory effect Effects 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000005259 measurement Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 63
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 239000003990 capacitor Substances 0.000 description 6
- 238000013523 data management Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000014759 maintenance of location Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/165—Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2015—Redundant power supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3031—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a motherboard or an expansion card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Retry When Errors Occur (AREA)
- Power Sources (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
事件管理资源监视处理器环境。响应于检测到处理器环境中触发事件的发生,事件管理资源发起处理器高速缓存数据从处理器环境中的易失性存储装置到非易失性存储器的传递。事件管理资源可以被配置成产??生与高速缓存数据到相应的非易失性存储器资源的传递相关联的状态信息。事件管理资源在非易失性存储资源中存储状态信息以供稍后检索。因此,与引起传递的事件相关联的状态信息可用于在相应的计算机***的随后的加电或重新引导时的分析。
Description
发明人:Sarathy Jayakumar, Mohan J.Kumar,和Krishnakanth V. Sistla。
背景技术
许多现代计算机化的设备需要持久地在非易失性存储器中存储数据的能力,甚至当给设备的电力关断的时候。能够实现这一点的存储器的示例是非易失性双列直插式存储器模块(NVDIMM)。典型的NVDIMM包括非易失性存储介质,诸如NAND或NOR闪速存储器,用于在存储器单元的阵列中存储数字信息。因为数字信息(即数据)存储在非易失性NAND/NOR闪速存储器中,所以数据是“耐久的”,并且在电力丢失或***故障期间继续存在于计算机***/计算机化的设备中。在电力复原到利用NVDIMM的计算机化的设备之后,对应的计算机化的设备可以从NVDIMM访问存储的数字数据。
在某些实例中,根据接收的输入,相应计算机设备中的软件可以修改在非易失性存储器中存储的数据。例如,假设:软件期望更新在非易失性存储器中存储的记录(诸如记录A)。在这样的实例中,软件检索在非易失性存储器中存储的原始记录A的拷贝,并在对应的易失性存储器中存储记录A的拷贝。
当在易失性存储器中时,软件对记录的拷贝(即记录A')做出适当的改变或更新。在完成对易失性存储器中的记录A'(拷贝)的任何改变之后,软件然后发起记录A'的经更新的拷贝到非易失性存储器的存储。如上所讨论的,如果记录A'的存储在去除供电(depower)之前被成功地拷贝到非易失性存储器,则经修改的记录A'是从非易失性存储器可检索的。
如果诸如电力丢失之类的故障在完成经修改的记录A'到目标非易失性存储器的存储之前发生,则可能的是:没有任何的记录A'或只有一部分的记录A'(如与所有的记录A'相对)被写入到非易失性存储器。
在某些实例中,作为故障的结果,与记录A'相关联的对应状态信息可能错误地指示:在非易失性存储器中的记录A'的部分写入的(或潜在地劣化的)拷贝是针对记录A的最近的拷贝。在这样的实例中,电力故障导致数据丢失,因为经修改的记录A'未被恰当地存储在非易失性存储器中。
附图说明
被并入到此说明书中并构成此说明书的一部分的附图图示本文所述的一个或多个实施例,并且连同具体实施方式一起,解释这些实施例。在附图中:
图1是根据本文实施例的示例性处理器环境的框图;
图2是根据本文实施例的图示不同类型的事件的监视的示例性图解;
图3是根据本文实施例的图示被配置成管理所检测的触发事件的SMI(***管理中断)处理机(handler)的实现方式的示例性图解;
图4是根据本文实施例的操作以实现方法的示例性计算机***的框图;
图5是根据本文实施例的图示管理所检测的触发事件的示例性方法的流程图;以及
图6是根据本文实施例的图示计算机***和对应的显示屏的示例性图解。
具体实施方式
通常,数据丢失(由于诸如电力丢失、硬件故障、软件复位等等之类的事件)是高度不合期望的,因为它阻止相应的计算机***恢复回到其在事件发生之前的原始状态。例如,如上所讨论的,在相应计算机***的完全电力关断之前,记录中的经修改的数据可能未被恰当地存储在相应的非易失性存储器中。
如本文讨论的某些实施例包括事件管理资源,所述事件管理资源与常规技术相比提供更先进的保存数据方式。例如,事件管理资源监视处理器环境。与常规技术形成对比,并且响应于检测到处理器环境中触发事件的发生,事件管理资源发起处理器高速缓存数据从处理器环境中的易失性存储装置(诸如一个或多个对应的高速缓存)到非易失性存储器的传递。
在一个实施例中,事件管理资源可以被配置成产生与高速缓存数据到相应非易失性存储器资源的传递相关联的状态信息。事件管理资源在非易失性存储资源中存储状态信息以供稍后检索。因此,可以使得与引起传递的事件相关联的状态信息可用于在相应计算机***的随后加电或重新引导时的分析。
通过非限制性示例的进一步方式,事件管理资源可以被配置成产生第一状态信息,所述第一状态信息指示引起高速缓存数据到非易失性存储器的传递的底层触发事件的发生。事件管理资源可以被配置成在非易失性存储资源中存储第一状态信息,使得状态信息在电力的移除和随后的再施加之后的稍后时间点处是可用的。
根据还另外的实施例,事件管理资源可以被配置成产生第二状态信息,以指示所发起的处理器高速缓存数据到非易失性存储器的传递是否成功。事件管理资源还可以被配置成在相应的非易失性存储资源中存储第二状态信息,使得状态信息在电力的移除和再施加之后的稍后时间点处是可用的。
因此,在处理器环境的随后的加电和/或重新引导时,第一状态信息和第二状态信息可用于检索和分析,以确定在使用计算机的先前会话期间的高速缓存数据是否在复位事件之前被存储在非易失性存储器中。
在一个实施例中,计算机***可以被配置成在计算机***的重新引导时执行BIOS(基本输入输出***)软件。软件可以被配置成做出关于所存储的状态信息的设置的查询,以确定相应的计算机***的最后的掉电是否由对应的不合期望的事件(诸如电力故障)引起。此外,基于状态信息的设置,软件可以确定对应的数据(诸如在易失性存储装置中存储的高速缓存数据)是否在完全的电力丢失之前被恰当地存储到非易失性存储器。
在还另外的实施例中,在随后的重新引导时,软件(或其它合适的资源)可以被配置成在相应的软件重新引导时复位第一状态信息和第二信息。状态信息的清除确保:每当在初始加电期间从存储装置读取状态信息时,指示针对使用相应计算机设备的先前会话的对应高速缓存数据是否被存储在非易失性存储器中。
通过非限制性示例的进一步方式,故障管理器资源可以被配置成检索状态信息并在相应的日志中存储这样的信息。因此,相应的日志可以用于检测故障条件、复位条件等等的历史。
在某些实例中,保存到非易失性存储器的高速缓存数据可以用于将处理器环境还原到在发生相应故障之前的状态。因此,本文的实施例包括:减轻在诸如电力丢失之类的触发事件期间的数据丢失。
现在,更具体地,图1是根据本文实施例的图示处理器环境的示例性图解。
正如所示,处理器环境100可以包括处理器资源122、对应的电源156、监视器资源144、事件管理资源140、非易失性存储器资源160、存储资源195、故障管理器198和储存库180。
正如所示,电源156产生电力信号104以给处理器资源122供电。电力信号104可以被配置成生成任何合适的电压,以给处理器环境100中的一个或多个不同类型的设备供电。
在该非限制性示例性实施例中,诸如一个或多个电容器之类的能量存储资源103存储由电源156提供的电力的至少一部分。在电力故障的事件中(诸如其中电源156不再输出恰当电压范围中的电力信号104以给处理器环境122供电的条件),能量存储资源103中存储的能量在至少有限量的保持(holdup)时间内继续向处理器资源122提供适当的电力。
保持时间的量可以变化,这取决于诸如以下各项的参数:由处理器资源122消耗的电力的量、与能量存储资源103相关联的能量存储容量等等。通过非限制性示例的方式,能量存储资源可以被配置成保持处理器资源122大约数毫秒或任何其它合适的量。
如进一步所示,处理器资源122可以被配置成包括一个或多个处理器单元110,诸如处理器单元110-1、处理器单元110-2等等。
在一个实施例中,处理器单元110执行对应的软件指令以执行相同或不同的功能。由处理器单元110执行的软件指令可以从任何合适的资源检索,诸如非易失性存储器资源160的存储单元167。
在该示例性实施例中,处理器单元110中的每一个包括促进相应处理线程的执行的对应高速缓存资源。高速缓存120(高速缓存120-1、高速缓存120-2,...)可以被配置成存储由相应的处理器单元使用的任何合适类型的信息,诸如可执行代码、检索的数据、修改的数据等等。
典型地,高速缓存120存储数据(代表相应的处理器单元),使得(由相应的处理器单元)对该数据的未来请求可以被更快地服务。例如,在相应的高速缓存中存储的数据可以包括数据值,诸如还被存储在别处的先前计算的值。如果请求的数据被包含在高速缓存中(即存在高速缓存命中),则相应的请求可以通过简单地读取高速缓存而被服务。从对应的高速缓存读取或向其写入与访问存储相应数据的另一存储器资源(诸如非易失性存储器资源160、DRAM等等)相比起来比较快。
高速缓存120中的每一个可以是易失性存储资源。也就是说,给高速缓存120的电力的移除导致数据丢失。回想:能量存储资源103甚至在电力信号104终止之后提供某一保持时间。
在该示例性实施例中,处理线程125-1利用高速缓存120-1来存储数据,并执行相应的软件功能性;处理线程125-2利用高速缓存120-2来存储数据,并执行相应的软件功能性;等等。
在相应的处理器单元110中软件的执行期间,相应的处理线程125可以提交某些数据,用于在非易失性存储器资源160中的存储。例如,处理器资源122可以包括队列资源150,诸如一个或多个所谓的写入未决队列,以存储将在非易失性存储器资源160中存储的数据。经由传递113,队列资源150把在队列资源150中存储的对应数据拷贝到缓冲器165,作为队列数据150-C。
缓冲器165(诸如易失性存储器资源)中相应的队列数据到非易失性存储器存储单元167的最终存储确保:在处理器资源122停止运转并且在稍后时间再次被重新供电之后,队列资源150中的对应数据将是可用的。在不存在故障的正常操作条件期间发生队列资源150中的数据的传递113。
如先前所讨论的,处理器环境100包括监视器资源144以监视输入102。如其名称所暗示的,监视器资源144监视输入102以检测处理器环境100中事件的发生。
图2是根据本文实施例的图示由监视器资源潜在地监视的不同类型的信息的示例性图解。
正如所示,输入102可以包括:ⅰ)电力信息102-1,诸如用于给处理器资源122供电的电力信号104的状态,ⅱ)热学信息102-2,诸如从检测处理器环境122中处理器单元110的温度的热学设备接收的信息,ⅲ)指示执行的软件是否发起复位或重新引导条件的软件复位信息102-3,等等。
通过非限制性示例的方式,事件可以包括:产生电力信号104的电源156的故障(使相应的计算机***停止运转),软件发起的复位条件(其中软件发起处理器资源122的重新引导)、热过载事件等等。
再次参考图1,在该示例中假设:输入102指示诸如电力信号156的丢失之类的触发事件的发生。在这样的实例中,监视器资源144检测电力丢失条件的发生,并向事件管理资源140生成信号111-1。能量存储资源103在电力信号104终止之后的至少短暂的持续时间内向处理器资源122提供电力。
经由信号111-1,事件管理资源144向事件管理资源140通知相应的触发事件,诸如电力丢失。
注意到,事件管理资源140可以是任何合适类型的资源。例如,事件管理资源140的全部或一部分可以是相对于处理器资源122完全不同地定位的硬件资源;事件管理资源140的全部或一部分可以是被集成到处理器资源122中的硬件资源;事件管理资源140的全部或一部分可以是由一个或多个处理线程125执行的功能性;等等。
回想:能量存储资源103存储某个量的能量以在电力信号104终止之后保持(即继续为其供电)处理器资源122。正如所提到的,由能量存储资源103提供的保持时间的量可以变化。本文的实施例包括:在由与能量存储资源103相关联的保持时间提供的相应时间窗口内发起高速缓存120中存储的高速缓存数据到相应的非易失性存储器的传递。
在检测到如由信号111-1指定的触发事件(诸如电力信号104的丢失)时,事件管理资源140执行一个或多个功能。例如,响应于检测到相应的触发事件,事件管理资源140发起在存储资源195中状态信息188-1的存储。状态信息188-1指示所检测的事件的发生。
注意到,存储资源195可以是在处理器环境100的重新供电或重新引导之后保持相应的状态信息的任何合适类型的非易失性资源,诸如寄存器、非易失性存储器单元、电池备份的易失性存储器单元等等。存储资源195可以被集成在事件管理资源140内或相对于事件管理资源140完全不同地定位。
响应于检测到如由信号111-1指示的相应的触发事件,事件管理资源140生成信号111-2,向控制单元155指示触发事件的发生。
响应于接收的信号111-2和相应触发事件的对应通知,控制单元155生成控制信号111-3以执行诸如以下各项的下面功能中的一个或多个:ⅰ)阻止由相应的处理器单元110对指令的进一步执行;ⅱ)阻止到处理器资源122中的处理器单元110的入站业务和从中的出站业务;ⅲ)发起高速缓存数据到缓冲器165的传递112(例如传递112-1、传递112-2等等);以及ⅳ)发起队列资源150中的队列数据到缓冲器165的传递,作为队列数据150-C。
高速缓存120中的数据到缓冲器165的传递112可以包括:将高速缓存120-1中存储的高速缓存数据拷贝到缓冲器165,作为高速缓存数据120-1-C;将高速缓存120-2中存储的高速缓存数据拷贝到缓冲器165,作为高速缓存数据120-2-C;等等。
可以并行或顺序地将相应的高速缓存120中的高速缓存数据拷贝到缓冲器165中。
因此,处理器环境100可以被配置成包括多个处理器单元110和对应的高速缓存120。高速缓存数据到非易失性存储器资源160的传递可以包括:根据如由控制单元155生成的控制信号111-3,发起多个对应的高速缓存120的每一个中的处理器高速缓存数据到非易失性存储器160中的缓冲器165的传递。在一个实施例中,控制单元155向一个或多个相应的处理器单元110传送控制信号111-3,以发起高速缓存数据到缓冲器165的传递。
注意到,非易失性存储器资源160可以是或包括任何合适类型的存储资源,诸如NAND闪速设备、NOR闪速设备、磁阻随机存取存储器(MRAM)设备、铁电随机存取存储器(FeTRAM)设备、诸如相变存储器(PCM)之类的3维(3-D)交叉点存储器设备、基于纳米线的非易失性存储器、并入了忆阻器(记忆电阻器)技术的存储器、自旋转移力矩(STT)-MRAM等等。
在一个实施例中,控制单元155或其它合适的一个或多个资源(诸如处理器单元110)在多个处理器单元110之中选择特定的处理器单元,以执行多个对应的高速缓存120的每一个中的处理器高速缓存数据到非易失性存储器资源160的传递112。
可替代地,对应的处理器单元110中的每一个可以由控制单元155通知,以向缓冲器165同时传递各自的高速缓存数据。
在检测到高速缓存数据(和潜在地其它相应的数据,诸如队列资源150中的队列数据)的拷贝到缓冲器165的适当传递112(如由处理器单元110所指示的)的发生之后,控制单元150发起处理器资源122中的电路的去除供电。在高速缓存数据和队列数据的适当传递之后,控制单元155向事件管理资源140生成反馈信号111-5。信号111-5指示高速缓存数据到缓冲器165的传递是否成功。
在该示例中假设:信号111-5指示高速缓存数据和队列数据到非易失性存储器资源160中的缓冲器165的成功传递。
响应于从控制单元155接收反馈信号111-5,其指示所发起的处理器高速缓存数据从处理器环境100中的易失性存储资源(诸如从相应的高速缓存120)到非易失性存储器资源160中的缓冲器165的传递112是成功的,事件管理资源140向非易失性存储器资源160生成诸如信号111-6之类的命令。
在一个实施例中,信号111-6指示从非易失性存储器资源160中的易失性缓冲器165向非易失性存储器资源165中对应的非易失性存储单元167传递处理器高速缓存数据(和潜在地其它数据,诸如队列数据150-C)。
通过非限制性示例的方式,信号111-6可以被配置成驱动非易失性存储器资源160的一个或多个相应的SAVE(保存)引脚,以向非易失性存储单元167提交缓冲器165中的相应数据。
注意到,非易失性存储器资源160还可以包括对应的能量存储资源,诸如电容器组。在这样的实例中,非易失性存储器资源160中的电容器组使能缓冲器165中的数据到对应的非易失性存储器存储单元167的最终存储,即使给非易失性存储器资源160的外部施加的电力已经由于诸如电力故障之类的条件而终止。
在一个实施例中,缓冲器165是易失性存储装置,诸如DRAM(动态随机存取存储器)。响应于接收到信号111-6,非易失性存储器资源160发起缓冲器165中的相应数据到相应的非易失性存储器存储单元167的传递。如先前所讨论的,缓冲器165中的数据到非易失性存储单元167的传递确保:在再次重新引导处理器资源122或对其重新供电之后,相应的高速缓存数据、队列数据等等是可用的。在非易失性存储器资源160的完全掉电之后,缓冲器165中存储的数据可能丢失。
此外注意到,除了生成信号111-6之外,事件管理资源140还生成信号111-7以在存储资源195中存储状态信息188-2。在该示例性实施例中,状态信息188-2指示:从相应的高速缓存120传递的高速缓存数据被恰当地存储到非易失性存储器存储单元167。
如果事件管理资源140没有接收到在能量存储资源103中的能量耗尽之前对应的数据未被恰当地传递到缓冲器165这一通知,则事件管理资源生成状态信息188-2,以指示从相应的高速缓存120传递的高速缓存数据未被恰当地存储到非易失性存储器存储单元167。
在处理器环境100的随后的加电和/或重新引导时,状态信息188(状态信息188-1和状态信息188-2)可用于检索和分析。
例如,处理器环境100可以被配置成在处理器环境100的重新引导时执行故障管理器198(诸如BIOS软件、BIOS发起的软件等等)。故障管理器198可以被配置成做出关于所存储的状态信息188-1的设置的查询,以确定处理器环境100的最后掉电是否由诸如电力故障、热学条件等等之类的对应的不合期望的事件引起。
如果是这样,并且基于状态信息188-2的设置,故障管理器198确定对应的数据(诸如在易失性存储装置中存储的高速缓存数据)是否在完全电力丢失之前被恰当地存储到非易失性存储器资源160的存储单元167。如果状态信息188指示:发生了故障并且对应的高速缓存数据被存储在被配置成存储这样的数据的非易失性存储器的对应部分中,则由状态信息188提供的反馈可以触发非易失性存储器资源160中对应数据(诸如检索或分析高速缓存数据)的关键恢复。
在一个实施例中,在处理器资源122的随后的重新引导时,在做出对状态信息188的查询之后,初始化软件或其它合适的资源可以被配置成复位状态信息188-1和状态信息188-2。在或大约在重新引导或重新供电时的状态信息188的清除或复位确保:存储资源195中存储的状态信息188对应于处理器资源122的最后电力状态和对应的使用。
通过非限制性示例的进一步方式,故障管理器198可以被配置成检索状态信息188并在相应的故障日志199中存储这样的信息。因此,相应的故障日志199可以用于检测在处理器环境100中发生的一种或多种不同类型的故障条件的历史。
如果故障管理器198检测到如由状态信息188指示的触发条件的发生,则故障管理器198可以利用所存储的高速缓存数据、队列数据等等,以将计算机***还原回到其在引起处理器环境100中处理器单元110的停止运转的触发事件之前的原始状态。
图3是根据本文实施例的图示中断处理机和相关功能性的执行的示例性图解。
在该示例中,处理器环境300包括初始化资源310。在一个实施例中,对应的处理器单元110中的一个或多个在相应的处理器环境300的引导、重新引导、初始供电等等时执行初始化资源310(诸如BIOS软件、初始化软件、BOOT(引导)软件等等)。
在将初始电力施加到处理器环境300之后,如其名称所暗示的,初始化资源310发起从诸如非易失性存储器资源160的存储单元167之类的合适资源对逻辑320(诸如软件指令、代码等等)的检索,并且在存储器资源351(诸如DRAM)中存储逻辑320以供执行。
通过非限制性示例的方式,如所提到的,逻辑320可以代表与在引导期间从非易失性存储器资源160检索的相应操作***相关联的软件指令。如所提到的,处理器单元110可以被配置成执行逻辑320。
由处理器环境300中的一个或多个处理器单元110对逻辑320的执行产生与***管理中断处理机340相关联的功能性。
在该示例中,并且以与先前讨论的类似方式,监视器资源144针对触发事件而监视处理器环境300。响应于检测到对应的触发事件,诸如电力丢失、软件发起的处理器复位、热过载条件等等,监视器资源144向事件管理资源140生成相应的通知信号311-1。
如先前所讨论的,触发事件可以包括:ⅰ)与电源156相关联的电力故障的发生,其中供应给处理器资源122的主电力信号104已经中断,ⅱ)软件发起的复位条件的发生,ⅲ)处理器环境300中的热学过热条件的发生,等等。
在该示例性实施例中,响应于接收到通知信号311-1,事件管理资源140向***管理中断处理机340生成相应的中断信号311-2。
如其名称所暗示的,***管理中断处理机340处理所接收的中断。
响应于检测到中断信号311-2的出现,***管理中断处理机340生成一个或多个控制信号311-3。
通过非限制性示例的方式,经由控制信号311-3,***管理中断处理机340:ⅰ)阻止关于处理器环境300中处理器单元110的入站和出站业务,ⅱ)与一个或多个处理器单元110通信,以发起处理器高速缓存数据从易失性存储装置(诸如相应的高速缓存120)到非易失性存储器资源160中的缓冲器165的传递312(例如传递312-1,传递312-2,...),ⅲ)设置状态信息188-1的一个或多个状态位,以指示发生了相应触发事件,ⅳ)生成命令以向控制单元155通知触发事件,以及ⅴ)停止相应的处理线程125的执行。
响应于从***管理中断处理机340接收触发事件的通知(基于来自状态信息188-1或者来自从***管理中断处理机340直接到控制单元155的命令),控制单元155生成相应的一个或多个控制信号311-4。
在该示例性实施例中,控制信号311-4引起队列资源150中存储的队列数据到缓冲器165的传递313。在如所提到的一个实施例中,队列资源150是由相应的处理器单元110在正常操作期间使用来存储随后将写入到非易失性存储器资源160的数据的写入未决队列。
响应于检测到队列数据从队列资源150到缓冲器165的传递313的完成以及由***管理中断340发起的传递312的完成,控制单元155生成信号311-5以更新状态信息188-2,以指示诸如传递312、313等等之类的传递是成功的和/或已经完成。
在检测到如由状态信息188-2指示的传递的完成之后,事件管理资源140向非易失性存储器资源160生成命令,诸如信号311-6。在一个实施例中,信号311-6指示从非易失性存储器资源160中的相应易失性缓冲器165向非易失性存储器资源165中的相应非易失性存储单元167传递高速缓存数据120-1-C、120-2-C...(和其它数据,诸如队列数据150-C)的拷贝。
通过非限制性示例的进一步方式,并且以如先前讨论的方式,信号311-6可以被配置成驱动非易失性存储器资源160上的相应SAVE(保存)引脚,以向非易失性存储单元167提交缓冲器165中的相应数据。而且,如先前所讨论的,非易失性存储器资源160可以包括一个或多个对应的能量存储资源,诸如电容器组(诸如多个电容器)。如所提到的,这样的电容器组使能缓冲器165中的数据到对应的非易失性存储器存储单元167的最终存储,即使给非易失性存储器资源160的外部施加的电力已经由于诸如电力故障之类的条件而终止。
注意到,在处理器环境300的初始加电时,初始化资源310(和/或对应的逻辑320)可以被配置成访问先前存储的状态信息188-1,以确定处理器环境300的之前的停止运转是否由诸如电力丢失之类的相应触发事件引起。初始化资源310(和/或执行的逻辑320)可以被配置成访问状态信息188-2,以确定在处理器环境300的最后的停止运转或去除供电的完成之前相应的高速缓存数据是否被恰当地存储在非易失性存储器资源160中。
在初始加电时访问状态信息188之后,初始化资源310(和/或对应的逻辑320)可以被配置成清除或复位状态信息188-1和188-2(其指示没有任何触发事件发生)。以如先前讨论的方式,如果相应的触发事件在使用处理器资源122的相应会话期间发生,则状态信息188被再次设置成反映这样的条件。
回想:在一个实施例中,状态信息188-1指示处理器单元110的先前的去除供电是否由诸如电力丢失、软件崩溃等等之类的不合期望的条件引起。状态信息188-2指示:高速缓存120中对应的高速缓存数据是否在处理器单元110的完全停止运转之前被恰当地传递到非易失性存储器资源160的缓冲器165。
图4是根据本文实施例的用于实现如本文讨论的任何操作的计算机***的示例性框图。
计算机***450可以被配置成执行关于事件管理资源140、***管理中断处理机340等等的任何操作。
正如所示,本示例的计算机***450可以包括互连411,所述互连411耦合计算机可读存储介质412、计算机处理器硬件413(即一个或多个处理器设备)、I/O接口414、通信接口417等等,所述计算机可读存储介质412诸如其中可以存储和检索数字信息的物理非暂时性类型的介质(即任何类型的物理硬件存储介质)。
正如所示,I/O接口414向计算机***450提供对非易失性存储器资源160中存储的数据的连接性。
计算机可读存储介质412可以是任何物理或有形的一个或多个硬件存储设备,诸如存储器、光学存储装置、硬驱动器、软盘等等。在一个实施例中,计算机可读存储介质412(例如计算机可读硬件存储装置)存储指令和/或数据。
在一个实施例中,通信接口417使得计算机***450和相应的计算机处理器硬件413能够通过诸如网络190之类的资源通信,以从远程源检索信息并与其它计算机通信。I/O接口414使得计算机处理器硬件413能够从非易失性存储器资源160检索所存储的信息。
正如所示,计算机可读存储介质412编码有计算机处理器硬件413所执行的事件管理应用140-1(例如逻辑、软件、固件等等)。事件管理应用140-1可以被配置成包括指令以实现如本文讨论的任何操作。
在一个实施例的操作期间,计算机处理器硬件413经由互连411的使用而访问计算机可读存储介质412,以便发动、运行、执行、解释或以其它方式执行在计算机可读存储介质412上存储的事件管理应用140-1中的指令。
事件管理应用140-1的执行产生处理功能性,诸如计算机处理器硬件413中的事件管理过程140-2。换言之,与计算机处理器硬件413相关联的事件管理过程140-2代表在计算机***450中的处理器413内或之上执行事件管理应用140-1的一个或多个方面。
本领域技术人员将理解到,计算机***450可以包括其它过程和/或软件和硬件组件,诸如控制硬件资源、软件资源等等的分配和使用以执行事件管理应用140-1的操作***。
根据不同实施例,注意到,计算机***450可以是任何的各种类型的设备,包括但不限于:移动计算机、个人计算机***、无线设备、基站、电话设备、台式计算机、膝上型电脑、笔记本电脑、上网本计算机、大型计算机***、手持式计算机、工作站、网络计算机、应用服务器、存储设备、消费性电子设备(诸如相机、摄录像机、机顶盒、移动设备、视频游戏控制台、手持式视频游戏设备)、***设备(诸如交换机、调制解调器、路由器),或者一般地任何类型的计算或电子设备。
注意到,图4图示计算机***450的示例性实施例,并且计算机***450的其它实施例可以包括比图4中图示的装置组件更多的装置组件或更少的装置组件。此外,可以与如图4中所图示的不同地布置装置组件。例如,在一些实施例中,非易失性存储器资源160可以位于经由因特网或任何其它合适的网络对计算机***450可访问的远程站点。另外,由计算机***450的其它实施例中包含的各种装置组件执行的功能可以与如本文所述的不同地分布在相应的组件之中。
现在将经由图5中的流程图讨论由不同资源支持的功能性。注意到,可以以任何合适的次序执行下面流程图中的处理。
图5是根据实施例的图示示例性方法的流程图500。注意到,将存在相对于如以上讨论的概念的某种重叠。
在处理块510中,事件管理资源140针对事件而监视处理器环境100。
在处理块520中,事件管理资源140检测处理器环境100中触发事件的发生。
在处理块530中,事件管理资源140产生状态信息188-1,其指示触发事件的发生。
在处理块540中,事件管理资源140在存储资源195中存储状态信息188-1。存储资源195相对于事件管理资源140可以共处一地或者完全不同地定位。
在处理块550中,响应于检测到触发事件的发生,事件管理资源140发起处理器高速缓存数据从处理器环境100中的易失性存储装置(诸如从高速缓存120)到非易失性存储器资源160的传递。
在处理块560中,基于接收的反馈(诸如信号111-5),事件管理资源140产生状态信息188-2,其指示所发起的处理器高速缓存数据到非易失性存储器资源160的传递(诸如传递112,传递312,...)是否成功。
在处理块570中,响应于接收到指示所发起的处理器高速缓存数据从处理器环境100中的易失性存储装置(诸如从高速缓存120)到非易失性存储器资源160的传递是成功的反馈(诸如信号111-5),事件管理资源140向非易失性存储器资源160生成命令(诸如信号111-6)。在一个实施例中,命令指示将处理器高速缓存数据从非易失性存储器资源160中的相应(易失性)缓冲器165(诸如临时存储装置)传递到非易失性存储器资源160中的非易失性存储单元167。
在处理块580中,在处理器环境和对应一个或多个处理器的随后的加电和/或重新引导时,事件管理资源140将状态信息188-1和状态信息188-2提供给进行查询的软件,诸如故障管理器、初始化资源310、执行的逻辑320等等。另外,以如先前讨论的方式,在提供状态信息188之后,事件管理资源140(或其它合适的资源)清除状态信息188-1和信息188-2。
图6是根据本文实施例的图示相应计算机***中存储器***的使用的示例性图解。
正如所示,计算机***610可以包括处理器环境100(以及对应的资源,诸如电源156、处理器资源122、监视器资源144、事件管理资源140等等)、显示屏630和非易失性存储器资源150。
如先前所讨论的,处理器资源122可以包括计算机处理器硬件,诸如一个或多个处理器单元110。通过非限制性示例的方式,计算机***610可以是任何合适类型的资源,诸如个人计算机、蜂窝电话、移动设备、相机等等,其使用存储器***650中的非易失性存储器资源160来存储数据。
在一个实施例中,存储器***650包括非易失性存储器资源160。存储器***650可以是用于存储数据的固态驱动器。
处理器资源122经由接口1011能够访问存储器***650和对应的非易失性存储器资源150。
接口1011可以是使能数据传递的任何合适的链接。例如,接口1011可以是SCSI(小型计算机***接口)、SAS(串行附连的SCSI)、SATA(串行高级技术附件)、USB(通用串行总线)、Pcie(快速***组件互连)总线等等。
经由接口1011,计算机***610的处理器资源122中的任何处理器单元110能够从存储器***650检索数据并向其存储数据。
作为示例,假设计算机***610接收请求,以执行如由来自用户的输入605指定的相应功能。处理器资源122执行如由输入605指定的对应功能。如由输入605指定的对应功能的执行可以包括:通过接口1011向数据管理逻辑640传输请求,用于以与输入605相关联的所指定的逻辑地址来检索数据。
除了执行其它可能的功能之外,数据管理逻辑640还可以被配置成将与输入605相关联的逻辑地址映射到存储器***650中的适当物理地址,并且以物理地址来从非易失性存储器资源640检索对应的数据。在从存储器***650检索到适当的数据之后,数据管理逻辑640向处理器资源122传输所检索的数据,其满足针对数据的请求。因此,处理器资源122可以被配置成从存储器***650检索数据。
在一个非限制性示例实施例中,处理器资源122发起在显示屏630上的图像的显示,其取决于从数据管理逻辑640接收的数据。
作为另外的示例,注意到,处理器资源122可以接收请求以执行如由来自用户的输入605指定的相应功能。在一个实施例中,响应于接收到执行功能的请求,处理器资源122执行功能,并且与数据管理逻辑140通信,从而以如由处理器资源122指定的逻辑地址来存储数据。响应于接收到请求,数据管理逻辑140将逻辑地址映射到适当的物理地址,并在非易失性存储器资源160的对应位置中存储所接收的数据。
因此,处理器资源122可以被配置成从对应的构件***650检索数据并向其写入数据。
再次注意到,在不正常的条件期间(诸如在电力故障、软件复位、热学条件等等期间),处理器环境100中的事件管理资源140(或***管理中断处理机340)可以被配置成以如先前讨论的方式管理高速缓存数据到非易失性存储器资源150的存储。状态信息188提供这样的事件以及对应的高速缓存数据是否被恰当存储的通知。因此,在随后的供电或重新引导时,进行查询的软件可以检测相应事件的发生,以及在由能量存储资源102提供的临时保持电力的完全消耗之前高速缓存数据是否被恰当地存储。
如果期望的话,处理器资源122(或其它合适的资源)可以被配置成检索被存储到非易失性存储器资源160的高速缓存数据(和其它相关的数据,诸如队列数据),并将高速缓存120还原回到它们在引起处理器资源122停止运转的事件之前的对应状态。
注意到,没有任何本文采用的元件、操作或指令应当被解释为对本申请关键或必需,除非像这样明确地描述。而且,如本文所采用的,冠词“一”旨在包括一个或多个项。在旨在仅仅一个项的情况下,采用术语“一个”或类似的语言。此外,短语“基于”旨在意为“至少部分地基于”,除非另行明确声明。
虽然已经参照其优选实施例特别地示出和描述了细节,但将由本领域技术人员理解的是:可以在其中做出形式和细节上的各种改变而不脱离如由随附权利要求限定的本申请的精神和范围。这样的变型旨在由这个本申请的范围覆盖。因而,本申请的实施例的前述描述并不旨在是限制性的。相反,在下面的权利要求中呈现对本文实施例的任何限制。
Claims (25)
1.一种方法,包括:
监视处理器环境;以及
响应于检测到处理器环境中触发事件的发生,发起处理器高速缓存数据从处理器环境中的易失性存储装置到非易失性存储器的传递。
2.如权利要求1中所述的方法,此外包括:
产生与传递相关联的状态信息;以及
存储状态信息以供稍后检索。
3.如权利要求1或2中所述的方法,此外包括:
产生状态信息,以指示所发起的处理器高速缓存数据到非易失性存储器的传递是否成功;以及
在非易失性存储资源中存储状态信息。
4.如权利要求3中所述的方法,其中状态信息是第一状态信息,所述方法此外包括:
产生第二状态信息,所述第二状态信息指示触发事件的发生;以及
在非易失性存储资源中存储第二状态信息。
5.如权利要求4中所述的方法,此外包括:
在处理器环境的随后的加电时,提供对第一状态信息和第二状态信息的访问。
6.如权利要求4中所述的方法,此外包括:
在处理器环境中多个处理器的重新引导时,发起第一状态信息和第二状态信息在故障日志中的存储。
7.如权利要求4中所述的方法,此外包括:
在检测到触发事件的发生之后处理器环境中的多个处理器的随后的重新引导时,在多个处理器的各自的软件重新引导时复位第一状态信息和第二信息。
8.如权利要求1或2中所述的方法,其中处理器环境包括多个处理器单元和多个对应的高速缓存;以及
其中发起处理器高速缓存数据到非易失性存储器的传递包括:发起多个对应的高速缓存的每一个中的处理器高速缓存数据到非易失性存储器的传递。
9.如权利要求8中所述的方法,此外包括:
在多个处理器单元之中选择特定的处理器单元,所述特定的处理器单元执行多个对应的高速缓存的每一个中的处理器高速缓存数据到非易失性存储器的传递。
10.如权利要求1或2中所述的方法,此外包括:
发起SMI(***管理中断)处理机的执行,SMI处理机执行以下操作:
监视处理器环境;
检测处理器环境中的触发事件,触发事件作为中断被接收,中断使SMI处理机发起处理器高速缓存数据从处理器环境中的易失性存储装置到非易失性存储器的传递。
11.如权利要求1或2中所述的方法,其中检测触发事件包括:
ⅰ)检测指示被供应给处理器环境的主电力已经中断的电力故障条件的发生,
ⅱ)检测软件发起的复位条件的发生,或者
ⅲ)检测处理器环境中热学条件的发生。
12.如权利要求1或2中所述的方法,此外包括:
响应于接收到指示所发起的处理器高速缓存数据从处理器环境中的易失性存储装置到非易失性存储器的传递是成功的反馈,向非易失性存储器生成命令,所述命令指示将处理器高速缓存数据从非易失性存储器中相应的易失性缓冲器传递到非易失性存储器中的非易失性存储单元。
13.一种装置,包括:
监视器资源,所述监视器资源针对触发事件而监视处理器环境;以及
通信地耦合到监视器资源的管理资源,所述管理资源响应于检测到处理器环境中触发事件的发生而发起处理器高速缓存数据从处理器环境中的易失性存储装置到非易失性存储器的传递。
14.如权利要求13中所述的装置,此外包括:
非易失性存储资源;以及
其中管理资源被配置成产生状态信息,所述状态信息指示所发起的处理器高速缓存数据到非易失性存储器的传递是否成功,管理资源在非易失性存储资源中存储状态信息。
15.如权利要求14中所述的装置,其中状态信息是第一状态信息;
其中管理资源产生第二状态信息,所述第二状态信息指示触发事件的发生;以及
其中管理资源在非易失性存储资源中存储第二状态信息。
16.如权利要求15中所述的装置,其中在检测到触发事件的发生之后在处理器环境中的多个处理器的随后重新引导时,管理资源复位第一状态信息和第二信息。
17.如权利要求13或14或15或16中所述的装置,其中处理器环境包括多个处理器和多个对应的高速缓存;以及
其中管理资源发起多个对应的高速缓存的每一个中的处理器高速缓存数据到非易失性存储器的传递。
18.如权利要求17中所述的装置,其中多个处理器中的特定处理器执行多个对应的高速缓存的每一个中的处理器高速缓存数据到非易失性存储器的传递。
19.如权利要求13或14或15或16中所述的装置,其中管理资源是SMI处理机,所述SMI处理机执行以下操作:
接收中断,所述中断使SMI处理机发起处理器高速缓存数据从处理器环境中的易失性存储装置到非易失性存储器的传递。
20.如权利要求13或14或15或16中所述的装置,此外包括:
其中管理资源接收反馈,所述反馈指示所发起的处理器高速缓存数据从处理器环境中的易失性存储装置到非易失性存储器的传递是成功的;以及
其中响应于传递是成功的,管理资源向非易失性存储器生成命令,所述命令指示将处理器高速缓存数据从非易失性存储器中相应的易失性缓冲器传递到非易失性存储器中的非易失性存储单元。
21.一种包括权利要求13或14或15或16中的装置的计算机***,其中处理器环境包括多个处理器,其中的每一个产生一部分的处理器高速缓存数据。
22.如权利要求21中所述的计算机***,此外包括:
显示屏,在其上至少部分地基于一部分的处理器高速缓存数据来呈递图像。
23.具有存储在其上的指令的计算机可读存储硬件,所述指令在由计算机处理器硬件实施时使计算机处理器硬件执行以下操作:
监视处理器环境;以及
响应于检测到处理器环境中触发事件的发生,发起处理器高速缓存数据从处理器环境中的易失性存储装置到非易失性存储器的传递。
24.如权利要求23中所述的计算机可读存储硬件,其中所述指令此外使计算机处理器硬件执行以下操作:
产生指示触发事件的发生的第一状态信息;以及
在非易失性存储资源中存储第一状态信息。
25.如权利要求24中所述的计算机可读存储硬件,其中所述指令此外使计算机处理器硬件执行以下操作:
产生第二状态信息,以指示所发起的处理器高速缓存数据到非易失性存储器的传递是否成功;
在非易失性存储资源中存储第二状态信息;以及
在检测到触发事件的发生之后处理器环境中的多个处理器的随后重新引导时,复位第一状态信息和第二信息。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/061188 WO2015041698A1 (en) | 2013-09-23 | 2013-09-23 | Event-triggered storage of data to non-volatile memory |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105474192A true CN105474192A (zh) | 2016-04-06 |
Family
ID=52689231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380079045.6A Pending CN105474192A (zh) | 2013-09-23 | 2013-09-23 | 数据到非易失性存储器的事件触发的存储 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20150089287A1 (zh) |
KR (1) | KR101749466B1 (zh) |
CN (1) | CN105474192A (zh) |
DE (1) | DE112013007279T5 (zh) |
WO (1) | WO2015041698A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582612A (zh) * | 2018-12-24 | 2019-04-05 | 郑州云海信息技术有限公司 | 一种获取SAS卡log的装置及其设计、使用方法 |
CN112309485A (zh) * | 2019-07-25 | 2021-02-02 | 美光科技公司 | 存储器装置的***内测试 |
CN112955872A (zh) * | 2018-11-02 | 2021-06-11 | 美光科技公司 | 易失性存储器和非易失性存储器之间的数据链路 |
CN113257317A (zh) * | 2020-02-11 | 2021-08-13 | Aptiv技术有限公司 | 收集和存储输入数据的数据记录*** |
CN113711189A (zh) * | 2019-02-13 | 2021-11-26 | 铠侠股份有限公司 | 用于管理固态驱动器上的降低电力故障能量需求的***及方法 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102156284B1 (ko) * | 2013-11-27 | 2020-09-15 | 에스케이하이닉스 주식회사 | 메모리 및 이를 포함하는 메모리 모듈 |
EP3213324B1 (en) | 2014-10-31 | 2021-12-01 | Hewlett-Packard Development Company, L.P. | Power-loss protection |
US20170336976A1 (en) * | 2014-12-12 | 2017-11-23 | Hewlett Packard Enterprise Development Lp | Determining resting times for memory blocks |
US9891997B2 (en) * | 2014-12-17 | 2018-02-13 | International Business Machines Corporation | Energy conscious mobile device redundancy and recovery |
US10481807B2 (en) * | 2014-12-22 | 2019-11-19 | Hewlett Packard Enterprise Development Lp | Status for generated data image |
KR102076196B1 (ko) * | 2015-04-14 | 2020-02-12 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법 |
WO2016182579A1 (en) * | 2015-05-14 | 2016-11-17 | Hewlett Packard Enterprise Development Lp | Data transfers based on state transition detections |
TWI596612B (zh) * | 2015-12-04 | 2017-08-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
CN106873901B (zh) * | 2015-12-11 | 2020-02-07 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元与存储器存储装置 |
WO2017105406A1 (en) * | 2015-12-15 | 2017-06-22 | Hewlett Packard Enterprise Development Lp | Non-volatile cache memories for storage controllers |
US10275160B2 (en) | 2015-12-21 | 2019-04-30 | Intel Corporation | Method and apparatus to enable individual non volatile memory express (NVME) input/output (IO) Queues on differing network addresses of an NVME controller |
US10545548B2 (en) * | 2016-03-07 | 2020-01-28 | Toshiba Memory Corporation | Memory device and host device |
US10200376B2 (en) | 2016-08-24 | 2019-02-05 | Intel Corporation | Computer product, method, and system to dynamically provide discovery services for host nodes of target systems and storage resources in a network |
US10176116B2 (en) | 2016-09-28 | 2019-01-08 | Intel Corporation | Computer product, method, and system to provide discovery services to discover target storage resources and register a configuration of virtual target storage resources mapping to the target storage resources and an access control list of host nodes allowed to access the virtual target storage resources |
US10481997B2 (en) * | 2016-11-27 | 2019-11-19 | Amazon Technologies, Inc. | Distributed code tracing system |
US10168905B1 (en) * | 2017-06-07 | 2019-01-01 | International Business Machines Corporation | Multi-channel nonvolatile memory power loss management |
US10394618B2 (en) | 2017-07-14 | 2019-08-27 | International Business Machines Corporation | Thermal and power memory actions |
US10528414B2 (en) * | 2017-09-13 | 2020-01-07 | Toshiba Memory Corporation | Centralized error handling in application specific integrated circuits |
US10540219B2 (en) | 2017-09-13 | 2020-01-21 | Toshiba Memory Corporation | Reset and error handling in application specific integrated circuits |
US20190129865A1 (en) * | 2017-11-02 | 2019-05-02 | Kaminario Technologies Ltd. | Encryption and decryption of data persisted by non-volatile memory |
US10981576B2 (en) | 2017-12-27 | 2021-04-20 | Micron Technology, Inc. | Determination of reliability of vehicle control commands via memory test |
US10872018B2 (en) | 2018-01-30 | 2020-12-22 | Quanta Computer Inc. | Memory data preservation solution |
US10621015B2 (en) * | 2018-02-09 | 2020-04-14 | Lenovo (Singapore) Pte. Ltd. | Notification for unsaved data |
US11347644B2 (en) * | 2018-10-15 | 2022-05-31 | Texas Instruments Incorporated | Distributed error detection and correction with hamming code handoff |
US11196714B2 (en) * | 2018-11-07 | 2021-12-07 | Citrix Systems, Inc. | Systems and methods for encrypted browser cache |
US10846162B2 (en) * | 2018-11-29 | 2020-11-24 | Oracle International Corporation | Secure forking of error telemetry data to independent processing units |
US11314578B2 (en) * | 2019-03-06 | 2022-04-26 | Dell Products L.P. | Information handling system and method to detect and recover from spurious resets of PCIe devices |
KR20220125836A (ko) * | 2021-03-03 | 2022-09-15 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 포함하는 전자 장치 |
US20230117637A1 (en) * | 2021-10-19 | 2023-04-20 | Arista Networks, Inc. | Saving volatile system state |
CN114415936A (zh) * | 2021-12-03 | 2022-04-29 | 北京汽车研究总院有限公司 | 数据存储方法、数据存储装置、车机装置和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060015683A1 (en) * | 2004-06-21 | 2006-01-19 | Dot Hill Systems Corporation | Raid controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage |
US20100011261A1 (en) * | 2008-07-08 | 2010-01-14 | International Business Machines Corporation | Verifying Data Integrity of a Non-Volatile Memory System during Data Caching Process |
US8069309B1 (en) * | 2006-06-29 | 2011-11-29 | Emc Corporation | Servicing memory in response to system failure |
US20120271990A1 (en) * | 2007-06-01 | 2012-10-25 | Netlist, Inc. | Non-Volatile Memory Module |
CN103229149A (zh) * | 2010-11-24 | 2013-07-31 | 国际商业机器公司 | 使用分层中断管理压缩存储器 |
CN103262054A (zh) * | 2010-12-13 | 2013-08-21 | 弗森-艾奥公司 | 用于自动提交存储器的装置、***和方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396637A (en) * | 1993-03-02 | 1995-03-07 | Hewlett-Packard Company | Data processing system with power-fail protected memory module |
US5603038A (en) * | 1994-09-07 | 1997-02-11 | International Business Machines Corporation | Automatic restoration of user options after power loss |
KR100281535B1 (ko) * | 1997-02-12 | 2001-02-15 | 윤종용 | 컴퓨터 시스템 및 그의 제어 방법 |
US6338150B1 (en) * | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
US6535996B1 (en) * | 1999-10-07 | 2003-03-18 | International Business Machines Corporation | Method and apparatus for protecting user data during power failures in a data processing system |
US6839792B2 (en) * | 2000-12-15 | 2005-01-04 | Innovative Concepts, Inc. | Data modem |
US7260695B2 (en) * | 2004-03-05 | 2007-08-21 | International Business Machines Corporation | Scanning modified data during power loss |
US7802145B1 (en) * | 2004-05-18 | 2010-09-21 | Cisco Technology, Inc. | Approach for facilitating analysis of computer software errors |
US7716525B1 (en) * | 2006-07-24 | 2010-05-11 | Solace Systems, Inc. | Low latency, high throughput data storage system |
US7725637B2 (en) * | 2007-12-31 | 2010-05-25 | Intel Corporation | Methods and apparatus for generating system management interrupts |
US20090313416A1 (en) * | 2008-06-16 | 2009-12-17 | George Wayne Nation | Computer main memory incorporating volatile and non-volatile memory |
US8325554B2 (en) * | 2008-07-10 | 2012-12-04 | Sanmina-Sci Corporation | Battery-less cache memory module with integrated backup |
US8169839B2 (en) * | 2009-02-11 | 2012-05-01 | Stec, Inc. | Flash backed DRAM module including logic for isolating the DRAM |
US8510598B2 (en) * | 2010-03-29 | 2013-08-13 | Dot Hill Systems Corporation | Buffer management method and apparatus for power reduction during flush operation |
US8607003B2 (en) * | 2011-07-15 | 2013-12-10 | International Business Machines Corporation | Memory access to a dual in-line memory module form factor flash memory |
-
2013
- 2013-09-23 CN CN201380079045.6A patent/CN105474192A/zh active Pending
- 2013-09-23 US US14/127,548 patent/US20150089287A1/en not_active Abandoned
- 2013-09-23 WO PCT/US2013/061188 patent/WO2015041698A1/en active Application Filing
- 2013-09-23 KR KR1020167001850A patent/KR101749466B1/ko active IP Right Grant
- 2013-09-23 DE DE112013007279.3T patent/DE112013007279T5/de not_active Ceased
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060015683A1 (en) * | 2004-06-21 | 2006-01-19 | Dot Hill Systems Corporation | Raid controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage |
US8069309B1 (en) * | 2006-06-29 | 2011-11-29 | Emc Corporation | Servicing memory in response to system failure |
US20120271990A1 (en) * | 2007-06-01 | 2012-10-25 | Netlist, Inc. | Non-Volatile Memory Module |
US20100011261A1 (en) * | 2008-07-08 | 2010-01-14 | International Business Machines Corporation | Verifying Data Integrity of a Non-Volatile Memory System during Data Caching Process |
CN103229149A (zh) * | 2010-11-24 | 2013-07-31 | 国际商业机器公司 | 使用分层中断管理压缩存储器 |
CN103262054A (zh) * | 2010-12-13 | 2013-08-21 | 弗森-艾奥公司 | 用于自动提交存储器的装置、***和方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112955872A (zh) * | 2018-11-02 | 2021-06-11 | 美光科技公司 | 易失性存储器和非易失性存储器之间的数据链路 |
CN109582612A (zh) * | 2018-12-24 | 2019-04-05 | 郑州云海信息技术有限公司 | 一种获取SAS卡log的装置及其设计、使用方法 |
CN113711189A (zh) * | 2019-02-13 | 2021-11-26 | 铠侠股份有限公司 | 用于管理固态驱动器上的降低电力故障能量需求的***及方法 |
US11803222B2 (en) | 2019-02-13 | 2023-10-31 | Kioxia Corporation | Systems and methods for managing reduced power failure energy requirements on a solid state drive |
CN113711189B (zh) * | 2019-02-13 | 2023-12-26 | 铠侠股份有限公司 | 用于管理固态驱动器上的降低电力故障能量需求的***及方法 |
CN112309485A (zh) * | 2019-07-25 | 2021-02-02 | 美光科技公司 | 存储器装置的***内测试 |
CN113257317A (zh) * | 2020-02-11 | 2021-08-13 | Aptiv技术有限公司 | 收集和存储输入数据的数据记录*** |
Also Published As
Publication number | Publication date |
---|---|
DE112013007279T5 (de) | 2016-05-04 |
KR101749466B1 (ko) | 2017-06-20 |
KR20160022905A (ko) | 2016-03-02 |
WO2015041698A1 (en) | 2015-03-26 |
US20150089287A1 (en) | 2015-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105474192A (zh) | 数据到非易失性存储器的事件触发的存储 | |
US10157142B2 (en) | Offload data transfer engine for a block data transfer interface | |
US20160378344A1 (en) | Processor and platform assisted nvdimm solution using standard dram and consolidated storage | |
TWI446161B (zh) | 處理一多處理器資訊處理系統之一故障處理器的裝置及方法 | |
US20170351452A1 (en) | Dynamic host memory buffer allocation | |
US10846159B2 (en) | System and method for managing, resetting and diagnosing failures of a device management bus | |
CN106557145A (zh) | 断电保护***及其方法 | |
US10331593B2 (en) | System and method for arbitration and recovery of SPD interfaces in an information handling system | |
CN107076797B (zh) | 基于所执行的访问命令对半导体存储功耗的测试 | |
US10289339B2 (en) | System and method for storing modified data to an NVDIMM during a save operation | |
US10997516B2 (en) | Systems and methods for predicting persistent memory device degradation based on operational parameters | |
US11327876B2 (en) | Verifying a software or firmware update using a container before deploying to a client | |
US12019556B2 (en) | System support for persistent cache flushing | |
KR20170124952A (ko) | 전력이 공급되는 영구 저장 장치를 통한 호스트 메모리 보호 | |
US10853204B2 (en) | System and method to detect and recover from inoperable device management bus | |
US10528283B2 (en) | System and method to provide persistent storage class memory using NVDIMM-N with an NVDIMM-P footprint | |
US10635554B2 (en) | System and method for BIOS to ensure UCNA errors are available for correlation | |
US11126486B2 (en) | Prediction of power shutdown and outage incidents | |
US11243757B2 (en) | Systems and methods for efficient firmware update of memory devices in BIOS/UEFI environment | |
US20240103971A1 (en) | Systems and methods for error recovery in rebootless firmware updates | |
CN114281570B (zh) | 嵌入式控制电路、控制方法、装置及芯片 | |
CN106030714A (zh) | Dimm设备控制器监控器 | |
US20230078518A1 (en) | Systems and methods for collapsing resources used in cloud deployments | |
US11132039B2 (en) | Systems and methods for controlling charging and discharging of an energy device based on temperature | |
TW201137608A (en) | System and method for handling system failure |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160406 |