掌桥专利:专业的专利平台
掌桥专利
首页

存储器子系统温度调节

文献发布时间:2023-06-19 16:08:01



技术领域

本公开的实施例大体上涉及存储器子系统,且更具体来说,涉及存储器子系统温度调节。

背景技术

存储器子系统可以包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器组件和易失性存储器装置。一般来说,主机系统可利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。

附图说明

根据下文提供的具体实施方式和本公开的各种实施例的附图将更加充分地理解本公开。

图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。

图2说明根据本公开的一些实施例的存储器子系统控制器和温度组件的实例。

图3说明根据本公开的一些实施例的存储器子系统控制器和温度组件的另一实例。

图4A说明根据本公开的一些实施例的对应于调节温度的存储器子系统操作的流程图。

图4B说明根据本公开的一些实施例的对应于调节温度的存储器子系统操作的流程图。

图5是根据本公开的一些实施例的对应于用于执行存储器子系统操作以调节温度的方法的流程图。

图6是其中本公开的实施例可操作的实例计算机系统的框图。

具体实施方式

本公开的方面是针对与存储器子系统相关联的温度调节,特定来说涉及包含温度组件的存储器子系统。存储器子系统可以是存储装置、存储器模块,或存储装置和存储器模块的混合。存储器子系统的实例是存储系统,例如非易失性双列直插式存储器模块(NVDIMM)。下文结合图1描述存储装置和存储器模块的实例。大体来说,主机系统可利用包含一或多个组件的存储器子系统,所述组件例如存储数据的“存储器装置”。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。

非易失性双列直插式存储器模块(NVDIMM)是一类随机存取存储器,其具有用于正常操作的易失性存储器以及其中在电力故障的情况下使用机载备用电源存储易失性存储器的内容的非易失性存储器。相对于存储器单元,主机可经结构化为一或多个处理器,所述一或多个处理器响应于由主机执行的指令(例如,应用程序、程序等)而控制进出存储器单元的数据。在电力故障的情况下,NVDIMM可将所有数据从其易失性存储器(例如,DRAM或DRAM集合)复制到其永久性快闪存储装置,且当电力恢复时可将所有数据复制回到易失性存储器。所有DRAM数据的状态传送到永久性快闪存储装置上的永久性数据中可在电力循环上执行。虽然上文描述的实例涉及永久性快闪存储装置,但实施例不受如此限制。例如,一些实施例可包含作为非快闪永久性存储装置的永久性存储装置。NVDIMM具有其自身的电池备用电源或对专用电源的接入权,以允许NVDIMM完成保存。

NVDIMM可包含多种不同类型(N,P,X,F)。NVDIMM-N是在同一模块上通常具有快闪存储装置和传统的动态随机存取存储器(DRAM)的双列直插式存储器模块(DIMM)。主机处理单元可直接存取传统的DRAM。NVDIMM-P可包含永久性的主存储器且可与DRAM DIMM共享DDR4或DDR5 DIMM互连件。NVDIMM-X可包含在同一模块上具有NAND快闪存储装置和易失性DRAM的DDR4 DIMM。NVDIMM-F可包含具有快闪存储装置的NVDIMM。

在各种实施例中,可实施NVDIMM中的一组控制寄存器,以将NVDIMM中的存储器的部分保存提供给非易失性存储器,其中“存储器”是指NVDIMM的主存储器。所述主存储器是易失性存储器,例如DRAM,其存储用户数据。所述组控制寄存器可提供通过包含易失性存储器的一部分的起始偏移以识别易失性存储器中保存操作开始的位置且通过包含易失性存储器的待保存的内容的量来进行部分保存的机制。主机可用保存操作的起始的标识以及用于保存操作的内容的量来填充NVDIMM中的所述组控制寄存器。这组控制寄存器还可控制将部分保存恢复回到NVDIMM的易失性存储器的逆操作。用于维持存储在NVDIMM上的数据的此结构为主机提供相对于主机在处理的应用程序来处置用户数据的增加灵活性。对主机提供存取以执行在任何偏移下的完整内容或部分内容保存。这可为主机提供具有对保存和恢复的内容的更好控制和更多控制的能力。

