Memory sub-system temperature throttling relaxation

A method includes monitoring temperature characteristics for a plurality of memory components of a memory sub-system and determining that a temperature characteristic corresponding to at least one of the memory components has reached a threshold temperature. The method further includes determining a data reliability parameter for the at least one of the memory components that has reached the threshold temperature, determining whether the determined data reliability parameter is below a threshold data reliability parameter value for the at least one of the memory components that has reached the threshold temperature, and, based on determining that the data reliability parameter for the at least one of the memory components that has reached the threshold temperature is below the threshold data reliability parameter value, refraining from performing a thermal throttling operation.

TECHNICAL FIELD

Embodiments of the disclosure relate generally to memory sub-systems, and more specifically, relate to memory sub-system temperature throttling relaxation.

BACKGROUND

DETAILED DESCRIPTION

Aspects of the present disclosure are directed to memory sub-system temperature throttling relaxation, in particular to memory sub-systems that include a memory sub-system temperature throttling relaxation component. A memory sub-system can be a storage system, storage device, a memory module, or a combination of such. An example of a memory sub-system is a storage system such as a solid-state drive (SSD). Examples of storage devices and memory modules are described below in conjunction withFIG.1, et alibi. In general, a host system can utilize a memory sub-system that includes one or more components, such as memory devices that store data. The host system can provide data to be stored at the memory sub-system and can request data to be retrieved from the memory sub-system.

A memory device can be a non-volatile memory device. One example of a non-volatile memory device is a three-dimensional cross-point memory device that includes a cross-point array of non-volatile memory cells. Other examples of non-volatile memory devices are described below in conjunction withFIG.1. A non-volatile memory device, such as a three-dimensional cross-point memory device, can be a package of one or more memory components (e.g., memory dice). Each die can consist of one or more planes. Planes can be grouped into logic units. For example, a non-volatile memory device can be assembled from multiple memory dice, which can each form a constituent portion of the memory device.

During operation a memory sub-system can experience fluctuations in thermal characteristics, such as operating temperature. For example, because electrical current is utilized to provide power to the memory sub-system, the memory sub-system can exhibit temperature fluctuations during operation. Such fluctuations can become more pronounced based on the type of workload the memory sub-system is subject to. For example, some types of workloads that can be characterized by high volumes of operations can give rise to greater temperature fluctuations within the memory sub-system than workloads that are characterized by low volumes of operations. Further, a memory sub-system can experience temperature fluctuations based on the environment in which the memory sub-system is deployed.

Although some amount of temperature fluctuation is tolerable within a memory sub-system, the memory sub-system can be adversely affected if such temperature fluctuations exceed certain thresholds. For example, if a memory sub-system is exposed to temperatures that are greater than a threshold safe operating temperature range, the memory sub-system can experience degraded performance and, in some instances, can fail.

Some approaches attempt to mitigate the adverse effects of temperature fluctuations on a memory sub-system by performing thermal throttling operations. For example, some approaches employ mechanisms that reduce an amount of electrical current provided to the memory sub-system for a particular period of time following initiation of a thermal throttling operation during which the temperature of the memory sub-system can be reduced. Although such approaches can allow for the temperature of the memory sub-system to brought within an acceptable operating range, during the period of time in which the reduced electrical current is provided to the memory sub-system, the memory sub-system can suffer from reduced performance. This reduction in performance can be undesirable, especially in critical applications and/or in applications in demanding applications in which very high memory sub-system performance is expected.

Aspects of the present disclosure address the above and other deficiencies by analyzing various data reliability parameters associated with the memory sub-system prior to performing thermal throttling operations for the memory sub-system. For example, in some embodiments, if the temperature of the memory sub-system (or of components of the memory sub-system) reach or exceed a threshold operating temperature, various data reliability parameters associated with the memory sub-system or components of the memory sub-system can be analyzed to determine if a thermal throttling operation should be performed.

