CN114115714B - 混合存储器模块中的热事件预测 - Google Patents

混合存储器模块中的热事件预测 Download PDF

Info

Publication number
CN114115714B
CN114115714B CN202110987213.8A CN202110987213A CN114115714B CN 114115714 B CN114115714 B CN 114115714B CN 202110987213 A CN202110987213 A CN 202110987213A CN 114115714 B CN114115714 B CN 114115714B
Authority
CN
China
Prior art keywords
temperature
save
controller
nvdimm
predicted
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
CN202110987213.8A
Other languages
English (en)
Other versions
CN114115714A (zh
Inventor
J·斯洛特
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN114115714A publication Critical patent/CN114115714A/zh
Application granted granted Critical
Publication of CN114115714B publication Critical patent/CN114115714B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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/0703Error 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0703Error 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0703Error 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/313In storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • 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)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请涉及混合存储器模块中的热事件预测。本公开提供了一种非易失性双列直插式存储器模块NVDIMM的控制器。NVDIMM被配置为在开始保存或恢复操作之前预测与保存和恢复操作相关联的热事件。NVDIMM的控制器包含热事件预测电路,以响应于执行保存或恢复操作的请求而预测是否将发生热事件并响应于确定热事件有可能发生而使控制器执行动作。为了预测热事件,控制器可以被配置为基于从初始或起始温度开始的预测的温度升高来预测保存或恢复操作的峰值温度。预测的温度升高可以基于保存或恢复操作期间的温度变化率以及保存或恢复操作的持续时间。

Description