是执行部分保存/恢复还是全保存/恢复可影响NVDIMM的控制器和/或NVDIMM的非易失性存储器的温度。系统(例如,控制器、非易失性存储器等)的温度可为重要的,原因在于冷却成本、系统使用或放置、DIMM的应用、由于增加的温度或超过最大值的温度带来的DIMM的损坏,以及在非电力故障事件中(例如,当操作时间较不关键时)的NVDIMM的使用。可监视控制器和/或非易失性存储器的温度,且可确定或预定控制器和非易失性存储器中的每一个的最大或阈值温度。响应于控制器或非易失性存储器的温度值超过阈值温度值,可执行调节温度的操作以便将温度值带到低于阈值温度值。

通过利用NVDIMM的保存和/或部分保存能力或动态地更改数据传送速度,本文中的实施例可允许使用与NVDIMM装置相关联的温度组件控制系统温度。举例来说,可感测或监视与NVDIMM相关联的存储器装置(例如,易失性存储器和/或非易失性存储器)的温度值以使用本文所描述的调节温度的操作维持温度值低于阈值温度值或处于温度值范围内。

如本文更详细地描述,可使用驻留在NVDIMM上的温度组件实行调节温度的操作。在一些实施例中,温度组件可驻留在与NVDIMM相关联的控制器(例如,存储器子系统控制器)上或可驻留在例如快闪存储器装置、交叉点存储器装置等非易失性存储器装置上。如本文中所使用,术语“驻留于...上”是指某物在物理上位于特定组件上。举例来说,温度组件“驻留在控制器上”指代温度组件物理上位于控制器上的条件。术语“驻留于...上”可在本文中与如“部署于...上”或“位于...上”的其它术语互换使用。

在一些先前方法中,对存储于易失性存储器装置中的数据执行的保存操作可包含将整个数据部分保存到非易失性存储器装置,且可能无法动态调整保存数据的大小以便防止温度值超过阈值温度值。类似地,无法动态调整数据的传送速度以便维持系统的温度值在特定范围内或低于特定阈值。数据的全保存或恢复可致使控制器和/或非易失性存储器的温度增加超出用户或服务器系统限制。

本公开的方面通过调整传送数据的大小或数据的传送速度以控制控制器的温度和/或存储器子系统控制器的温度来解决以上和其它缺陷。本公开的优点包含通过调整数据传送的特性(例如数据大小或数据传送速度)来动态控制控制器和/或存储器子系统控制器的温度。本文描述的实施例包含驻留在存储器子系统或存储器子系统控制器上的温度组件,以使得可能执行操作(例如数据大小和/或数据传送速度调整)以调整控制器的温度和/或非易失性存储器装置的温度。举例来说,因为可提供驻留在存储器子系统和/或存储器子系统控制器上的温度组件,所以本文描述的实施例可允许温度组件监视控制器的温度且调整数据大小(例如,用于将数据保存到非易失性存储器中)以便降低控制器的温度。类似地,举例来说,本文描述的实施例可允许温度组件监视控制器的温度且调整数据传送速度以便降低控制器的温度。此外,如下文描述,可连续地监视非易失性存储器和系统(例如,现场可编程门阵列(FPGA))温度的温度测量,且监视值和最大值可存储于FPGA的寄存器中。

图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类的组合。

存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)和各种类型的非易失性双列直插式存储器模块(NVDIMM)。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡和硬盘驱动器(HDD)。

计算系统100可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网市售装置中的计算机),或这类包含存储器和处理装置的计算装置。

计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与...耦合”通常是指组件之间的连接,其可为间接通信连接或直接通信连接(例如不具有中间组件),无论有线还是无线,包括例如电连接、光学连接、磁性连接等连接。

主机系统120可包含处理器芯片组和由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存器、存储器控制器(例如,NVDIMM控制器),和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用例如存储器子系统110以将数据写入到存储器子系统110和从存储器子系统110读取数据。