One such data reliability parameter is a raw bit error rate (RBER) associated with the memory sub-system or components of the memory sub-system. For example, because the RBER can be indicative of performance and/or a health of the memory sub-system, if the RBER of the memory sub-system or components of the memory sub-system is determined to be within an acceptable range, it can be possible to delay or avoid performance of thermal throttling operations for the memory sub-system or components of the memory sub-system. By delaying or avoiding performance of thermal throttling operations based on data reliability parameters, memory sub-system performance can be improved in comparison to approaches in which thermal throttling operations are invoked solely based on the temperature of the memory sub-system and/or the components of the memory sub-system.

The memory devices130,140can include any combination of the different types of non-volatile memory devices and/or volatile memory devices. The volatile memory devices (e.g., memory device140) can be, but are not limited to, random access memory (RAM), such as dynamic random-access memory (DRAM) and synchronous dynamic random access memory (SDRAM).

The memory sub-system110can include a thermal throttling component113. Although not shown inFIG.1so as to not obfuscate the drawings, the thermal throttling component113can include various circuitry to facilitate monitoring temperature characteristics for a memory sub-system and/or components of the memory sub-system, determining whether to perform thermal throttling operations for the memory sub-system and/or components of the memory sub-system based on data reliability parameters of the memory sub-system and/or components of the memory sub-system, and/or controlling performance of thermal throttling operations for the memory sub-system and/or the components of the memory sub-system. In some embodiments, the thermal throttling component113can include special purpose circuitry in the form of an ASIC, FPGA, state machine, and/or other logic circuitry that can allow the thermal throttling component113to orchestrate and/or perform operations to selectively perform thermal throttling operations for the memory device130and/or the memory device140based on determined operating temperatures and data reliability parameters.

In some embodiments, the memory sub-system controller115includes at least a portion of the thermal throttling component113. For example, the memory sub-system controller115can include a processor117(processing device) configured to execute instructions stored in local memory119for performing the operations described herein. In some embodiments, the thermal throttling component113is part of the host system110, an application, or an operating system.

In a non-limiting example, an apparatus (e.g., the computing system100) can include a memory sub-system thermal throttling component113. The memory sub-system thermal throttling component113can be resident on the memory sub-system110. As used herein, the term “resident on” refers to something that is physically located on a particular component. For example, the memory sub-system thermal throttling component113being “resident on” the memory sub-system110refers to a condition in which the hardware circuitry that comprises the memory sub-system thermal throttling component113is physically located on the memory sub-system110. The term “resident on” may be used interchangeably with other terms such as “deployed on” or “located on,” herein

The memory sub-system thermal throttling component113can be configured to monitor temperature characteristics for memory components of the memory sub-system and determine that a temperature characteristic corresponding to at least one of the memory components has reached a threshold temperature. As described above, the memory components can be memory dice or memory packages that form at least a portion of the memory device130.

The memory sub-system thermal throttling component113that can be further configured to determine a raw bit error rate (RBER) for the at least one of the memory components that has reached the threshold temperature and determine whether the RBER is below a threshold RBER value for the at least one of the memory components that has reached the threshold temperature. In some embodiments, the memory sub-system thermal throttling component113can determine the threshold RBER value by retrieving threshold RBER values corresponding to the at least one of the memory components that has reached the threshold temperature from a read-only memory location, such as the local memory119, associated with the memory sub-system110and/or comparing the retrieved RBER values to the determined RBER for the at least one of the memory components that has reached the threshold temperature.

In some embodiments, the retrieved threshold RBER values are determined, at least in part, on a relationship between an operating temperature and a cycling endurance parameter for the at least one of the memory components that has reached the threshold temperature. As used herein, a “cycling endurance parameter” generally refers to a quantity of program/erase cycles at which a memory component is subject to for a given period of time. In general, as the cycling endurance parameter increases, the acceptable operating temperature range and RBER also increase.