混合存储器模块中的热事件预测
技术领域
本申请涉及混合存储器模块中的热事件预测。
背景技术
混合存储器模块是包含易失性存储器(例如,动态随机存取存储器(DRAM))和非易失性存储器(例如,快闪存储器)的存储器模块。在一些示例中,混合存储器模块在正常操作期间可用作标准易失性存储器模块,其具有诸如响应于电源故障而将数据从易失性存储器传输到非易失性存储器以用于持久存储,然后在恢复之后将数据恢复到易失性存储器的能力。在保存和恢复操作期间消耗的功率可能导致混合存储器模块上的温度升高。当混合存储器模块上的温度达到操作极限时,混合存储器模块可以在完成之前中止保存或恢复操作,以避免损坏混合存储器模块上的组件,否则可能导致用于操作的数据不完整。
发明内容
在一个方面,本申请提供了一种设备,其包括:易失性存储器;非易失性存储器(NVM),所述NVM与所述易失性存储器耦合;温度传感器;以及控制电路,所述控制电路耦合在所述NVM与SDRAM之间并且耦合到所述温度传感器,其中所述控制电路被配置为响应于接收到用于在所述易失性存储器与所述NVM之间执行数据传输操作的命令,预测所述数据传输操作是否将导致所述控制电路的温度超过指定的最高操作温度。
在另一方面,本申请提供了一种设备,其包括:存储器模块,所述存储器模块包括经由控制器耦合到非易失性存储器(NVM)的同步动态随机存取存储器(SDRAM),其中响应于针对发起保存或恢复操作以在所述SDRAM与所述NVM之间传输数据的请求,所述控制器被配置为基于预测的温度升高来预测在所述保存或恢复操作期间当前温度是否将升高到超过最高操作温度。
在又一方面,本申请提供了一种方法,其包括:在非易失性双列直插存储器模块(NVDIMM)的控制电路处接收用于保存操作的第一命令或用于恢复操作的第二指令,在所述保存操作中将所述NVDIMM的易失性存储器的内容传输到所述NVDIMM的非易失性存储器,在所述恢复操作中将所述NVDIMM的所述非易失性存储器的所述内容写回到所述NVDIMM的所述易失性存储器;响应于用于所述保存操作的所述第一命令或用于所述恢复操作的所述第二命令,经由所述NVDIMM的逻辑来确定在所述保存操作或所述恢复操作期间所述NVDIMM上的温度是否将超过与所述NVDIMM的操作温度相关联的阈值;以及至少部分地基于所述确定来确定是执行所述保存操作或所述恢复操作还是采取另一个动作。
附图说明
图1是根据本公开的实施例的存储器***的特定说明性实施例。
图2是根据本公开的实施例的非易失性双列直插存储器模块(NVDIMM)的示意框图。
图3是根据本公开的实施例的非易失性双列直插存储器模块(NVDIMM)的示意框图。
图4包含描绘根据本公开的实施例的用于预测NVDIMM中的热事件的方法的示例性流程图。
图5包含描绘根据本公开的实施例的用于预测NVDIMM中的热事件的方法的示例性流程图。
具体实施方式
本公开描述了用于预测混合或非易失性双列直插式存储器模块(NVDIMM)中的热事件的控制器的示例。NVDIMM可以包含易失性存储器(例如,动态随机存取存储器DRAM)和非易失性存储器(例如,快闪存储器)。NVDIMM可主要以两种操作模式操作以执行存储器事务。在第一操作模式中,NVDIMM可以在易失性存储器与主机(例如,存储器控制器、处理器单元等)之间执行存储器事务。在第二操作模式中,NVDIMM可以经由板载控制器(例如,控制电路)在易失性存储器与非易失性存储器之间执行存储器事务(例如,保存和恢复事务)。在第二操作模式期间,数据的传输可以包含高速传输,这可能导致在完成传输的一定时间段内增加功耗。由于功耗增加,因此在传输期间,NVDIMM上的温度可能会升高。如果温度超过指定的最高操作温度,则NVDIMM的控制器可能检测到热事件并中止传输以防止损坏NVDIMM上的组件。中止保存或恢复操作可能会中断NVDIMM和/或安装它的***的操作。
热事件的可能性可能受保存或恢复操作开始时的初始温度(例如,基于在NVDIMM上执行的先前操作)、NVDIMM的组件的热属性、安装环境的热属性(例如,气流、相对于其它发热组件的位置等)、要传输的数据量、完成传输所需要的时间或其组合的影响。在一些示例中,对于NVDIMM,在保存或恢复事件期间温度的升高速率可从一个保存事件到下一个事件保持一致。
NVDIMM的控制器可以包含热事件预测电路(例如,或装置、模块等),其被配置为响应于执行保存或恢复操作(例如,数据传输操作)的请求而预测是否将发生热事件并响应于确定热事件有可能发生而使控制器执行动作。为了预测热事件,控制器可以被配置为基于从初始或起始温度开始的预测的温度升高来预测保存或恢复操作的峰值温度。预测的温度升高可以基于保存或恢复操作期间的温度变化率以及保存或恢复操作的持续时间。保存或恢复操作的持续时间可以基于要传输的数据量和相关总线的数据吞吐量。由控制器执行的动作可以基于在执行保存或恢复操作之后温度降低时的当前温度变化率和/或热恢复率。
初始温度和当前温度变化率(例如,温度变化的斜坡或斜率除以时间)可以基于来自NVDIMM上的温度传感器的实时温度测量。当前温度变化率可以基于两次连续温度测量之间的温度变化率来确定。
可以在校准操作期间确定预测的温度升高和预测的温度变化恢复率。在校准操作期间,控制器可以测量起始或空闲温度(例如,控制器的温度传感器和/或由非易失性存储器的温度传感器提供的温度),执行保存或恢复操作,确定所达到的峰值(例如,最高)温度,测量达到峰值温度的时间和恢复到初始温度的时间。
预测的温度升高可以基于测量的温度变化率和完成保存或恢复操作的时间。所测量的温度变化率可以基于起始温度与峰值温度之间的差除以从操作开始的时间至达到峰值温度的时间。预测的恢复时间可以基于峰值温度和预测的温度变化恢复率。预测的温度变化恢复率可以基于峰值温度与起始温度之间的差除以从达到峰值温度的时间至温度恢复到起始温度的时间的持续时间来确定。
校准操作可以在NVDIMM的引导操作期间执行。在示例中,校准操作可以在生产期间执行,并且预测的温度升高和预测的恢复率可以存储在NVDIMM上。在其它示例中,校准操作可以在安装的***中执行,并且预测的温度变化速率和预测的温度变化恢复率可以存储在NVDIMM上。另外或替代地,校准操作可以响应于某些事件(例如,引导或重新引导、重新启动等)而执行。另外或替代地,控制器可以被配置为在执行保存和恢复操作时周期性地实时测量温度升高和恢复率,并且可以更新预测的温度升高或预测的温度变化恢复率中的一或两个,诸如用新值替换存储值,用存储值与新值的平均值替换存储值等。在一些示例中,控制器可以被配置为针对不同类型的保存和/或恢复操作(诸如全部保存或恢复操作、一或多个部分保存或恢复操作等)存储预测的温度升高和预测的恢复率。
控制器响应于确定热事件有可能发生而执行的动作可以包含在开始保存或恢复操作之前保持空闲持续一定的时间段(例如,空闲时段)以允许当前温度降低、取消保存或恢复操作、提供警告或警报(例如,在NVDIMM的错误日志中生成警告或错误),或其任何组合。保存或恢复操作的空闲时段的总长度可以基于当前温度、预期的温度升高和预测的温度变化恢复率。在一些示例中,空闲时段可以由指定的时间延迟极限(例如,基于保存或恢复操作已经完成的最大时间量)来界定。如果控制器预测空闲时段长度可能超过指定的延迟极限,则控制器可以执行另一个动作,诸如取消保存或恢复操作、继续保存或恢复操作、提供警告或警报或其任何组合。在开始空闲时段之后,空闲时段的预测结束可以基于当前温度、当前温度变化率、预测的温度升高和最高的指定操作温度。
在一些示例中,可以选择性地启用或禁用热事件预测电路。在NVDIMM的控制器中实施热预测电路可以允许NVDIMM避免至少一些热事件,从而可以提高NVDIMM的操作可靠性。
图1是根据本公开的实施例的存储器***100的特定说明性实施例。存储器***100可以包含耦合到主机120的非易失性双列直插式存储器模块(NVDIMM)110。NVDIMM110包含控制器(例如,控制电路、控制逻辑、控制芯片或装置、控制模块等)112、易失性存储器114、非易失性存储器(NVM)116和非易失性寄存器时钟驱动器(NVRCD)118。
NVDIMM 110可以被配置为经由I2C接口或***管理总线(SMB接口)与主机120(例如,与NVRCD 118)、经由数据总线接口(例如,与易失性存储器114)进行通信,并且可以被配置为(例如,通过控制器112)向NVDIMM 110提供强制保存信号。控制器112可以被配置为对NVDIMM 110执行管理操作,诸如将数据(例如,易失性存储器114的内容)从易失性存储器114传输到NVM 116(例如,保存操作)、将数据(例如,NVM 116的内容)从NVM 116传输到易失性存储器114(例如,恢复操作)、检测电源故障、检测热事件、预测热事件、基于命令或检测到的事件改变操作模式等。控制器112可以包含专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它集成电路。控制器112可以在易失性存储器114与NVM 116之间的数据传输期间执行错误计算和/或检查功能。
易失性存储器114可以包含任何类型的易失性存储器,例如任何双倍数据速率(DDR)同步DRAM(SDRAM)架构(例如,DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAM、DDR5SDRAM、LPDDR4 DRAM等)。易失性存储器114可以经由数据总线耦合到控制器112和主机120。在一些示例中,易失性存储器114可以被配置为在处于第一操作模式时通过数据总线向主机120提供数据和从主机接收数据,并且可以被配置为在处于第二操作模式时通过数据总线向控制器112提供数据和从控制器接收数据。在一些示例中,易失性存储器114可以使用易失性存储器114的相同输入/输出(IO)端子和缓冲器来与主机120和控制器112中的任一个进行数据总线通信。例如,NVDIMM110和/或易失性存储器114可以包含多路复用器(未示出)以选择性地启用主机120与易失性存储器114之间的数据通信或控制器112与易失性存储器114之间的数据通信中的一项。在其它示例中,易失性存储器114可以使用第一组IO端子和缓冲器用于控制器112与易失性存储器114之间的数据总线通信,并且可以使用第二组IO端子和缓冲器用于控制器112与主机120之间的数据总线通信。在一些示例中,易失性存储器114可以各自包含被配置为存储诸如操作模式之类的操作参数的相应模式寄存器。
控制器112可以经由NVM总线耦合到NVM 116以在控制器112与NVM 116之间传输命令、地址和数据。NVM 116可以包含一或多个非易失性存储器,例如快闪存储器。NVM 116可以包含任何类型的非易失性存储器。例如,NVM 116可以包含快闪存储器,诸如NAND快闪存储器和NOR快闪存储器。
控制器112可以进一步被配置为通过SMB向NVRCD 118提供命令和地址信息。NVRCD118可以进一步被配置为经由I2C或SMB从主机120接收命令和地址数据。在一些示例中,NVRCD 118可以被配置为在处于第一操作模式时从主机120接收命令和地址信息,并且可以被配置为在处于第二操作模式时从控制器112接收命令和地址信息。在一些示例中,NVDIMM110可以包含多路复用器(未示出)以选择性地启用主机120与NVRCD 118之间的I2C或SMB通信或控制器112与NVRCD 118之间的SMB通信中的一项。NVRCD 118可以向易失性存储器114提供命令和地址信号以使易失性存储器114执行存储器访问操作。
在操作中,易失性存储器114可以选择性地与主机120或控制器112通信以执行存储器访问事务。例如,在第一操作模式(例如,正常操作)期间,NVRCD 118可以被配置为基于经由I2C或SMB接收的命令和地址数据提供来自主机120的命令和地址信号,并且易失性存储器114可以被配置为经由数据总线从主机120接收数据和向主机提供数据。在第一操作模式期间可以禁用易失性存储器114与控制器112之间的通信。
在第二操作模式(例如,保存/恢复操作)期间,NVRCD 118可以被配置为基于经由SMB从控制器112接收的命令和地址数据向易失性存储器114提供命令和地址信号,并且易失性存储器114可以被配置为经由数据总线从控制器112接收数据和向控制器提供数据。在第二操作模式期间,在易失性存储器114处接收和从易失性存储器提供的数据可以分别从NVM 116提供(例如,恢复操作)并在NVM 116处接收(例如,保存操作)。
在一些示例中,可以由主机120发起向第二操作模式的转变。例如,主机120可以向控制器112发送强制保存命令以指示控制器112转变到第二模式。在其它示例中,控制器112可以响应于检测到事件(诸如电源故障事件、引导事件等)而发起到第二模式的转变。在第二操作模式中,主机120可以将对易失性存储器114的控制让与控制器112。控制器112可以通过向易失性存储器114发送模式寄存器命令和信息以利用设置第二操作模式的信息对模式寄存器进行编程来将易失性存储器114设置为第二操作模式。
在第二操作模式期间,控制器112可以控制易失性存储器114与NVM 116之间的保存和恢复操作。在保存操作期间,控制器112可以促进将存储在易失性存储器114处的一些或全部数据传输到NVM 116以进行持久存储。例如,响应于电源故障事件,易失性存储器114的数据可以存储在NVM 116处。在恢复操作期间,控制器112可以促进将存储在NVM 116处的一些或全部数据传输到易失性存储器114。例如,NVM 116的数据可以响应于从电源故障事件中恢复(诸如在引导之后)传输到易失性存储器114。
在保存或恢复操作期间,NVDIMM 110的电路***可能在易失性存储器114与NVM116之间传输数据所花费的时间段内消耗大量功率,这可能导致NVDIMM 110上的温度在传输期间升高。如果温度超过指定的最高操作温度,则控制器112可能检测到热事件并中止传输以防止损坏NVDIMM 110上的组件。中止保存或恢复操作可能会中断NVDIMM 110和/或存储器***100的操作。
热事件的可能性可能受初始温度(例如,基于在NVDIMM 110上执行的先前操作)、NVDIMM 110的组件的热属性、安装环境的热属性(例如,气流、相对于其它发热组件的位置等)、要传输的数据量、传输时间或其组合的影响。在一些示例中,对于NVDIMM110,在保存或恢复事件期间经历的温度升高在类似的保存事件之间可能相对一致。
因此,为了防止热事件,控制器112可以包含热事件预测电路(例如,或装置、模块等),所述热事件预测电路被配置为在开始保存或恢复操作之前预测热事件是否可能发生,并使控制器112响应于预测热事件有可能发生而执行动作。为了预测热事件,控制器112可以被配置为基于从起始温度开始的预测的温度升高来预测峰值温度。预测的峰值温度可以基于预测的温度升高率和保存或恢复事件的持续时间。保存或恢复事件的持续时间可以基于要传输的数据量和相关总线的数据吞吐量。由控制器112执行的动作可以基于在执行保存或恢复操作之后温度降低时的当前温度变化率和/或热恢复率。
初始温度和当前温度变化率可以基于来自NVDIMM 110上的温度传感器(未示出)(例如,NVM 116的温度传感器和/或控制器112的温度传感器)的实时读数。当前温度变化率可以基于两个连续温度读数之间的温度变化来确定。
可以在校准操作期间确定预测的温度升高和预测的温度变化恢复率。在校准操作期间,控制器112可以测量起始或空闲温度,执行保存或恢复操作,确定所达到的峰值(例如,最高)温度,测量达到峰值温度的时间和恢复到初始温度的时间。
预测的温度升高可以基于测量的温度变化率和完成保存或恢复操作的时间。所测量的温度变化率可以基于起始温度与峰值温度之间的差除以执行保存或恢复操作的时间。预测的恢复时间可以基于峰值温度和预测的温度变化恢复率。预测的温度变化恢复率可以基于峰值温度与起始温度之间的差除以从达到峰值温度的时间至温度恢复到起始温度的时间的持续时间来确定。
校准操作可以在NVDIMM 110的引导操作期间由控制器112执行。在示例中,控制器112可以被配置为在生产期间执行校准操作,并且预测的温度升高和预测的恢复率可以存储在NVDIMM 110上。在其它示例中,控制器112可以被配置为在安装的***中执行校准操作,并且预测的温度升高和预测的温度变化恢复率可以存储在NVDIMM110上。另外或替代地,控制器112可以被配置为响应于某些事件(例如,引导或重新引导、重新启动等)而执行校准操作以确定预测的温度升高和预测的温度变化恢复率。另外或替代地,控制器112可以被配置为周期性地实时测量预测的温度升高和预测的温度变化恢复率。响应于检测到预测的温度升高或预测的温度变化恢复率中的一或两个的变化,控制器112可以用更新值替换预测的温度升高或温度变化恢复率中的一或两个,用基于存储值与更新值的平均值的值替换预测的温度升高和/或温度变化恢复率。在一些示例中,控制器112可以被配置为针对不同类型的保存和/或恢复操作(诸如全部保存或恢复操作、一或多个部分保存或恢复操作等)存储预测的温度升高和预测的恢复率。
由控制器112执行的动作可以包含在发起保存或恢复操作之前保持空闲持续一定的时间段(例如,空闲时段)以延迟保存或恢复操作的开始、取消保存或恢复操作、提供警告或警报(例如,在日志中创建指示预测的热事件的条目)或其任何组合。保存或恢复操作的空闲时段的总长度可以基于当前温度、预期的温度升高和预测的温度变化恢复率。在一些示例中,空闲时段可以由指定的时间延迟极限(例如,基于保存或恢复操作已经完成的最大时间量)来界定。响应于预测空闲时段长度可能超过指定的延迟极限,控制器112可以执行另一个动作,诸如取消保存或恢复操作、继续保存或恢复操作、提供警告或警报或其任何组合。在开始之后,空闲时段的预测结束可以基于当前温度、当前温度变化率、预测的温度升高和最高的指定操作温度。
在其它示例中,主机120可以经由相应的命令直接发起保存和恢复操作,而不是发出强制保存命令。例如,主机120可以经由SMB向控制器112提供第一命令(例如,保存命令)以使控制器112将易失性存储器114的内容传输到NVM 116,并且可以经由SMB向控制器112提供第二命令(例如,恢复命令)以使控制器112将NVM 116的内容传输到易失性存储器114。响应于接收到用于保存操作的第一命令或用于恢复操作的第二命令,经由NVDIMM 110的逻辑(例如,控制器112的逻辑电路***)来确定在保存操作或恢复操作期间NVDIMM上的温度是否将超过与NVDIMM的操作温度相关联的阈值。控制器112可以至少部分地基于所述确定来执行保存操作或恢复操作或采取另一个动作(例如,延迟执行保存操作或恢复操作、取消保存操作或恢复操作等)。
在一些示例中,可以基于配置设置选择性地启用或禁用热事件预测电路。在控制器112中实施热预测电路可以允许NVDIMM 110避免至少一些热事件,从而可以提高NVDIMM110的操作可靠性。尽管参考保存和恢复操作描述了热事件预测,但是热事件预测电路***可以用于预测其它操作的热事件。
图2是根据本公开实施例的非易失性双列直插存储器模块(NVDIMM)200的示意框图。如图所示,NVDIMM 200可以包含印刷电路板201,所述印刷电路板被配置为托管DRAM存储器210(0)-(8)和NVM 230,以及控制器220。在一些示例中,图1的NVDIMM110可以实施NVDIMM 200。
NVDIMM 200可以被配置为经由***管理总线(SMB接口)与主机(例如,经由242与NVRCD 240)、经由数据总线接口(例如,与DRAM存储器210(0)-(8))以及经由强制保存信号(例如,与控制器220)进行通信。控制器220可以被配置为对NVDIMM 200执行管理操作,诸如将数据从DRAM存储器210(0)-(8)传输到NVM 230(例如,保存操作)、将数据从NVM 230传输到DRAM存储器210(0)-(8)(例如,恢复操作)、检测电源故障、检测热事件、预测热事件、基于命令或检测到的事件改变操作模式等。控制器220可以包含专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它集成电路***。控制器220可以在DRAM存储器210(0)-(8)与NVM 230之间的数据传输期间执行错误计算和/或检查功能。
DRAM存储器210(0)-(8)可以包含任何类型的易失性存储器,例如任何双倍数据速率(DDR)同步DRAM(SDRAM)架构(例如,DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAM、DDR5 SDRAM、LPDDR4 DRAM等)。DRAM存储器210(0)-(8)可以经由模块数据总线耦合到控制器220并经由耦合到印刷电路板201的边缘连接器202的主机总线耦合到主机。在一些示例中,DRAM存储器210(0)-(8)可以被配置为在处于第一操作模式时通过主机数据总线向主机提供数据和从主机接收数据,并且可以被配置为在处于第二操作模式时通过模块数据总线向控制器220提供数据和从控制器接收数据。DRAM存储器210(0)-(8)可以被配置为使用相同的IO端子和缓冲器用于主机数据总线通信和模块数据总线通信。NVDIMM 200(例如,或DRAM存储器210(0)-(8))可以包含多路复用器212(0)-(8)以选择性地启用与主机或模块数据总线的数据通信中的一项。在一些示例中,DRAM存储器210(0)-(8)可以各自包含被配置为存储诸如操作模式之类的操作参数的相应模式寄存器。在一些示例中,DRAM存储器210(0)-(8)中的一个可以被配置为存储纠错码(ECC)数据以促进对存储在DRAM存储器210(0)-(8)的其它存储器处的数据的ECC操作。
控制器220可以经由NVM总线耦合到NVM 230以在控制器220与NVM 230之间传输命令、地址和数据。NVM 230可以包含一或多个非易失性存储器,例如快闪存储器。NVM 230可以包含任何类型的非易失性存储器。例如,NVM 230可以包含快闪存储器,诸如NAND快闪存储器和NOR快闪存储器。
控制器220还可以被配置为通过SMB经由多路复用器242向NVRCD 240提供命令和地址信息。NVRCD 240可以进一步被配置为经由SMB总线和多路复用器242从主机接收命令和地址数据。在一些示例中,NVRCD 240可以被配置为在处于第一操作模式时从主机接收命令和地址信息,并且可以被配置为在处于第二操作模式时从控制器220接收命令和地址信息。在一些示例中,多路复用器242可以被配置为基于操作模式将NVRCD 240选择性地耦合到主机SMB或模块SMB中的一个。NVRCD 240可以响应于来自主机的命令和地址信息而向DRAM存储器210(0)-(8)提供命令和地址信号,以使DRAM存储器210(0)-(8)执行存储器访问操作。
在操作中,DRAM存储器210(0)-(8)可以基于操作模式选择性地经由NVRCD 240和主机数据总线与主机通信或经由模块数据总线和NVRCD 240与控制器220通信。在示例中,在第一操作模式(例如,正常操作)期间,NVRCD 240可以被配置为基于经由主机SMB和多路复用器242从主机接收的命令和地址数据向DRAM存储器210(0)-(8)提供命令和地址信号,并且DRAM存储器210(0)-(8)可以被配置为经由主机数据总线和多路复用器212(0)-(8)从主机接收数据和向主机提供数据。在第一操作模式期间可以禁用DRAM存储器210(0)-(8)与控制器220之间的通信。
在第二操作模式(例如,保存/恢复操作)期间,NVRCD 240可以被配置为响应于经由模块SMB和242从控制器220接收的命令和地址数据而向DRAM存储器210(0)-(8)提供命令和地址信号,并且DRAM存储器210(0)-(8)可以被配置为经由模块数据总线和多路复用器212(0)-(8)从控制器220接收数据和向控制器提供数据。
在一些示例中,可以由主机发起向第二操作模式的转变。例如,主机可以向控制器220发送强制保存命令以指示控制器220转变到第二模式。在其它示例中,控制器220可以响应于检测到事件(诸如电源故障事件、引导事件等)而转变到第二模式。在第二模式中,主机将对DRAM存储器210(0)-(8)的控制让与控制器220。控制器220可以通过向DRAM存储器210(0)-(8)发送模式寄存器命令和信息以利用设置第二操作模式的信息对模式寄存器进行编程来将DRAM存储器210(0)-(8)设置为第二操作模式。
在第二操作模式期间,控制器220可以控制保存和恢复操作。在保存操作期间,控制器220可以将存储在DRAM存储器210(0)-(8)处的一些或全部数据传输到NVM 230以用于持久存储。例如,响应于电源故障事件,DRAM存储器210(0)-(8)的数据可以存储在NVM 230处。在恢复操作期间,控制器220可以将存储在NVM 230处的一些或全部数据传输到DRAM存储器210(0)-(8)。例如,NVM 230的数据可以响应于从电源故障事件中恢复(诸如在引导之后)存储在DRAM存储器210(0)-(8)处。
在保存或恢复操作期间,NVDIMM 200的电路***可能在DRAM存储器210(0)-(8)与NVM 230之间传输数据所花费的时间段内消耗大量功率。功耗的增加可能导致NVDIMM 200上的温度在操作期间升高。如果温度超过指定的最高操作温度,则控制器220可能检测到热事件并中止传输以防止损坏NVDIMM 200上的组件。中止保存或恢复操作可能会中断NVDIMM200和/或存储器***的操作。
热事件的可能性可能受NVDIMM 200的初始温度(例如,基于在NVDIMM 200上执行的先前操作)、NVDIMM 200的组件的热属性、安装环境的热属性(例如,气流、相对于其它发热组件的位置等)、要传输的数据容量、传输时间或其组合的影响。在一些示例中,对于NVDIMM 200,在保存或恢复事件期间温度的升高速率可从一个保存事件到下一个事件保持一致。
因此,为了防止热事件,控制器220可以包含温度传感器222(例如,或装置、模块等),所述温度传感器被配置为在开始保存或恢复操作之前预测热事件是否可能发生,并使控制器220响应于预测热事件有可能发生而执行动作。为了预测热事件,温度传感器222可以被配置为基于从起始温度开始的预测的温度升高来预测峰值温度。预测的温度升高可以基于保存或恢复操作期间的温度升高率以及保存或恢复操作的持续时间。保存或恢复操作的持续时间可以基于要传输的数据量和相关总线的数据吞吐量。由控制器220执行的动作可以基于在执行保存或恢复操作之后温度降低时的当前温度变化率和/或热恢复率。
初始温度和当前温度变化率可以基于来自224(例如,或来自温度传感器232)的实时读数(例如,当前速率可以基于两个连续温度测量值之间的温度差来确定)。可以在校准操作期间确定预测的温度变化率和预测的温度变化恢复率。在校准操作期间,温度传感器222可以(例如,经由224和/或温度传感器232)测量起始或空闲温度,执行保存或恢复操作,确定所达到的峰值(例如,最高)温度,测量达到峰值温度的时间和恢复到初始温度的时间。
所测量的温度变化率可以基于起始温度与峰值温度之间的差除以从操作开始的时间至达到峰值温度的时间。预测的恢复时间可以基于峰值温度和预测的温度变化恢复率。预测的温度变化恢复率可以基于峰值温度与起始温度之间的差除以从达到峰值温度的时间至温度恢复到起始温度的时间的持续时间来确定。
校准操作可以在对NVDIMM 200的引导操作期间由温度传感器222执行。在示例中,温度传感器222可以被配置为在生产期间执行校准操作,并且预测的温度升高和预测的恢复率可以存储在温度传感器222上。在其它示例中,温度传感器222可以被配置为在安装的***中执行校准操作,并且预测的温度升高和预测的温度变化恢复率可以存储在NVDIMM200上。另外或替代地,控制器220可以被配置为响应于某些事件(例如,引导或重新引导、重新启动等)而执行校准操作。另外或替代地,温度传感器222可以被配置为在保存和恢复操作期间周期性地实时测量温度升高和恢复率,并且可以替换预测的温度升高或温度变化恢复率的存储值中的一或两个,用存储值与新值的平均值替换存储值或其任何组合。在一些示例中,温度传感器222可以被配置为针对不同类型的保存和/或恢复操作(诸如全部保存或恢复操作、一或多个部分保存或恢复操作等)存储预测的温度升高和恢复率。
由温度传感器222和/或控制器220执行的动作可以包含在开始保存或恢复操作之前保持空闲一定的时间段(例如,空闲时段)以允许当前温度降低、取消保存或恢复操作、提供警告或警报(例如,将警报或警告保存到操作或错误日志)或其任何组合。保存或恢复操作之前的空闲时段的总长度可以基于当前温度、预期的温度升高和预测的温度变化恢复率。在一些示例中,空闲时段可以由指定的时间极限(例如,基于保存或恢复操作已经完成的最大时间量)来界定。响应于预测空闲时段长度可能超过指定的延迟极限,控制器220可以执行另一个动作,诸如取消保存或恢复操作、继续保存或恢复操作、提供警告或警报或其任何组合。在开始空闲时段之后,空闲时段的预测结束可以基于当前温度、当前温度变化率、预测的温度升高和最高的指定操作温度。
在一些示例中,可以基于配置设置选择性地启用或禁用热事件预测电路。在温度传感器222中实施热预测电路可以允许NVDIMM 200避免至少一些热事件,从而可以提高NVDIMM 200的操作可靠性。尽管参考保存和恢复操作描述了热事件预测,但是热事件预测电路可以用于预测其它操作的热事件。
图3是根据本公开实施例的非易失性双列直插存储器模块(NVDIMM)300的示意框图。如图所示,NVDIMM 300可以包含印刷电路板301,所述印刷电路板被配置为托管DRAM存储器310(0)-(8)和NVM 330,以及控制器320。在一些示例中,图1的NVDIMM110可以实施NVDIMM 300。
NVDIMM 300可以被配置为经由***管理总线(SMB接口)与主机(例如,经由多路复用器(未示出)与NVRCD 340)、经由数据总线接口(例如,与DRAM存储器310(0)-(8))进行通信,并且可以被配置为向控制器320提供强制保存信号。控制器320可以被配置为对NVDIMM300执行管理操作,诸如将数据从DRAM存储器310(0)-(8)传输到NVM330(例如,保存操作)、将数据从NVM 330传输到DRAM存储器310(0)-(8)(例如,恢复操作)、检测电源故障、检测热事件、预测热事件、基于命令或检测到的事件改变操作模式等。控制器320可以包含专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它集成电路***。控制器320可以在DRAM存储器310(0)-(8)与NVM 330之间的数据传输期间执行错误计算和/或检查功能。
DRAM存储器310(0)-(8)可以包含任何类型的易失性存储器,例如任何双倍数据速率(DDR)同步DRAM(SDRAM)架构(例如,DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAM、DDR5 SDRAM、LPDDR4 DRAM等)。DRAM存储器310(0)-(8)可以经由模块数据总线耦合到控制器320并经由印刷电路板301的边缘连接器302经由主机数据总线耦合到主机。在一些示例中,DRAM存储器310(0)-(8)可以被配置为在处于第一操作模式时通过主机数据总线向主机提供数据和从主机接收数据,并且可以被配置为在处于第二操作模式时通过模块数据总线向控制器320提供数据和从控制器接收数据。控制器320与DRAM存储器310(0)-(8)之间的数据总线通信可以使用DRAM存储器310(0)-(8)的第一组IO端子和缓冲器,并且主机与DRAM存储器310(0)-(8)之间的数据总线通信可以使用DRAM存储器310(0)-(8)的第二组IO端子和缓冲器。NVDIMM 300(例如,或DRAM存储器310(0)-(8))可以包含312(0)-(8)以选择性地启用与主机或模块数据总线的数据通信中的一项。在一些示例中,DRAM存储器310(0)-(8)可以各自包含被配置为存储诸如操作模式之类的操作参数的相应模式寄存器以及用于每个模式的IO端子和缓冲器。在一些示例中,DRAM存储器310(0)-(8)中的一个可以被配置为存储纠错码(ECC)数据以促进对存储在DRAM存储器310(0)-(8)的其它存储器处的数据的ECC操作。
控制器320可以经由NVM总线耦合到NVM 330以在控制器320与NVM 330之间传输命令、地址和数据。NVM 330可以包含一或多个非易失性存储器,例如快闪存储器。NVM 330可以包含任何类型的非易失性存储器。例如,NVM 330可以包含快闪存储器,诸如NAND快闪存储器和NOR快闪存储器。
控制器320可以进一步被配置为通过SMB经由多路复用器(未示出)向NVRCD 340提供命令和地址信息。NVRCD 340可以进一步被配置为经由主机SMB总线从主机接收命令和地址数据。在一些示例中,NVRCD 340可以被配置为在处于第一操作模式时从主机接收命令和地址信息,并且可以被配置为在处于第二操作模式时从控制器320接收命令和地址信息。在一些示例中,多路复用器可以被配置为基于操作模式将NVRCD 340选择性地耦合到主机SMB或模块SMB中的一个。NVRCD 340可以响应于来自主机的命令和地址信息而向DRAM存储器310(0)-(8)提供命令和地址信号,以使DRAM存储器310(0)-(8)执行存储器访问操作。
在操作中,DRAM存储器310(0)-(8)可以基于操作模式选择性地经由边缘控制器302和主机数据总线与主机通信或经由模块数据总线和NVRCD 340与控制器320通信。在示例中,在第一操作模式(例如,正常操作)期间,NVRCD 340可以被配置为基于经由主机SMB从主机接收的命令和地址信息向DRAM存储器310(0)-(8)提供命令和地址信号,并且DRAM存储器310(0)-(8)可以被配置为经由第一组IO端子和缓冲器处的主机数据总线从主机接收数据和向主机提供数据。在第一操作模式期间可以禁用DRAM存储器310(0)-(8)与控制器320之间的通信。
在第二操作模式(例如,保存/恢复操作)期间,NVRCD 340可以被配置为响应于经由模块SMB从控制器320接收的命令和地址数据而向DRAM存储器310(0)-(8)提供命令和地址信号,并且DRAM存储器310(0)-(8)可以被配置为经由第二组IO端子和缓冲器处的模块数据总线从控制器320接收数据和向控制器提供数据。
在一些示例中,可以由主机发起向第二操作模式的转变。例如,主机可以向控制器320发送强制保存命令以指示控制器320转变到第二模式。在其它示例中,控制器320可以响应于检测到事件(诸如电源故障事件、引导事件等)而转变到第二模式。在第二模式中,主机将对DRAM存储器310(0)-(8)的控制让与控制器320。控制器320可以通过向DRAM存储器310(0)-(8)发送模式寄存器命令和信息以利用设置第二操作模式的信息对模式寄存器进行编程来将DRAM存储器310(0)-(8)设置为第二操作模式。
在第二操作模式期间,控制器320可以控制保存和恢复操作。在保存操作期间,控制器320可以将存储在DRAM存储器310(0)-(8)处的一些或全部数据传输到NVM 330以用于持久存储。例如,响应于电源故障事件,DRAM存储器310(0)-(8)的数据可以存储在NVM 330处。在恢复操作期间,控制器320可以将存储在NVM 330处的一些或全部数据传输到DRAM存储器310(0)-(8)。例如,NVM 330的数据可以响应于从电源故障事件中恢复(诸如在引导之后)传输到DRAM存储器310(0)-(8)。
在保存或恢复操作期间,NVDIMM 300的电路***可能在DRAM存储器310(0)-(8)与NVM 330之间传输数据所花费的时间段内消耗大量功率。NVDIMM 300的功耗的增加可能导致NVDIMM 300上的温度在传输期间升高。如果温度(例如,基于324或温度传感器332)超过指定的最高操作温度,则控制器320可能检测到热事件并中止传输以防止损坏NVDIMM 300上的组件。中止保存或恢复操作可能会中断NVDIMM 300和/或存储器***的操作。
热事件的可能性可能受初始或起始温度(例如,基于在NVDIMM 300上执行的先前操作)、NVDIMM 300的组件的热属性、安装环境的热属性(例如,气流、相对于其它发热组件的位置等)、要传输的数据量、完成传输的时间或其组合的影响。在一些示例中,对于NVDIMM300,在保存或恢复事件期间温度的升高速率可从一个保存事件到下一个事件保持一致。
因此,为了防止热事件,控制器320可以包含温度传感器322(例如,或装置、模块等),所述温度传感器被配置为在开始保存或恢复操作之前预测热事件是否可能发生,并使温度传感器322或控制器320响应于预测热事件有可能发生而执行动作。为了预测热事件,温度传感器322可以被配置为基于从起始温度开始的预测的温度升高来预测峰值温度。预测的温度升高可以基于温度升高率和保存或恢复操作的持续时间。保存或恢复操作的持续时间可以基于要传输的数据量和相关总线的数据吞吐量。由控制器320执行的动作可以基于在执行保存或恢复操作之后温度降低时的当前温度变化率和/或热恢复率。
初始温度和当前温度变化率可以基于来自324(例如,或来自温度传感器332)的实时温度测量值。当前速率可以基于两个连续温度读数之间的温度变化来确定。可以在校准操作期间确定预测的温度升高和预测的温度变化恢复率。在校准操作期间,温度传感器322可以(例如,经由324或温度传感器332)测量起始或空闲温度,执行保存或恢复操作,确定所达到的峰值(例如,最高)温度,测量达到峰值温度的时间和恢复到初始温度的时间。
预测的温度升高可以基于测量的温度变化率和完成保存或恢复操作的时间。所测量的温度变化率可以基于起始温度与峰值温度之间的差除以从操作开始的时间至达到峰值温度或完成保存或恢复操作的时间。预测的恢复时间可以基于峰值温度和预测的温度变化恢复率。预测的温度变化恢复率可以基于峰值温度与起始温度之间的差除以从达到峰值温度的时间至温度恢复到起始温度的时间的持续时间来确定。
校准操作可以在引导操作期间由温度传感器322执行。在示例中,温度传感器322可以被配置为在生产期间执行校准操作,并且预测的温度升高和预测的恢复率可以存储在温度传感器322上。在其它示例中,温度传感器322可以被配置为在安装的***中执行校准操作,并且预测的温度升高和预测的温度变化恢复率可以存储在NVDIMM 300上。另外或替代地,温度传感器322可以被配置为响应于某些事件(例如,引导或重新引导、重新启动等)而执行校准操作。另外或替代地,温度传感器322可以被配置为在保存或恢复操作期间周期性地实时测量温度升高和恢复率,并且可以替换预测的温度升高或温度变化恢复率中的一或两个,用存储值与实时值的平均值替换存储值或其组合。在一些示例中,温度传感器322可以被配置为针对不同类型的保存和/或恢复操作(诸如全部保存或恢复操作、一或多个部分保存或恢复操作等)存储预测的温度升高值和预测的恢复率。
由温度传感器322和/或控制器320执行的动作可以包含在开始保存或恢复操作之前保持空闲一定的时间段(例如,空闲时段)以允许当前温度降低、取消保存或恢复操作、提供警告或警报(例如,在NVDIMM 300的错误日志中生成警告或警报条目)或其任何组合。保存或恢复操作的空闲时段的总持续时间可以基于当前温度、预期的温度升高和预测的温度变化恢复率。在一些示例中,空闲时段可以由指定的时间延迟极限(例如,基于保存或恢复操作已经完成的最大时间量)来界定。响应于预测空闲时段长度可能超过指定的延迟极限,控制器320可以执行另一个动作,诸如取消保存或恢复操作、继续保存或恢复操作、提供警告或警报或其任何组合。在开始空闲时段之后,空闲时段的预测结束可以基于当前温度、当前温度变化率、预测的温度升高和最高的指定操作温度。
在一些示例中,可以基于配置设置选择性地启用或禁用热事件预测电路。在温度传感器322中实施热预测电路可以允许NVDIMM 300避免至少一些热事件,从而可以提高NVDIMM 300的操作可靠性。尽管参考保存和恢复操作描述了热事件预测,但是热事件预测电路可以用于预测其它操作的热事件。
图4包含描绘根据本公开的实施例的用于预测NVDIMM中的热事件的方法400的示例性流程图。方法400可由图1的NVDIMM 110、图2的温度传感器222、图3的温度传感器322或其组合来执行。为了预测热事件,温度事件预测器可以基于从起始温度开始的预测的温度升高来预测峰值温度,并且可以确定预测的峰值温度是否可能超过最高的指定操作温度。
在410处,方法400可以包含在引导操作期间执行初始温度事件预测校准。温度事件预测校准可以包含确定针对保存或恢复操作的预测的温度升高、预测恢复率或其组合。校准操作可以包含经由温度传感器(例如,图2的224或温度传感器232和/或图3的324或温度传感器332)测量起始或空闲温度,执行保存或恢复操作,确定所达到的峰值(例如,最高)温度,测量达到峰值温度的时间和恢复到初始温度的时间。
在示例中,温度事件预测校准操作可以在生产期间和/或在安装的***中执行。另外或替代地,温度事件预测校准操作可以响应于某些事件(例如,引导或重新引导、重新启动等)而执行。在初始温度事件预测校准操作之后,可以基于在保存和恢复操作期间测量的温度升高和恢复率的周期测量值来更新预测的温度升高和恢复率中的一个或多个的值。在一些示例中,不同的预测温度升高和恢复率可以被存储用于不同类型的保存和/或恢复操作(诸如全部保存或恢复操作、一或多个部分保存或恢复操作等)。
预测的温度升高可以基于测量的温度变化率和完成保存或恢复操作的时间。所测量的温度变化率可以基于起始温度与峰值温度之间的差除以从操作开始的时间至达到峰值温度的时间。
方法400可以进一步包含在412处接收保存或恢复请求。方法400可以进一步包含在420处确定预测的温度升高是否超过指定的最高操作温度。测量的温度超过指定的最高操作温度可能会导致热事件。预测的峰值温度可以基于从初始温度开始的预测温度升高。初始温度可以基于来自NVDIMM的温度传感器(例如,图2的224或温度传感器232和/或图3的324或温度传感器332)的实时测量值。
方法400可以进一步包含在430处响应于确定预计的温度升高超过指定的最高操作温度而采取行动。在一些示例中,所述动作可以包含在432处执行空闲操作。在一些示例中,所述动作可以包含在434处取消保存或恢复操作。在一些示例中,所述动作可以包含在436处在错误日志中输入警告或错误。在一些示例中,所述动作可以包含执行空闲操作、取消保存/恢复操作或在错误日志中输入警告的任何组合。
执行空闲操作可以包含计算空闲时间并开始空闲操作。一旦空闲操作已经开始,方法400就可以包含在440处确定当前斜坡率是否支持空闲操作。当前斜坡率可以基于两次连续温度测量之间的温度变化。保存或恢复操作的空闲时段的总长度可以基于当前温度、预期的温度升高和预测的温度变化恢复率。在一些示例中,空闲时段可以由指定的时间延迟极限(例如,基于保存或恢复操作已经完成的最大时间量)来界定。如果当前速率不支持空闲操作,则方法400可以包含在434处取消保存/恢复操作和/或在436处在错误日志中输入警告。如果当前斜坡率确实支持空闲操作,则方法400可以包含在442处完成空闲操作。
响应于在430处采取行动,或者响应于确定预计的温度升高不超过指定的最高操作温度,方法400可以包含在450处执行保存或恢复操作。在完成保存或恢复操作之后,方法400还可以包含在460处更新温度校准,诸如根据保存或恢复操作更新预测的温度升高、更新恢复斜坡率等。
图5包含描绘根据本公开的实施例的用于预测NVDIMM中的热事件的方法500的示例性流程图。方法500可由图1的NVDIMM 110、图2的温度传感器222、图3的温度传感器322或其组合来执行。为了预测热事件,温度事件预测器可以基于从起始温度开始的预测的温度升高和完成保存或恢复操作的持续时间来预测峰值温度,所述持续时间可以基于要传输的数据量和相关总线的数据吞吐量。
方法500可以包含在510处在非易失性双列直插存储器模块(NVDIMM)的控制电路处接收执行保存或恢复操作的请求。NVDIMM可以包含图1的NVDIMM 110、图2的NVDIMM 200、图3的NVDIMM 300或其任何组合。控制电路可以包含图1的控制器112、图2的控制器220、图3的控制器320或其任何组合。保存或恢复操作可以包含将数据从易失性存储器传输到NVDIMM的非易失性存储器。
方法500可以进一步包含在520处响应于接收到执行保存或恢复操作的请求,经由控制电路的热事件预测电路预测在保存或恢复操作期间NVDIMM上达到的峰值温度是否将超过最高操作温度。热事件预测电路可以包含图1的控制器112的热事件预测电路、图2的温度传感器222、图3的温度传感器322或其任何组合。在一些示例中,方法500可以进一步包含基于当前温度和预测的温度升高来预测峰值温度。在一些示例中,方法500可以进一步包含在NVDIMM的引导期间执行的校准操作期间确定预测的温度升高。在一些示例中,方法500可以进一步包含响应于保存或恢复操作是全部保存或恢复操作而为预测温度升高选择第一值,并且响应于保存或恢复操作是部分保存或恢复操作而为预测温度升高选择第二值。
方法500可以进一步包含在530处基于所述预测确定是执行保存或恢复操作还是采取另一个动作。在一些示例中,方法500可以进一步包含响应于预测峰值温度将超过最高的操作温度,取消保存或恢复操作、在错误日志中生成条目、延迟开始保存或恢复操作持续空闲时段,或其任何组合。
提供对所公开的实施例的先前描述是为了使得本领域技术人员能够制作或使用所公开实施例。对于本领域技术人员而言,对这些实施例的各种修改将是显而易见的,并且在不脱离本公开的范围的情况下,可以将本文定义的原理应用于其它实施例。因此,本发明并非旨在限于本文中所示的实施例,而是应被赋予与先前描述的原理和新颖特征一致的可能最广泛范围。