主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)、双数据速率(DDR)存储器总线、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据和其它信号的接口。图1说明存储器子系统110作为一实例。一般来说,主机系统120可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。

存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的各种组合。易失性存储器装置(例如,存储器装置140)可以是但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。

非易失性存储器装置(例如存储器装置130)的一些实例包含“与非”(NAND)型快闪存储器和就地写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其是非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来进行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。NAND型快闪存储器包含(例如)二维NAND(2D NAND)和三维NAND(3D NAND)。

存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如,单电平单元(SLC)可存储一个位每单元。其它类型的存储器单元,例如多电平单元(MLC)、三电平单元(TLC)和四电平单元(QLC)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类存储器单元阵列的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分、和MLC部分、TLC部分、或QLC部分。存储器装置130的存储器单元可分组为页,所述页可指用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,NAND),页可进行分组以形成块。

虽然描述了非易失性存储器组件,例如3D交叉点非易失性存储器单元阵列和NAND型快闪存储器(例如,2D NAND、3D NAND),但存储器装置130可基于任何其它类型的非易失性存储器或存储装置,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器、和电可擦除可编程只读存储器(EEPROM)。

存储器子系统控制器115(为简单起见,控制器115)可与存储器装置130通信以进行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作。存储器子系统控制器115可以包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。硬件可包含具有专用(即,硬译码)逻辑的数字电路以执行本文所描述的操作。存储器子系统控制器115可为微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。

存储器子系统控制器115可包含处理器117(处理装置),其经配置以执行存储在本地存储器119中的指令。在所示的实例中,存储器子系统控制器115的本地存储器119包含嵌入式存储器,其经配置以存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流和例程的指令,包含处置存储器子系统110与主机系统120之间的通信。

在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然在图1中的实例存储器子系统110已说明为包含存储器子系统控制器115,但在本发明的另一个实施例中,存储器子系统110不包含存储器子系统控制器115,而是可依靠外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。

通常,存储器子系统控制器115可从主机系统120接收命令或操作,且可将命令或操作转换为指令或适当命令以实现对存储器装置130和/或存储器装置140的所需存取。存储器子系统控制器115可负责与存储器装置130相关联的其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓冲存储操作,以及逻辑地址(例如,逻辑块地址(LBA)、名称空间)与物理地址(例如,物理块地址)之间的地址转换。存储器子系统控制器115可进一步包含主机接口电路以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转换为命令指令,以存取存储器装置130和/或存储器装置140以及将与存储器装置130和/或存储器装置140相关联的响应转换为用于主机系统120的信息。

存储器子系统110还可包含未说明的额外电路或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如DRAM)和地址电路系统(例如行解码器和列解码器),所述地址电路系统可接收来自存储器子系统控制器115的地址,且解码所述地址以存取存储器装置130和/或存储器装置140。

在一些实施例中,存储器装置130包含与存储器子系统控制器115一起操作以在存储器装置130的一或多个存储器单元上执行操作的本地媒体控制器135。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其是与本地控制器(例如,本地控制器135)组合以在同一存储器装置封装内进行媒体管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。

存储器子系统110包含温度组件113,其可经配置以安排和/或执行操作以调节温度且在存储器子系统110的各种组件、数据路径和/或接口上传送温度数据。虽然在图1中未图示以免混淆附图,但温度组件113可包含各种电路系统以促进存储器单元集合的定级和分配。举例来说,温度组件113可包含呈ASIC、FPGA、状态机的形式的专用电路系统和/或可允许温度组件113安排和/或执行温度操作且将结果传送到存储器子系统110的各种组件、数据路径和/或接口的其它逻辑电路系统。