In some embodiments, the memory sub-system thermal throttling component113that can be further configured to cause, based on determining that the RBER for the at least one of the memory components that has reached the threshold temperature is below the threshold RBER value, a thermal throttling operation may not be performed. The memory sub-system thermal throttling component113can, in some embodiments, be configured to cause the threshold temperature to be altered such that the threshold temperature is increased. By refraining to perform the thermal throttling operation based on the data reliability parameters, the memory sub-system can continue to operate in the absence of performance limitations that can be present during a thermal throttling operation.

The memory sub-system thermal throttling component113can be configured to cause performance of a thermal throttling operation for the memory sub-system in response to determining that the RBER for the at least one of the memory components that has reached the threshold temperature is above the threshold RBER value. By performing a thermal throttling operation in response to a determination that the RBER for the memory component has reached or exceeded the threshold RBER value, the memory sub-system can be protected from adverse effect that can be introduced as a result of excessive temperature.

In another non-limiting example, a system (e.g., the computing system100) can include a memory sub-system110comprising memory components arranged to form a stackable cross-gridded array of memory cells. A processing device (e.g., the processor117and/or the local media controller135) can be coupled to the memory components and can perform operations comprising monitoring temperature characteristics for the memory components and determining that a temperature characteristic corresponding to at least one of the memory components has reached a threshold temperature. The processing device can be further configured to perform operations comprising determining a raw bit error rate (RBER) for the at least one of the memory components that has reached the threshold temperature, determining whether the determined RBER is below a threshold RBER value for the at least one of the memory components that has reached the threshold temperature, and, based on determining that the RBER for the at least one of the memory components that has reached the threshold temperature is below the threshold RBER value, refraining from performing a thermal throttling operation.

This can allow for thermal throttling operations for the memory sub-system110to be delayed or avoided, thereby maintaining high performance of the memory sub-system110so long as the memory sub-system110is not exposed to risks associated with experiencing temperatures that are outside an operating range of the memory sub-system110. However, in some embodiments, the processing device can be configured to perform operations comprising causing performance of a thermal throttling operation for the memory sub-system110in response to determining that the RBER for the at least one of the memory components that has reached the threshold temperature is above the threshold RBER value.

In some embodiments, the processing device can be configured to perform operations comprising determining the threshold RBER value by retrieving threshold RBER values corresponding to the at least one of the memory components that has reached the threshold temperature from a read-only memory location (e.g., the local memory119) associated with the memory sub-system110. The retrieved threshold RBER values can be determined, at least in part, on a relationship between an operating temperature and a cycling endurance parameter for the at least one of the memory components that has reached the threshold temperature.

FIG.2is a flow diagram231corresponding to memory sub-system temperature control in accordance with some embodiments of the present disclosure. At block232, temperatures of memory sub-system components can be monitored to determine if the operating temperature of the memory sub-system is within an acceptable operating range. In some embodiments, the temperatures can be monitored by a memory sub-system thermal throttling component, such as the thermal throttling component113illustrated inFIG.1.

At block233, a determination can be made as whether the memory sub-system component has reached or exceeded a threshold thermal throttling temperature. The threshold thermal throttling temperate can be a temperature at which a memory sub-system can initiate a thermal throttling operate to cause the temperature of the memory sub-system or its constituent components to be reduced. If the memory sub-system component has not reached or exceeded the threshold thermal throttling temperature, the flow231can return to block232and the temperature of the memory sub-system component can continue to be monitored.

If, however, it is determined that the memory sub-system component has reached or exceed the threshold thermal throttling temperature, at block234, a data reliability parameter for the memory sub-system component that has reached or exceed the threshold thermal throttling temperature can be checked. In some embodiments, the data reliability parameter can be a raw bit error rate (RBER) or some other indication of the quality of data writes and/or retention by the memory sub-system and/or constituent memory components thereof.