Claims (26)

1.一种用于存储器模块中的热事件预测的设备,其包括:
易失性存储器;
非易失性存储器NVM,所述NVM与所述易失性存储器耦合;
温度传感器;以及
控制电路,所述控制电路耦合在所述NVM与SDRAM之间并且耦合到所述温度传感器,其中所述控制电路被配置为响应于接收到用于在所述易失性存储器与所述NVM之间执行数据传输操作的命令,预测所述数据传输操作是否将导致所述控制电路的温度超过指定的最高操作温度。
2.根据权利要求1所述的设备,其中所述控制电路被配置为基于所述数据传输操作的预测的温度升高来预测所述数据传输操作是否将导致所述控制电路的所述温度超过指定的最高操作温度。
3.根据权利要求2所述的设备,其中所述温度传感器被配置为提供当前温度,其中所述控制电路被配置为基于所述当前温度来预测所述数据传输操作是否将导致所述控制电路的所述温度超过指定的最高操作温度。
4.根据权利要求2所述的设备,其中所述控制电路被配置为在引导操作期间测量测试数据传输操作期间的温度升高以确定所述预测的温度升高。
5.根据权利要求1所述的设备,其中所述控制电路被配置为响应于确定所述数据传输操作将导致所述控制电路的所述温度超过所述指定的最高操作温度而取消所述数据传输操作。
6.根据权利要求1所述的设备,其中所述控制电路被配置为响应于确定所述数据传输操作将导致所述控制电路的所述温度超过所述指定的最高操作温度而在错误日志中生成条目。
7.根据权利要求1所述的设备,其中所述控制电路被配置为响应于确定所述数据传输操作将导致所述控制电路的所述温度超过所述指定的最高操作温度而发起空闲时段以将所述数据传输操作的开始延迟一定的时间段以允许当前温度降低。
8.根据权利要求7所述的设备,其中所述控制电路被配置为确定允许所述当前温度降低到目标温度以避免所述温度超过所述指定的最高温度时段所需要的空闲时段的长度是否超过最大空闲时间段。
9.根据权利要求8所述的设备,其中所述控制电路被配置为基于当前温度降低速率来确定允许所述当前温度降低到所述目标温度所需要的所述空闲时段的所述长度。
10.根据权利要求1所述的设备,其中所述易失性存储器或所述NVM包括所述温度传感器。
11.根据权利要求1所述的设备,其中所述温度传感器包括与所述易失性存储器和所述NVM分离的分立部件。
12.一种用于存储器模块中的热事件预测的设备,其包括:
存储器模块,所述存储器模块包括经由控制器耦合到非易失性存储器NVM的同步动态随机存取存储器SDRAM,其中响应于针对发起保存或恢复操作以在所述SDRAM与所述NVM之间传输数据的请求,所述控制器被配置为基于预测的温度升高来预测在所述保存或恢复操作期间当前温度是否将升高到超过最高操作温度。
13.根据权利要求12所述的设备,其中所述控制器包含热事件预测电路,所述热事件预测电路被配置为在开始所述保存或恢复操作之前,使所述控制器响应于预测所述当前温度将升高到超过所述最高的操作温度而执行动作。
14.根据权利要求13所述的设备,其中所述热事件预测电路被配置为响应于预测所述当前温度将升高到超过所述最高操作温度而使所述控制器在开始所述保存或恢复操作之前发起空闲时段。
15.根据权利要求13所述的设备,其中所述热事件预测电路被配置为执行校准操作以确定所述预测的温度升高。
16.根据权利要求15所述的设备,其中所述热事件预测电路被配置为在所述校准操作期间执行测试保存和恢复操作,并测量起始温度与峰值温度之间的温度差以确定所述预测的温度升高。
17.根据权利要求15所述的设备,其中所述热事件预测电路被配置为在所述存储器模块的引导期间执行所述校准操作。
18.根据权利要求12所述的设备,其中所述控制器被配置为响应于预测在所述保存或恢复操作期间达到的预测峰值温度将保持低于所述最高操作温度而执行所述保存或恢复操作。
19.根据权利要求18所述的设备,其中所述控制器被配置为基于在所述保存或恢复操作期间测量的总温度升高来更新所述预测的温度升高。
20.一种用于存储器模块中的热事件预测的方法,其包括:
在非易失性双列直插存储器模块NVDIMM的控制电路处接收用于保存操作的第一命令或用于恢复操作的第二命令,在所述保存操作中将所述NVDIMM的易失性存储器的内容传输到所述NVDIMM的非易失性存储器,在所述恢复操作中将所述NVDIMM的所述非易失性存储器的所述内容写回到所述NVDIMM的所述易失性存储器;
响应于用于所述保存操作的所述第一命令或用于所述恢复操作的所述第二命令,经由所述NVDIMM的逻辑来确定在所述保存操作或所述恢复操作期间所述NVDIMM上的温度是否将超过与所述NVDIMM的操作温度相关联的阈值;以及
至少部分地基于所述确定来确定是执行所述保存操作或所述恢复操作还是采取另一个动作。
21.根据权利要求20所述的方法,其进一步包括基于当前温度和预测的温度升高来确定峰值温度以确定在所述保存操作或所述恢复操作期间所述NVDIMM上的所述温度是否将超过所述阈值。
22.根据权利要求21所述的方法,其进一步包括在所述NVDIMM的引导期间执行的校准操作期间确定所述预测的温度升高。
23.根据权利要求21所述的方法,其进一步包括:
响应于所述保存或恢复操作是全部保存或恢复操作而为所述预测的温度升高选择第一值;和
响应于所述保存或恢复操作是部分保存或恢复操作而为所述预测的温度升高选择第二值。
24.根据权利要求20所述的方法,其进一步包括响应于确定所述NVDIMM上的所述温度将超过所述阈值而取消所述保存操作或所述恢复操作。
25.根据权利要求20所述的方法,其进一步包括响应于确定所述NVDIMM上的所述温度将超过所述阈值而在错误日志中生成条目。
26.根据权利要求20所述的方法,其进一步包括响应于确定所述温度将超过所述阈值,将所述保存或恢复操作的开始延迟空闲时段。
CN202110987213.8A 2020-08-27 2021-08-26 混合存储器模块中的热事件预测 Active CN114115714B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/005,302 US11586518B2 (en) 2020-08-27 2020-08-27 Thermal event prediction in hybrid memory modules
US17/005,302 2020-08-27