存储器子系统控制器115包含可经配置以安排和/或执行操作以调节存储器子系统110的各种组件、数据组件和/或接口上的温度的温度组件113。例如,温度组件113可感测和/或监视指示存储器子系统控制器115的温度的温度值。虽然在图1中未图示以免混淆附图,但温度组件113可包含各种电路系统以促进存储器单元集合的定级和分配。举例来说,温度组件113可包含呈ASIC、FPGA、状态机的形式的专用电路系统,和/或可允许温度组件113安排和/或执行操作以调节存储器子系统110的各种组件、数据元件和/或接口上的温度且将温度值传送到存储器子系统110的其它各种组件的其它逻辑电路系统。温度组件113可在一时间周期内或在不同时间间隔感测和/或监视多个温度值,且作为反馈回路反馈温度值以动态监视和调整温度值。

如结合图2和图3更详细描述,温度组件113可以通信方式耦合到存储器装置130且可存取存储器装置130、存储器装置140、存储器子系统110的内部数据路径和/或存储器子系统110的接口,以执行本文所描述的操作和/或将温度值数据传送到存储器子系统110的额外元件。在一些实施例中,由温度组件113执行的操作可在存储器子系统110和/或存储器子系统控制器115内的数据传送的初始化或预初始化阶段期间执行。因此,在一些实施例中,温度组件113可在数据传送之前执行本文所描述的操作以便确定要传送的数据的大小或初始执行的数据传送速度。在初始数据传送期间,可获得额外温度值,且可调整传送数据的大小或数据传送速度以便调整温度值。

存储器装置130包含可经配置以安排和/或执行操作以调节存储器装置130上的温度的温度组件131。例如,温度组件131可感测和/或监视指示存储器装置130的温度的温度值。虽然在图1中未图示以免混淆附图,但温度组件131可包含各种电路系统以促进存储器单元集合的定级和分配。举例来说,温度组件131可包含呈ASIC、FPGA、状态机的形式的专用电路系统,和/或可允许温度组件131安排和/或执行操作以调节存储器装置130的各种组件、数据元件和/或接口上的温度且将温度值传送到存储器子系统110的其它各种组件的其它逻辑电路系统。温度组件131可在一时间周期内或在不同时间间隔感测和/或监视多个温度值,且作为反馈回路反馈温度值以动态监视和调整存储器装置130的温度值。

如结合图2和图3更详细描述,温度组件131可以通信方式耦合到存储器子系统控制器115且可存取存储器子系统控制器115、存储器装置140、存储器子系统110的内部数据路径和/或存储器子系统110的接口以执行本文所描述的操作和/或将温度值数据传送到存储器子系统110的额外元件。在一些实施例中,由温度组件131执行的操作可在来自和去往存储器装置130和/或在存储器子系统110内的数据传送的初始化或预初始化阶段期间执行。因此,在一些实施例中,温度组件131可在数据传送之前执行本文所描述的操作以便确定要传送的数据的大小或初始执行的数据传送速度。在初始数据传送期间,可获得额外温度值,且可调整传送数据的大小或数据传送速度以便调整温度值。

由温度组件113或131生成的数据可注入到存储器子系统控制器115与存储器装置140或存储器装置130之间的数据路径中。数据可为对应于特定位模式的数量的位。举例来说,数据可为Altera PHY接口(AFI)位模式、用户控制位模式、双向(DQ)引脚控制数据模式,或可写入到第一存储器装置(或不同于第一存储器装置的存储器装置)和从其读取的其它合适的位模式。在一些实施例中,数据可包含字母数字字符的特定复发集合,例如交替的一和零的串或者某一数量的一(或零)随后是某一数量的零(或一)。将了解,实施例不限于这些列举的实例,且数据可包含可写入到存储器装置中的一个等等和从其读取的位和/或数据的任何模式。

温度组件113可经配置以致使数据注入到数据路径中,使得基于由温度组件113确定的温度值使用特定数据大小或特定数据传送速度将数据写入到第二存储器装置。类似地,温度组件131可经配置以致使基于由温度组件131确定的温度值使用特定数据大小或特定数据传送速度将数据注入到数据路径中。如上文所描述,可将数据写入到第二存储器装置,作为将数据保存到第二存储器装置的操作的一部分,或使用第二存储器装置来执行局部保存操作的操作的一部分。