At block235, a determination can be made as to whether the current data reliability parameter is higher than a threshold data reliability parameter. As shown inFIG.2, the current data reliability parameter can be based on component-level media quality data (shown at block236) and/or a threshold data reliability parameter at the current media condition (shown at block237). In some embodiments, the component-level media quality data can include information corresponding to RBER characteristics for the memory sub-system component as a function of memory cycle frequency and temperature, while the current media condition can include information corresponding to the current (e.g., measured or determined) RBER for the memory sub-system component. In some embodiments, the component-level media quality data can be stored in a read-only memory location (e.g., a fuse ROM) associated with the memory sub-system. As described above, the current media condition can be compared to the component-level media quality data to determine if the data reliability parameter determined at block234is higher or lower than the threshold data reliability parameter.

If the current data reliability parameter is not higher than the threshold data reliability parameter, the flow231can return to block232and the temperature of the memory sub-system component can continue to be monitored. However, if the current data reliability parameter is higher than the threshold data reliability parameter, at block238a thermal throttling operation can be performed for the memory sub-system.

FIG.3is flow diagram corresponding to a method340for memory dice arrangement in accordance with some embodiments of the present disclosure. The method340can be performed by processing logic that can include hardware (e.g., processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, integrated circuit, etc.), software (e.g., instructions run or executed on a processing device), or a combination thereof. In some embodiments, the method340is performed by the thermal throttling component113ofFIG.1. Although shown in a particular sequence or order, unless otherwise specified, the order of the processes can be modified. Thus, the illustrated embodiments should be understood only as examples, and the illustrated processes can be performed in a different order, and some processes can be performed in parallel. Additionally, one or more processes can be omitted in various embodiments. Thus, not all processes are required in every embodiment. Other process flows are possible.

At block341, the method340can include monitoring temperature characteristics for memory components of a memory sub-system. In some embodiments, the memory sub-system can be analogous to the memory sub-system110illustrated inFIG.1. As described above, the memory components can be memory dice or memory packages that are coupled to one another to create an array of memory cells, such as a three-dimensional stackable cross-gridded array of memory cells used by the memory sub-system to store data.

At block343, the method340can include determining that a temperature characteristic corresponding to at least one of the memory components has reached a threshold temperature. In some approaches, this determination could lead to performance of a thermal throttling operation. In contrast, embodiments herein allow for the thermal throttling operation to be delayed or avoided if, for example, a data reliability parameter associated with the memory component(s) is below a threshold data reliability value, as described below.

At block345, the method340can include determining a data reliability parameter for the memory components that have reached the threshold temperature. As described above, in some embodiments, the data reliability parameter can be a raw bit error rate (RBER) associated with the memory components that have reached the threshold temperature. Embodiments are not so limited, however, and in some embodiments the data reliability parameter can be a predetermined relationship between an operating temperature and a cycling endurance parameter for the memory components that have reached the threshold temperature.

At block347, the method340can include determining whether the determined data reliability parameter is below a threshold data reliability parameter value for the memory components that have reached the threshold temperature. In some embodiments, the method340can include determining whether the determined data reliability parameter is below the threshold data reliability parameter value by comparing the determined data reliability parameter to a stored data reliability parameter for the memory components that have reached the threshold temperature.

At block349, the method340can include refraining from performing a thermal throttling operation based on determining that the data reliability parameter for the memory components that have reached the threshold temperature is below the threshold data reliability parameter value. By relaxing the conditions under which a thermal throttling operation is performed, memory sub-system performance can be improved in comparison to approaches in which thermal throttling is performed without regard to data reliability parameters. In some embodiments, the method340can include increasing the threshold temperature.

In some embodiments, the method340can include performing a thermal throttling operation for the memory sub-system in response to determining that the data reliability parameter for the memory components that have reached the threshold temperature is above the threshold data reliability parameter value.

The data storage system418can include a machine-readable storage medium424(also known as a computer-readable medium) on which is stored one or more sets of instructions426or software embodying any one or more of the methodologies or functions described herein. The instructions426can also reside, completely or at least partially, within the main memory404and/or within the processing device402during execution thereof by the computer system400, the main memory404and the processing device402also constituting machine-readable storage media. The machine-readable storage medium424, data storage system418, and/or main memory404can correspond to the memory sub-system110ofFIG.1.