Publications (2)

Publication Number Publication Date
CN114115714A CN114115714A (zh) 2022-03-01
CN114115714B true CN114115714B (zh) 2024-04-05

Family

ID=80356612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110987213.8A Active CN114115714B (zh) 2020-08-27 2021-08-26 混合存储器模块中的热事件预测

Country Status (2)

Country Link
US (1) US11586518B2 (zh)
CN (1) CN114115714B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11508416B2 (en) * 2021-03-16 2022-11-22 Western Digital Technologies, Inc. Management of thermal throttling in data storage devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239368A (zh) * 2016-03-28 2017-10-10 爱思开海力士有限公司 非易失性存储器模块及其操作方法
CN107239366A (zh) * 2016-03-28 2017-10-10 爱思开海力士有限公司 非易失性双列直插式存储器***的掉电中断
CN107481746A (zh) * 2016-06-08 2017-12-15 三星电子株式会社 用于操作ddr可兼容异步存储器模块的***和方法
CN107924692A (zh) * 2015-08-04 2018-04-17 高通股份有限公司 用于热电存储器温度控制的***和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10198353B2 (en) * 2017-07-07 2019-02-05 Dell Products, Lp Device and method for implementing save operation of persistent memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107924692A (zh) * 2015-08-04 2018-04-17 高通股份有限公司 用于热电存储器温度控制的***和方法
CN107239368A (zh) * 2016-03-28 2017-10-10 爱思开海力士有限公司 非易失性存储器模块及其操作方法
CN107239366A (zh) * 2016-03-28 2017-10-10 爱思开海力士有限公司 非易失性双列直插式存储器***的掉电中断
CN107481746A (zh) * 2016-06-08 2017-12-15 三星电子株式会社 用于操作ddr可兼容异步存储器模块的***和方法