在一些实施例中,温度组件113可响应于存储器子系统控制器115的温度值正接近温度值阈值的确定而生成第一指示。第一指示可指示减少正传送的数据的大小或减小数据传送速度以便维持温度值或减少温度值。所述减少可基于温度值接近于阈值温度值的程度或所确定温度值与阈值温度值之间的温度值的裕量。类似地,可生成指示维持数据大小或数据传送速度的第二指示。此外,可生成指示增加数据大小或数据传送速度的第三指示。可响应于温度值比阈值温度值低特定裕量而生成第三指示。在此实例中,可通过增加数据大小或增加数据传送速度来增加温度值以便增加数据传送效率,减小传送数据所花费的时间量等。

图2说明根据本公开的一些实施例的存储器子系统控制器215和温度组件213的实例。存储器子系统控制器215可类似于图1所示的存储器子系统控制器115,且温度组件213可类似于图1所示的温度组件113。此外,处理器217可类似于图1所示的处理器117,存储器装置230可类似于图1所示的存储器装置130,且存储器装置240可类似于图1所示的存储器装置140。除温度组件213、处理器217、存储器装置230和存储器装置240之外,存储器子系统控制器215还可包含时钟组件218、系统互连件212、可包含易失性存储器控制器219的易失性存储器控制基础结构214,以及非易失性存储器控制基础结构216。

时钟组件218可将时序信号提供到存储器子系统控制器215以促进由存储器子系统控制器215安排的存储器操作的执行。在一些实施例中,时钟组件218可为寄存器时钟驱动器,其可经配置以在存储器子系统控制器215的操作期间,缓冲和/或将命令和/或地址再驱动到存储器装置230和/或存储器装置240。

系统互连件212可为可允许命令、信号、指令等在处理器217、时钟组件218、易失性存储器控制基础结构214和非易失性存储器控制基础结构216之间传递的通信子系统。系统互连件212可为纵横开关(“XBAR”)、片上网络或其它通信子系统,其实现处理器217、时钟组件218、易失性存储器控制基础结构214和非易失性存储器控制基础结构216之间的互连和互操作性。举例来说,系统互连件212可促进处理器217、时钟组件218、易失性存储器控制基础结构214和非易失性存储器控制基础结构216之间的可见性,以促进其间的通信。在一些实施例中,处理器217、时钟组件218、易失性存储器控制基础结构214和非易失性存储器控制基础结构216之间经由系统互连件212的通信可经由相应数据路径(由将系统互连件212连接到存储器子系统控制器215的其它组件的箭头示出)提供。这些数据路径可用以共享指示响应于由温度组件213获得且对应于存储器子系统控制器215的温度或由存储器装置230的温度组件231获得(指示存储器装置230的温度值)的变化温度值而增加或减小数据传送大小或数据传送速度的命令。

易失性存储器控制基础结构214可包含用以控制存储器装置230与例如图1所示的主机系统120等主机之间的数据传送的电路系统。举例来说,易失性存储器控制基础结构214可包含各种接口、直接媒体存取组件、寄存器和/或缓冲器。

在图2中说明的实施例中,温度组件213驻留在存储器子系统控制器215上,且温度组件231驻留在存储器装置230上。如上文所描述,温度组件213、231可经配置以促进存储器子系统控制器215和/或其中部署存储器子系统控制器215的存储器子系统(例如,图1所示的存储器子系统110)的操作的执行。举例来说,温度组件213、231可经配置以调整要传送的数据大小或对应于特定数据传送的数据传送速度(例如,用于执行全部或部分恢复或保存)。

温度组件213、231可进一步经配置以影响来自时钟组件218的时序信息(例如,生成增加或减小与数据传送频率相关联的时钟循环信号的指示),执行操作以将由时钟组件生成的时序信号的频率与预期时序信号进行比较,且基于所述比较而确定时序信号的频率和预期时序信号是否大体上等效。如本文所使用,术语“大体上”意指特性不需要是绝对的,而是足够接近以便实现所述特性的优点。举例来说,“大体上等效”不限于绝对等效,且可包含可归因于存储器子系统控制器215的制造限制和/或操作特性的等效性的少量变化。

非易失性存储器控制基础结构216可包含电路系统以控制存储器装置240与例如图1所示的主机系统120等主机之间的数据传送。举例来说,易失性存储器控制基础结构214可包含各种接口、直接媒体存取组件、寄存器和/或缓冲器。

图3说明根据本公开的一些实施例的存储器子系统控制器315和温度组件313的另一实例。存储器子系统控制器315可类似于图2所示的存储器子系统控制器215,且温度组件313可类似于图2所示的温度组件213。此外,处理器317、系统互连件312、易失性存储器控制基础结构314、易失性存储器控制器319和非易失性存储器控制基础结构316可类似于图2所示的处理器217、系统互连件212、易失性存储器控制基础结构214、易失性存储器控制器219和非易失性存储器控制基础结构216。

如图3所示,存储器子系统控制器可进一步包含存储器子系统核心342,其可包含处理器317和数据和/或指令高速缓冲存储器344。另外,易失性存储器控制基础结构314可包含易失性存储器接口447和可包含温度组件313的易失性存储器控制器319。此外,非易失性存储器控制基础结构316可包含非易失性存储器直接存储器存取(DMA)组件348和非易失性存储器控制器349。

存储器子系统核心342可经由数据路径336耦合到系统互连件312,所述数据路径可允许命令、信号、数据和其它信息在存储器子系统核心342、易失性存储器控制基础结构314和非易失性存储器控制基础结构316之间传送。存储器子系统核心342可为精简指令集计算(RISC)装置,例如RISC-V装置。在一些实施例中,存储器子系统核心342可为

易失性存储器控制基础结构314可包括可包含温度组件313的易失性存储器控制器319,和/或易失性存储器接口347。

图4A-5各自说明根据本公开的一些实施例的对应于用于执行存储器子系统操作以调节温度的方法450、460、570的流程图。每一相应方法450、460、570可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,每一方法450、460、570由图1的温度组件113或温度组件131、图2的温度组件213或温度组件231和/或图3的温度组件313执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。

图4A说明根据本公开的一些实施例的对应于调节温度的存储器子系统操作的流程图450。在操作451处,温度组件(例如,温度组件113、131、213、231、313、331)可执行初始温度读取。初始温度读取可指示由第一温度组件(例如,温度组件113)获得的控制器(例如,存储器子系统控制器115、215、315)的温度,或可指示由第二温度组件(例如,温度组件131)获得的非易失性存储器装置(例如,存储器装置130、230)的温度。在操作452处,可设定数据传送速率。在一些实施例中,可基于控制器和/或非易失性存储器装置的初始温度读数来设定数据传送速率。在一些实施例中,可基于预定初始数据传送速率来设定数据传送速率。

在操作453处,可开始数据传送。例如,数据可从易失性存储器装置(例如,存储器装置140、240)传送到非易失性存储器装置(例如,存储器装置130、230)。数据传送可为保存操作、部分保存操作。数据传送可包含恢复操作以将数据从非易失性存储器装置恢复到易失性存储器装置。

在操作454处,控制器和/或非易失性存储器装置的温度值可由其对应温度组件检查且可获得后续温度值。在操作455处,可基于检查的温度值而复位数据传送速率。例如,开始数据传送可致使控制器的温度值增加且更接近于阈值温度值。响应于此增加,可减小数据传送速率以便减小控制器的温度值。类似地,非易失性存储器装置的温度值可增加,且可减小数据传送速率以便降低对应于非易失性存储器装置的温度值。

如由箭头457所指示,可使用反馈回路或机制在迭代过程中或重复地针对控制器或非易失性存储器装置复位数据传送速率且检查后续温度值,以在传送数据时动态调整传送速率直到数据传送完成为止。以此方式,温度值可维持低于阈值温度值或处于温度值的范围内。在操作456处,数据传送可结束或完成。在一些实施例中,可暂停温度组件的温度值感测或监视直到请求后续数据传送为止。