Also Published As

Publication number Publication date
US11586518B2 (en) 2023-02-21
US20220066899A1 (en) 2022-03-03
CN114115714A (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
CN110795027B (zh) 固态存储设备及包括该固态存储设备的电子***
US8949502B2 (en) PCIe NVRAM card based on NVDIMM
US8046615B2 (en) Microcomputer system with reduced power consumption
CN113129939B (zh) 具有温度缓解机制的设备及其操作方法
CN111459557B (zh) 一种缩短服务器开机时间的方法及***
KR20150144690A (ko) 적응적 백업 매커니즘을 갖는 컴퓨팅 시스템 및 그것의 동작 방법
US9910775B2 (en) Computing system with adaptive back-up mechanism and method of operation thereof
US10691565B2 (en) Storage control device and storage control method
US7966486B2 (en) Computer system with dual basic input output system and operation method thereof
US10831657B2 (en) Debug data recovery after PLI event
WO2011149481A1 (en) Initializing a memory subsystem of a management controller
US11733883B2 (en) Storage device initiating maintenance operation actively without instruction of host and electronic system including the same
TWI473103B (zh) 快閃記憶體儲存裝置及其不良儲存區域的判定方法
CN114115714B (zh) 混合存储器模块中的热事件预测
US20170337066A1 (en) Computer and controlling method thereof
CN117707884A (zh) 一种监控电源管理芯片的方法、***、设备和介质
JP4950214B2 (ja) データ記憶装置における停電を検出する方法、およびデータ記憶装置を復旧する方法
KR20230112362A (ko) 데이터 처리 시스템 및 그 동작 방법과, 이를 위한 스토리지 장치
JP2016057817A (ja) 情報処理装置
US7487399B2 (en) System and method for testing a component in a computer system using frequency margining
JP7291541B2 (ja) 制御装置および監視方法
JP2000172575A (ja) メモリーバックアップシステム
JP2003006056A (ja) メモリバックアップ回路
WO2024073193A1 (en) Selecting between basic and global persistent flush modes
CN116578228A (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
GR01 Patent grant
GR01 Patent grant