在一些实施例中,控制器和非易失性存储器装置的温度值可用作反馈机制,以通过具有从易失性存储器装置到控制器且随后到非易失性存储器装置的动态数据传送速率而限制数据的保存/恢复操作。在一个实例中,可通过增加较小数据单元(例如,页、块、排组、DRAM等)之间的延迟或通过减小控制器与易失性存储器装置或控制器与非易失性存储器装置之间的通信速度来动态调整数据传送速率。以此方式,对非易失性存储器执行全数据集合的保存/恢复可允许主机不知道对数据传送速度的任何改变且无需考虑存储器空间。由于这可能产生的操作的变化时间,当执行非电力故障操作时操作时间可能受到的关注较少。

图4B说明根据本公开的一些实施例的对应于调节温度的存储器子系统操作的流程图460。在操作461处,温度组件(例如,温度组件113、131、213、231、313、331)可执行初始温度读取。初始温度读取可指示由第一温度组件(例如,温度组件113)获得的控制器(例如,存储器子系统控制器115、215、315)的温度,或可指示由第二温度组件(例如,温度组件131)获得的非易失性存储器装置(例如,存储器装置130、230)的温度。在操作462处,可设定要传送的数据量。在一些实施例中,可基于控制器和/或非易失性存储器装置的初始温度读数来设定数据量或数据大小。在一些实施例中,可基于预定初始数据传送量来设定数据量。

在操作463处,可开始数据传送。例如,数据可从易失性存储器装置(例如,存储器装置140、240)传送到非易失性存储器装置(例如,存储器装置130、230)。数据传送可为保存操作或部分保存操作。数据传送可包含恢复操作以将数据从非易失性存储器装置恢复到易失性存储器装置。

在操作464处,控制器和/或非易失性存储器装置的温度值可由其对应温度组件检查且可获得后续温度值。在操作465处,可基于检查的温度值而复位数据传送量。例如,开始数据传送可致使控制器的温度值增加且更接近于阈值温度值。响应于此增加,可减小数据传送量以便减小控制器的温度值。类似地,非易失性存储器装置的温度值可增加,且可减小数据传送量以便降低对应于非易失性存储器装置的温度值。

如由箭头467所指示,可使用反馈回路或机制在迭代过程中或重复地针对控制器或非易失性存储器装置复位数据传送速率且检查后续温度值,以在传送数据时动态调整数据传送量直到数据传送完成为止。以此方式,温度值可维持低于阈值温度值或处于温度值的范围内。在操作466处,数据传送可结束或完成。在一些实施例中,可暂停温度组件的温度值感测或监视直到请求后续数据传送为止。

在一些实施例中,控制器和非易失性存储器装置的温度值可用作反馈机制,以通过具有从易失性存储器装置到控制器且随后到非易失性存储器装置的动态数据传送速率而限制数据的保存/恢复操作。在一个实例中,数据传送量可包含具有用于对数据的保存/恢复操作的动态存储器容量。并非具有传送到非易失性存储器装置的静态数据量(例如,易失性存储器空间的全部或部分容量),数据量可为动态的且由控制器的当前温度值、非易失性存储器装置的当前温度值和/或用户输入确定,所述用户输入例如最小值、最大值、要保存的存储器空间的开始,或要保存的存储器空间的末尾。以此方式,可使用可预测且用户确定的最大操作时间。当主机仅关注进行部分保存/恢复操作且设定最小容量或主机实施优先级存储器空间时可使用此方法。

在一些实施例中,可使用调整数据传送速率和数据传送量两者的组合,以便动态影响控制器和非易失性存储器装置两者的温度。举例来说,可减小数据传送速率,同时也减小要传送的数据量以便减小控制器和非易失性存储器中的至少一个的温度值,反之亦然。

图5是根据本公开的一些实施例的对应于用于执行存储器子系统操作以调节温度的方法570的流程图。方法570可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在操作571处,方法570可包含由存储器子系统控制器的第一组件确定存储器子系统控制器的第一温度值。组件可类似于图1的温度组件113、图2的温度组件213和/或图3的温度组件313,且存储器子系统控制器可类似于图1的存储器子系统控制器115、图2的存储器子系统控制器215和/或图3的存储器子系统控制器315。如上文所描述,温度值可由组件感测和/或监视且允许组件调整数据参数。

在操作573处,方法570可包含由非易失性存储器装置的第二组件确定耦合到存储器子系统控制器的非易失性存储器装置的第二温度值。存储器装置可类似于图1的存储器装置130和/或存储器装置140,和/或图2的存储器装置230和/或存储器装置240。

在操作575处,方法570可包含响应于第一温度值和第二温度值中的至少一个超过阈值温度值而修改数据参数。数据参数可包含要传送的数据大小、数据传送速度等。如上文所描述,数据可写入到存储器装置作为由例如图1所示的存储器子系统110等存储器子系统执行的保存操作的部分或部分保存操作的部分。在一些实施例中,可预留存储器元件之间的数据路径以用于在数据传送发生之前或当正传送数据时动态地在可耦合到存储器子系统控制器的主机与非易失性存储器装置之间传送数据,如上文所描述。

在一些实施例中,所述存储器装置可为易失性存储器装置,且与所述存储器装置不同的存储器装置可为非易失性存储器装置(或反之亦然)。举例来说,所述存储器装置可为系统存储器装置,例如DRAM(例如,双端口RAM)存储器装置,且不同于所述存储器装置的存储器装置可为存储装置,例如NAND存储器装置、三维交叉点存储器装置或其它非易失性存储器装置。

方法570可进一步包含修改与从易失性存储器装置到存储器子系统控制器和从控制器到非易失性存储器装置传送数据相关联的数据传送速度。易失性存储器装置可耦合到存储器子系统控制器。方法570可进一步包含增加数据的发送部分之间的延迟。传送的数据可为数据的完整集合或可为数据的部分集合。可通过限制传送到非易失性存储器装置的数据数量来修改数据参数。可基于第一温度值和第二温度值中的一个来限制数据数量。可基于某一数目的用户输入中的一个来限制数据数量。所述数目的用户输入可包含最小值、最大值、要保存的存储器空间的开始,和要保存的存储器空间的末尾。方法570可进一步包含确定NAND存储器装置的第二温度值。所述方法可进一步包含

图6说明计算机系统600的实例机器,在所述实例机器内,可执行用于致使机器执行本文中所论述的方法中的任何一或多个的指令集。在一些实施例中,计算机系统600可对应于包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用以执行控制器的操作(例如,执行操作系统以执行与图1的温度组件113对应的操作)的主机系统(例如,图1的主机系统120)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。

所述机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络设备、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定待由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以进行本文中所论述的方法中的任何一或多种。

实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器606(例如,快闪存储器、静态随机存取存储器(SRAM)等),以及数据存储系统618,其经由总线630彼此通信。

处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元等等。更特定来说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置602经配置以执行用于执行本文所论述的操作和步骤的指令626。计算机系统600可进一步包含用以经由网络620通信的网络接口装置608。在一些实施例中,主存储器604或系统618可为例如与图2-3相关联地描述的NVDIMM。

数据存储系统618可包含机器可读存储媒体624(也称为计算机可读媒体),其上存储有一或多个指令集626或体现本文中所描述的方法或功能中的任一或多种的软件。指令626还可在由计算机系统600执行期间完全或至少部分地驻留在主存储器604内和/或处理装置602内,主存储器604和处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618和/或主存储器604可对应于图1的存储器子系统110。

在一个实施例中,指令626包含实施对应于存储器块定级和分配组件(例如,图1的温度组件113)的功能性的指令。虽然在实例实施例中将机器可读存储媒体624展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。

已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。

然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可指将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操控和变换为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。

本公开还涉及用于执行本文中的操作的设备。这一设备可以出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令并且各自耦合到计算机系统总线的任何类型的媒体。

本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。

本发明可以提供为计算机程序产品或软件,其可以包含在其上存储有可以用于编程计算机系统(或其它电子装置)以执行根据本发明的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。

在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。

技术分类

06120114713477