Method for controlling the temperature of a chip and related chip - Patents.com

JP2025506868AActive Publication Date: 2025-03-13YANGTZE MEMORY TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024550735
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-02-17
Publication Date
2025-03-13
Estimated Expiration
2043-02-17

Smart Images

  • Figure 2025506868000001_ABST
    Figure 2025506868000001_ABST
Patent Text Reader

Abstract

A method for controlling a memory system is disclosed that can include, for example, performing operations on memory devices of the memory system, calculating a remaining payload based on a current total payload and a payload associated with the performed operations on the memory devices, and, when the remaining payload meets a predefined requirement, measuring a current temperature of the memory devices and setting a current total payload associated with the current temperature of the memory devices.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This application describes embodiments generally relating to semiconductor memory devices. [Background technology]

[0002] As the critical dimensions of devices in integrated circuits shrink to the limits of common memory cell technology, designers look to techniques for stacking multiple planes of memory cells to achieve greater storage density and lower cost per bit. Three-dimensional (3D) NAND memory devices are exemplary devices that stack multiple planes of memory cells to achieve greater storage density and lower cost per bit. 3D NAND memory devices can include alternating stacks of insulating layers and word line layers over a substrate and trenches. Summary of the Invention [Means for solving the problem]

[0003] Aspects of the present disclosure provide a method for controlling a current total payload of a memory device based on a current temperature of the memory device, for example, the method includes performing an operation on the memory device, calculating a remaining payload based on the current total payload and a payload associated with the performed operation on the memory device, and when the remaining payload meets a predefined requirement, measuring a current temperature of the memory device and setting a current total payload associated with the current temperature of the memory device.

[0004] In one embodiment, when the remaining payload meets the predefined requirement, the method may further include starting a count of the predefined time, and when the remaining payload meets the predefined requirement, the method may execute measuring a current temperature of the memory device, setting a current total payload associated with the current temperature of the memory device, and starting a count of the predefined time when the predefined time has elapsed or stopping transfer of data to and / or from the memory device until the predefined time has elapsed, measuring a current temperature of the memory device, setting a current total payload associated with the current temperature of the memory device, and starting a count of the predefined time when the predefined time has elapsed.

[0005] In another embodiment, the method may further include performing another operation on the memory device when the remaining payload does not meet the predefined requirement, when the predefined time has not elapsed, or measuring a current temperature of the memory device, setting a current total payload associated with the current temperature of the memory device, and starting counting the predefined time when the predefined time has elapsed.

[0006] In one embodiment, the remaining payload may be calculated by subtracting the payload associated with the operations performed on the memory device from the current total payload. In another embodiment, the current total payload associated with the current temperature for the memory device may be set based on a relationship between the temperature range corresponding to the memory device and the current total payload. In some embodiments, the predefined requirement may require the remaining payload to be less than zero.

[0007] Aspects of the present disclosure also provide a non-transitory computer-readable storage medium having instructions stored thereon that, when executed by a processor, cause the processor to perform a method for controlling a memory device. For example, the method may include performing an operation on the memory device, calculating a remaining payload based on a current total payload and a payload associated with the operation performed on the memory device, measuring a current temperature of the memory device when the remaining payload meets a predefined requirement, and setting a current total payload associated with the current temperature for the memory device.

[0008] Aspects of the present disclosure further provide a memory system. For example, the memory system may include a memory device configured to store data, a temperature sensor configured to measure a current temperature of the memory device, and a memory controller coupled to the memory device and the temperature sensor. In one embodiment, the memory controller may be configured to set a current total payload associated with a current temperature of the memory device, perform an operation on the memory device, and calculate a remaining payload based on the current total payload and the payload associated with the operation performed on the memory device, and when the remaining payload meets a predefined requirement, the memory controller sets the current total payload associated with the current temperature of the memory device.

[0009] In one embodiment, the memory system may further include a timer coupled to the memory controller, the timer configured to count a predefined time, the memory controller further configured to control the timer to start counting the predefined time upon setting a current total payload associated with a current temperature of the memory device, and when the remaining payload meets a predefined requirement, the memory controller sets a current total payload associated with a current temperature of the memory device when the predefined time has elapsed or stops transferring data to and / or from the memory device until the predefined time has elapsed, sets a current total payload associated with a current temperature of the memory device, and controls the timer to start counting the predefined time.

[0010] In another embodiment, the memory controller performs another operation on the memory device when the remaining payload does not meet the predefined requirement, calculates the remaining payload based on a current total payload and another payload associated with another operation performed on the memory device when the predefined time has not elapsed, or sets a current total payload associated with a current temperature of the memory device when the predefined time has elapsed, and controls a timer to start counting the predefined time.

[0011] In some embodiments, the memory controller sets a current total payload associated with the current temperature of the memory device based on a relationship between the temperature range and the current total payload. In one embodiment, the predefined requirement may require that the remaining payload is less than zero. In another embodiment, the memory device may include single-level cell (SLC) or multi-level cell (MLC) cells that are programmable to assume multiple nominal storage values. In some embodiments, the operation may be a single-level cell (SLC) read operation, an SLC write operation, an SLC erase operation, a triple-level cell (TLC) read operation, a TLC write operation, or a TLC erase operation.

[0012] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying drawings, in which: It should be noted that, according to standard practice in the industry, various features have not been drawn to scale, i.e., dimensions of various features may be arbitrarily increased or decreased for clarity of illustration. [Brief description of the drawings]

[0013] [Figure 1] FIG. 1 is a functional block diagram of an example of a system according to some embodiments of the present disclosure. [Figure 2A] 1 is a schematic diagram of a memory card integrated with a memory controller and a memory device of a memory system according to some embodiments of the present disclosure. [Figure 2B] 1 is a schematic diagram of a memory controller of a memory system and a solid-state drive (SSD) integrated with multiple memory devices in accordance with some embodiments of the present disclosure. [Diagram 3] FIG. 2 is a schematic circuit diagram of an example of a memory device including peripheral circuits, in accordance with some embodiments of the present disclosure. [Figure 4] 1 is a flowchart of an example of a method for controlling a current total payload of a memory device based on a current temperature of a memory system, according to some embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] The following disclosure provides a number of different embodiments or examples for implementing different features in each of the provided subject matter. In the following, specific examples of components and configurations are described to simplify the disclosure. These are, of course, merely examples and are not intended to be limiting. For example, forming a first feature over or on a second feature in the following description may include embodiments in which the first feature and the second feature are formed so that they are in direct contact, and may also include embodiments in which an additional feature is formed between the first feature and the second feature such that the first feature and the second feature do not have to be in direct contact. In addition, the present disclosure may repeat reference numbers and / or letters in various examples. This repetition is for the purpose of simplifying and clarifying the description, and does not in itself indicate a relationship between the various embodiments and / or configurations described.

[0015] Additionally, spatially relative terms such as "below," "downward," "lower," "above," "upper," and the like may be used herein for ease of description in describing the relationship of one element or feature, as illustrated, to another element or feature. The spatially relative terms are intended to encompass different orientations of the device during use or operation in addition to the orientation illustrated. The device may be otherwise oriented (e.g., rotated 90 degrees or at other orientations) and the spatially relative descriptions used herein may be interpreted accordingly.

[0016] FIG. 1 is a functional block diagram of an example of a system 10 according to some embodiments of the present disclosure. In one embodiment, the system 10 can include a memory system 100 and a host device 190. The system 10 can be included in an electronic device, such as a mobile phone, a virtual reality (VR), a gaming console, a wearable electronic device, a computer such as a desktop computer, a laptop computer, a tablet, and a vehicle computer, or any other electronic device. In one embodiment, the host device 190 can be a processor of the electronic device in which the system 10 is included, such as a central processing unit (CPU), or a system on a chip (SoC), such as an application processor (AP). The host device 190 can be configured to comply with a corresponding protocol (NVMe, PCIe, etc.). The host device 190 can be further configured to send data to and receive data from the memory system 100, and the host device 190 can send instructions to the memory system 100 in addition to data.

[0017] See Figure 1. According to some implementations, memory controller 140 is coupled to memory device 110 and host device 190 and is configured to control memory device 110. Memory controller 140 includes a microprocessor, a microcontroller (i.e., microcontroller unit (MCU) 141 including one or more processing cores 142), a central processing unit (CPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a program logic device (PLD), a state machine, gate logic, discrete hardware circuits or combinations thereof, and other suitable hardware, firmware, and / or software configured to perform various functions described in detail below.

[0018] The memory controller 140 can manage data stored in the memory device 110 and communicate with the host device 190. In some embodiments, the memory controller 140 is designed for operation in low duty cycle environments such as Secure Digital (SD) cards, Compact Flash (CF) cards, Universal Serial Bus (USB) flash drives, or other media used in electronic devices such as personal computers, digital cameras, mobile phones, etc. In some implementations, the memory controller 140 is designed to operate in high duty cycle environments SSD or embedded multimedia cards (eMMC) used as data storage and enterprise storage arrays for mobile devices such as smartphones, tablets, laptop computers, etc. The memory controller 140 can be configured to control operations of the memory device 110, such as read, erase, and program operations.

[0019] The memory controller 140 can communicate with an external device (e.g., the host device 190) according to a particular communication protocol. For example, the memory controller 140 may communicate with the external device through at least one of a variety of interface protocols, such as a Universal Serial Bus (USB) protocol, a Multimedia Card (MMC) protocol, a Peripheral Component Interconnection (PCI) protocol, a PCI Express (PCI-E) protocol, an Advanced Technology Attachment (ATA) protocol, a Serial ATA protocol, a Parallel ATA protocol, a Small Computer System Interface (SCSI) protocol, an Enhanced Small Disk Interface (ESDI) protocol, an Integrated Drive Electronics (IDE) protocol, a Firewire protocol, and the like.

[0020] In some embodiments, memory controller 140 can receive write commands (also referred to as program commands), read commands, erase commands, etc. from host device 190 and perform corresponding operations on memory device 110 accordingly. For example, memory controller 140 can receive a write command having an address (ADDR) and data (DATA) from host device 190 and then perform a write operation by storing the data at this address in memory device 110. As another example, memory controller 140 can receive a read command having an address from host device 190 and then perform a read operation by accessing memory device 110 and outputting the data stored at the address in memory device 110. As yet another example, memory controller 140 can receive an erase command having an address from host device 190 and then perform an erase operation by resetting one or more blocks of memory cells at this address to an unprogrammed state (also referred to as an erased state).

[0021] Memory controller 140 may also be configured to manage various functions on data stored or to be stored in memory device 110, including, but not limited to, bad block management, garbage collection, logical-to-physical address translation, wear leveling, etc. In some implementations, memory controller 140 is further configured to process error correction codes (ECC) on data read from or written to memory device 110. Any other suitable functions may also be performed by memory controller 140, such as formatting of memory device 110.

[0022] In some embodiments, the memory device 110 and the memory controller 140 may be integrated into various types of storage packages, such as a Universal Flash Storage (UFS) or an Embedded Multimedia Card (eMMC), and may be included in various types of electronic devices. For example, as shown in FIG. 2A, the memory controller 140 and one of the memory devices 110 may be integrated into a memory card 200A. The memory card 200A may include a PC card (e.g., Personal Computer Memory Card International Association (PCMCIA)), a Compact Flash (CF) card, a Smart Media (SM) card, a memory stick, a Secure Digital (SD) card (e.g., SD, mini SD, micro SD, and SD High Capacity (SDHC)), a Universal Flash Storage (UFC), and the like. The memory card 200A may further include a memory card connector 210A used to couple the memory card 200A to a host device, the host device 190 shown in FIG. 1. 2B, the memory controller 140 and two or more of the memory devices 110, e.g., six memory devices 110, may be included in a solid-state drive (SSD) 200B. The SSD 200B may also include an SSD connector 210B that is used to couple the SSD 200B to a host device, e.g., the host device 190 shown in FIG.

[0023] In some embodiments, the memory system 100 may include a memory controller 140 and a memory device 110. The memory device 110 may be any type of memory device disclosed in this disclosure, such as a NAND memory device. In one embodiment, the memory cell array 160 may include a peripheral circuit 120 coupled to the memory cell array 160. In some embodiments, the memory cell array 160 and the peripheral circuit 120 may be disposed on the same die (chip). In other embodiments, the memory cell array 160 may be disposed on an array die, while the peripheral circuit 120 may be disposed on a different die, such as a die implemented using complementary metal oxide semiconductor (CMOS) technology and referred to as a CMOS die. The array die and the CMOS die are appropriately bonded and electrically coupled to each other. In some embodiments, the CMOS die may be coupled to multiple array dies. In some embodiments, the array die may be coupled to multiple CMOS dies. In one embodiment, the memory device 110 may be an integrated circuit (IC) package encapsulating one or more array dies and one or more CMOS dies.

[0024] In general, memory device 110 may include one or more memory cell arrays 160, each of which may include multiple memory planes. Each of the multiple memory planes may include multiple memory blocks, e.g., memory blocks blk-1 through blk-n. In some embodiments, concurrent operations may be performed on different memory planes. In one embodiment, each of memory blocks blk-1 through blk-n is the smallest unit for performing an erase operation. Each of memory blocks blk-1 through blk-n may include several pages. In some embodiments, a page is the smallest unit that may be programmed (i.e., written) or read.

[0025] FIG. 3 is a schematic circuit diagram of an example of a memory device 300, e.g., memory device 110 of FIG. 1, according to some embodiments of the present disclosure. The memory device 300 can include a memory cell array 310, e.g., memory cell array 160 in FIG. 1, and a peripheral circuit 330, e.g., peripheral circuit 120 in FIG. 1. The memory cell array 310 can include one or more memory planes, each of which can include a plurality of memory blocks 315, e.g., memory blocks blk-1 to blk-n in FIG. 1. The memory cell array 310 can be a NAND memory cell array in which memory cells 311 are arranged in an array of NAND memory strings 312, each of which extends vertically above a substrate (not shown). In some embodiments, each of the NAND memory strings 312 can include a plurality of memory cells 311 coupled in series and stacked vertically on top of each other above a substrate. Each of the memory cells 311 can hold a continuous analog value, such as a voltage or charge, that depends on the number of electrons captured within an area of ​​the memory cell 311. Each of the memory cells 311 can be either a floating gate type memory cell including a floating gate transistor or a charge trapping type memory cell including a charge trapping transistor.

[0026] In some embodiments, each of the memory cells 311 can be a single level cell (SLC) that has two possible memory states and can therefore store one bit of data. For example, a first memory state "0" can correspond to a first range of voltages, and a second memory state "1" can correspond to a second range of voltages. In some embodiments, each of the memory cells 311 can be a multi-level cell (MLC) that can store at least two bits of data in more than four memory states. For example, an MLC can store two bits per cell (also called a double level cell (DLC)), three bits per cell (also called a triple level cell (TLC)), or four bits per cell (also called a quad level cell (QLC)). Each MLC can be programmed to assume a range of possible nominal storage values. For example, a DLC can be programmed to assume one of three possible programming levels from an erased state by writing one of three possible nominal storage values ​​to the memory cell. A fourth nominal storage value may be used for the erased state. In one embodiment, the MLC may be programmed to assume only one programming level from the erased state by writing possible nominal storage values ​​(e.g., a first nominal storage value) to the memory cells, and a second nominal storage value may be used for the erased state. For example, a TLC may store three bits, but may be programmed to assume only one programming level from the erased state by writing possible nominal storage values ​​(e.g., a first nominal storage value) to the memory cells, and a second nominal storage value may be used for the erased state.

[0027] Each of the NAND memory strings 312 may include a source select gate (SSG) 313 at the source side of the NAND memory string and a drain select gate (DSG) 314 at the drain side of the NAND memory string 312. The SSG 313 and the DSG 314 may be configured to activate a selected NAND memory string 312 (i.e., a column of the memory cell array 310) during read and program operations. In some embodiments, the sources of the NAND memory strings 312 in the same block 315 may be coupled through the same source line (SL) 316, e.g., a common SL. In other words, according to some embodiments, all of the NAND memory strings 312 in the same block 315 have an array common source (ACS). In some embodiments, the DSG 314 of each of the NAND memory strings 312 may be coupled to a respective bit line 321 from which data may be read or written to the NAND memory string 312 via an output bus (not shown). In some embodiments, each of the NAND memory strings 312 may be configured to be selected or deselected by applying a select voltage (e.g., a voltage greater than the threshold voltage of a transistor comprising the DSG 314) or a deselect voltage (e.g., 0V) to the respective DSG 314 via one or more DSG lines 317, and / or applying a select voltage (e.g., a voltage greater than the threshold voltage of a transistor comprising the SSG 313) or a deselect voltage (e.g., 0V) to the respective SSG 313 via one or more SSG lines 318.

[0028] The NAND memory strings 312 can be configured into multiple blocks 315, and each block can have a common source line (SL) 316, for example, coupled to an ACS. In some embodiments, each of the blocks 315 is the basic data unit for an erase operation, i.e., all of the memory cells 311 on the same block 315 are erased at the same time. To erase the memory cells 311 in a selected block 315, the source lines (SL) 316 coupled to the selected block 315 as well as the unselected blocks 315 that are in the same plane as the selected block 315 can be biased with an erase voltage, such as a high positive voltage (e.g., 20V or more). It should be understood that in some embodiments, the erase operation is performed at a 1 / 2 block level, a 1 / 4 block level, or a level having any suitable number of blocks or blocks corresponding to any suitable percentage of a block. The memory cells 311 of adjacent NAND memory strings 312 can be coupled through word lines 319 that select which rows of memory cells 311 are affected by the read and program operations. In some embodiments, each of the word lines 319 may be coupled to a page 320 of memory cells 311, with a page being the basic data unit for program operations. The size of one page 320 in bits may be related to the number of NAND memory strings 312 coupled by the word lines 319 in one block 315. For ease of explanation, the memory cells 311 in one page 320 may be coupled to the same word line 319, and the terms "page" and "word line" may be used interchangeably in this disclosure. However, in some embodiments, the memory cells 311 in one page 320 may be coupled to more than one word line 319. Each of the word lines 319 may include multiple control gates (or gate electrodes) (not shown) at each of the memory cells 311 in the respective page 320, and gate lines (not shown) coupling the control gates.

[0029] Referring again to FIG. 1, in some embodiments, the memory device 110 may include peripheral circuits 120 that may be coupled to the memory cell array 160 through bit lines 321, word lines 319, source lines 316, SSG lines 318, and DSG lines 317. The peripheral circuits 120 may include any suitable analog, digital, and mixed-signal circuitry for facilitating operation of the memory cell array 160 by applying and sensing voltage and / or current signals to and from each target (selected) memory cell 311 through the bit lines 321, word lines 319, source lines 316, SSG lines 318, and DSG lines 317. The peripheral circuits 120 may include various types of peripheral circuits formed using metal-oxide-semiconductor (MOS) technology. For example, as shown in FIG. 1, the peripheral circuits 120 may include input / output circuits 121, control logic 122, a page buffer / sense amplifier 125, an address decoder / BL-WL driver 124, and a voltage generator 123. Control logic 122 may be coupled to and configured to control the operation of each peripheral circuit described above. In some examples, additional peripheral circuits not shown in FIG. 1 may also be included.

[0030] In some embodiments, the address decoder / BL-WL driver 124 may be coupled to the memory cell array 160. The address decoder / BL-WL driver 124 may include a column decoder and a row decoder. The column decoder may be connected to the memory cell array 160 via bit lines 321 and may select bit lines based on a column address. The column decoder may be controlled by the control logic 122 and configured to select one or more NAND memory strings 312 by applying a bit line voltage generated from the voltage generator 123. The row decoder may be connected to the memory cell array 160 via word lines and may select a word line based on a row address. The row decoder may be controlled according to a control signal by the control logic 122 and configured to select / deselect a memory block 315 of the memory cell array 130 and select / deselect a word line 319 of the memory block 315. The row decoder may be further configured to drive the word line 319 using a word line voltage generated from the voltage generator 123. In some implementations, the row decoder can also select / deselect and drive the SSG and DSG lines 318 and 317 using the SSG and DSG voltages generated from the voltage generator 123. In some embodiments, during a write operation, the address decoder / BL-WL driver 124 can provide word line (WL) signals and select signals to the memory cell array 160 to select a page to be programmed. During a read operation, the address decoder / BL-WL driver 124 can provide WL signals and select signals to select a page to be buffered. During an erase operation, the address decoder / BL-WL driver 124 can provide WL signals and select signals to select a block to be erased.

[0031] The page buffer / sense amplifier 125 is coupled to the memory cell array 160 via the bit lines 321 and may be configured to read data from and program (write) data to the memory cell array 160 according to control signals from the control logic 122. The page buffer / sense amplifier 125 may be configured to buffer data, such as one or more pages of data, during read and write operations. In one embodiment, during a write operation (program operation), the page buffer / sense amplifier 125 may buffer the data to be programmed and drive the data to the bit lines 321 of the memory cell array 160 to write the data to the memory cell array 160. During a write operation, the page buffer / sense amplifier 125 may sense a signal (e.g., a current) from the bit lines 321 to verify whether the data has been properly programmed into the target memory cell 311 coupled to select the word line 319. In another embodiment, during a read operation, the page buffer / sense amplifier 125 may sense a low output signal (e.g., a current) from the bit lines 321 representing the data bits stored in the memory cells 311 and amplify the small voltage swing to a recognizable logic level.

[0032] 1 , in one embodiment, the input / output circuitry 121 is coupled to the control logic 122 and acts as a control buffer to buffer and relay control commands (e.g., program commands) received from the memory controller 140 to the control logic 122 and to buffer and relay status information received from the control logic 122 to the memory controller 140. In another embodiment, the input / output circuitry 121 may also be coupled to the address decoder / BL-WL driver 124 and can act as a data input / output interface and data buffer to buffer data and relay data to and from the memory cell array 160.

[0033] In some embodiments, memory system 100 may include a memory device 110 with an input / output circuit. The input / output circuit may be coupled to an external device, e.g., a host device. The external device implements the functionality of the memory controller described above. The external device may send commands to the memory device via the input / output circuit. The external device may send data to and receive data from the memory device via the input / output circuit. The external device may receive signals from the memory device generated by the memory device in response to commands sent by the external device.

[0034] The voltage generator 123 may be configured to be controlled by the control logic 122 and configured to generate voltages at appropriate levels for proper operation of the memory device 110. For example, during a read operation, the voltage generator 123 may generate voltages at appropriate levels for the source voltages, various word line (WL) voltages, select voltages, etc. appropriate for the read operation. In some embodiments, during a read operation, the source voltages may be provided as an array common source (ACS) voltage to the source line 316. The WL voltages, select voltages may be provided to the address decoder / BL-WL driver 124 so that the address decoder / BL-WL driver 124 can output the WL and select signals (e.g., the TSG and BSG signals) at appropriate voltage levels during a read operation.

[0035] In another embodiment, during an erase operation, the voltage generator 123 can generate voltages at appropriate levels for the source voltage, WL voltage, select voltage, BL voltage, etc. appropriate for the erase operation. In some embodiments, during an erase operation, the source voltage can be provided to the source line 316 as an ACS voltage. The WL voltage and the select voltage can be provided to the address decoder / BL-WL driver 124 so that the address decoder / BL-WL driver 124 can output the WL signal and the BSG and TSG signals at the appropriate voltage levels during the erase operation. The BL voltage can be provided to the page buffer / sense amplifier 125 so that the page buffer / sense amplifier 125 can drive the bit lines (BL) with the proper voltages during the erase operation. In some embodiments, the BL voltage can be applied directly to the bit lines without passing through the page buffer / sense amplifier 125.

[0036] As operations, such as read, write, erase, etc., are performed on memory device 110 one by one or in parallel, power is consumed and the temperature of memory device 110 continues to rise accordingly. If the temperature exceeds a threshold, it may affect the operation of memory system 100 or even cause damage to memory system 100. To address this issue, the frequency of operations performed on memory device 110 may be reduced whenever the temperature of memory device 110 exceeds a threshold. However, the reduced frequency may cause temperature jitter in memory device 110.

[0037] According to the present disclosure, multiple temperature ranges may be defined, and each temperature range may correspond to a current total payload. A current temperature of memory device 110 may be measured, and one of the current total payloads may be selected that corresponds to one of the temperature ranges in which the current temperature falls. In some embodiments, the payload of one or more operations performed on memory device 110 is not allowed to exceed the current total payload.

[0038] 4 is a flow chart of a method 400 for controlling a current total payload of a memory device based on a current temperature of the memory device, according to some embodiments of the present disclosure. The process steps shown in the method 400 are not exhaustive, and other process steps may be performed before, after, or between any of the illustrated process steps. In some embodiments, some process steps of the exemplary method 400 may be omitted or other process steps may be included, which will not be described here for ease of explanation. In some embodiments, the process steps of the method 400 may be performed in a different order and / or may be modified. In one embodiment, the method 400 may be implemented in the memory system 100 shown in FIG. 1.

[0039] The method 400 begins at step S410, where a current temperature Ta of the memory device may be measured. For example, the memory system 100 further includes a temperature sensor 180 coupled to the memory controller 140. The memory controller 140 may obtain the current temperature of the memory device 110 from the temperature sensor 180 or control the temperature sensor 180 to measure and obtain the current temperature of the memory device 110. In one embodiment, the temperature sensor 180 may be included in the memory device 110 to sense or measure the current temperature of the memory device 110. In other embodiments, the temperature sensor 180 may be included in the memory controller 140 to sense or measure the current temperature of the memory device 110. In another embodiment, the temperature sensor 180 may be included in the memory system 100 to sense or measure the current temperature of the memory device 110.

[0040] Also, in step S410, the current total payload of the memory device may be set by determining the current temperature Ta. For example, the memory controller 140 may set the current total payload of the memory device, where the current total payload is associated with the current temperature based on Table 1, which lists the relationship between the following temperature ranges and the current total payload: Table 1 is associated with the characteristics of the memory device and may be obtained at least by experiment and simulation.

[0041] [Table 1]

[0042] For example, when the current temperature Ta is in a first temperature range, the lowest temperature range of the temperature range, e.g., less than 83°C, the current total payload may be set to A, which is the maximum total payload allowed to perform consuming operations without causing the temperature of the memory device to exceed the threshold. As another example, assume that some operations are being performed on the memory device and the current temperature Ta may fluctuate within a second temperature range (e.g., 83°C-93°C), indicating that the current temperature Ta is closer to the threshold, and a smaller current total payload, i.e., α1A, where α1 is 0<α1<1, e.g., 0.7, is set so that performing operations on the memory device does not cause the temperature of the memory device to exceed the threshold. Assume that more operations are being performed on the memory device and the current temperature may fluctuate within a third temperature range, e.g., 93°C-103°C, and an even smaller current total payload, i.e., α2A, where α2 is 0<α2<α1, e.g., 0.3, is set. When the current temperature of the memory device is very close to the threshold, e.g., within a fourth temperature range (e.g., above 103°C), a much smaller current total payload, i.e., α3A, where 0<α3<α2, e.g., 0.05, is set, resulting in a very limited number of further operations that can be performed on the memory device.

[0043] Also, in step S410, a timer may be set. For example, memory system 100 further includes timer 170 coupled to memory controller 140. In some embodiments, timer 170 may be included in memory controller 140 and coupled to MCU 141 of memory controller 140. In other embodiments, timer 170 may be included in memory system 100 and coupled to MCU 141 of memory controller 140. MCU 141 may control timer 170 to start counting a predefined time, for example, 500 μs. In some embodiments, MCU 141 may set timer 170 periodically. For example, when the predefined time has elapsed, MCU 141 sets timer 170 again.

[0044] In step S410, the current temperature, the current total payload, and the timer may be measured and set in an order different from that shown in FIG. 4. For example, first, the memory controller 140 may set the timer 170. Then, the memory controller 140 may obtain the current temperature of the memory device according to the measurement result of the temperature sensor 180. Then, the memory controller 140 sets the current total payload by determining the current temperature based on the relationship between the temperature range and the current total payload. The method 400 then proceeds to step S420.

[0045] In step S420, operations may be performed on the memory devices one by one or in parallel. For example, memory controller 140 may receive an operation command from host device 190 via host interface 130A and send the operation command to memory device 110 via array interface 130B to perform the operation on memory device 110. In one embodiment, the memory device may be any type of memory device disclosed in this disclosure, such as a NAND memory device. The operations of the NAND memory device may include read operations, write (or program) operations, erase operations, and other operations such as operations performed under get features commands and set features commands, and the read / write operations may include random and sequential read / write operations. In one embodiment, the NAND memory device may be an MLC NAND memory device, for example, a TLC NAND memory device, which may be programmed to function as a TLC and SLC NAND memory device. In some embodiments, these operations may correspond to different payloads listed in Table 2 as follows:

[0046] [Table 2A]

[0047] [Table 2B]

[0048] For example, an SLC random read operation includes several sub-operations, and the payload PL associated with the SLC random read operation SLCRRcan include a page read current on Vcc, an I / O burst read current on Vcc, and an I / O burst read current for Vccq. As another example, a TLC sequential write operation can also include several sub-operations, and a payload PL associated with the TLC sequential write operation can include a page read current on Vcc, an I / O burst read current on Vcc, and an I / O burst read current for Vccq. TLCSW may include a page program current on Vcc, an I / O burst write current on Vcc, and an I / O burst write current for Vccq. The payload of each of the operations may be associated with characteristics of the memory device and may be obtained at least by experiment and simulation.

[0049] In step S430, the remaining payload may be calculated by subtracting the payload associated with the operation performed on the memory device in step S420 from the current total payload to determine whether the remaining payload is less than zero. For example, the memory controller 140 may subtract the payload associated with the operation just performed on the memory device, e.g., SLC random read, TLC sequential write, and TLC erase, from the current total payload to obtain the remaining payload and determine whether the remaining payload is less than zero. If it is determined that the remaining payload is less than zero, the method 400 proceeds to step S440, or the method 400 proceeds to step S450.

[0050] In some embodiments, instead of determining whether the remaining payload is less than zero in step S430, it may be determined whether the remaining payload is less than another payload associated with another operation to be performed on the memory device. If it is determined that the remaining payload is less than another payload associated with another operation to be performed on the memory device, method 400 proceeds to step S440, or method 400 proceeds to step S450.

[0051] In the exemplary embodiment shown in FIG. 4, some operations, such as those performed under the get features command and the set features command, consume much less power compared to the above operations, and therefore the reduction in remaining payload due to the execution of these operations is very small, so step S430 may be skipped and thus the “other” block in step S420 is directly linked to step S440.

[0052] In step S440, it may be determined whether a predefined time has elapsed. Method 400 proceeds to step 440 indicating that the remaining payload is equal to or greater than zero and more operations may be permitted to be further performed on the memory device. If it is determined that the predefined time has not elapsed, method 400 returns to step S420 where more operations are further performed on the memory device. If it is determined that the predefined time has elapsed, method 400 returns to step S410 where a current temperature of the memory device is measured, a current total payload is set by determining a current temperature based on a relationship between a temperature range and the current total payload, and a timer is set to begin counting the predefined time regardless of whether the remaining payload is equal to or greater than zero or the remaining payload is equal to or greater than another payload associated with another operation to be performed on the memory device.

[0053] In step S450, input / output transfers of data may be stopped. The method 400 proceeds to step 450 which indicates that the remaining payload is less than zero and no more operations are permitted to be performed on the memory device, and therefore the memory controller 140 may stop transferring data to and from the memory device. The method then proceeds to step S460.

[0054] In step S460, it may be determined whether a predefined time has elapsed. If it is determined that the predefined time has not elapsed, the method 400 proceeds to step S450, where data I / O transfers are still stopped. If it is determined that the predefined time has elapsed, the method 400 returns to step 410, where a current temperature of the memory device is measured, a current total payload is set by determining the current temperature based on a relationship between the temperature range and the current total payload, and a timer is set to begin counting the predefined time.

[0055] According to the present disclosure, the current total payload of the memory device may be set by determining a current temperature of the memory device based on a relationship between a temperature range and the current total payload, the relationship including a plurality of pairs of the temperature range and the current total payload. The relationship between the temperature range and the current total payload may be determined based on characteristics of the memory device through at least experiments and simulations. Thus, the temperature of the memory device may be granularly controlled without abruptly increasing or decreasing, and temperature jitter may be reduced.

[0056] According to the present disclosure, a non-transitory computer readable storage medium is disclosed. In some embodiments, the non-transitory computer readable storage medium has instructions stored thereon that, when executed by a processor, e.g., memory controller 140, cause the processor to perform a method, e.g., method 400, which includes: (a) measuring a current temperature of a memory device, e.g., memory system 100, and determining a relationship between a temperature range corresponding to the memory device and a current total payload, e.g., as shown in Table 1; The method may include: (b) setting a current total payload associated with a current temperature of the memory device based on a relationship between the temperature ranges and the current total payload listed in Table 1 and starting a count of a predefined time; (b) performing operations, e.g., read, write, and erase operations, on the memory device; (c) calculating a remaining payload by subtracting a payload associated with the operations performed on the memory device from the current total payload; (d) when the remaining payload meets a predefined requirement, e.g., when the remaining payload is less than zero or the remaining payload is less than another payload associated with another operation performed on the memory device, (d1) returning to step (a) when the predefined time has elapsed or stopping transfer of data to and / or from the memory device until the predefined time has elapsed; and (e) when the remaining payload does not meet the predefined requirement, (e1) returning to step (b) when the predefined time has not elapsed or (e2) returning to step (a) when the predefined time has elapsed.

[0057] In accordance with this disclosure, the term "non-transient" as used herein is not a limitation on data storage permanence (e.g., RAM vs. ROM), but rather a limitation of the medium itself (i.e., tangible as opposed to signal).

[0058] According to the present disclosure, a memory system, e.g., memory system 100, is also disclosed. In some embodiments, the memory system may include a memory device, e.g., memory device 110, configured to store data; a temperature sensor, e.g., temperature sensor 180, configured to measure a current temperature of the memory device; and a memory controller, e.g., memory controller 140, coupled to the memory device and the temperature sensor. In one embodiment, the memory controller may be configured to (a) set a current total payload associated with a current temperature of the memory device; and (b) perform an operation on the memory device and calculate a remaining payload based on the current total payload and the payload associated with the operation performed on the memory device. In some embodiments, the memory controller may perform (a) when the remaining payload meets a predefined requirement, e.g., requiring the remaining payload to be less than zero.

[0059] In one embodiment, the memory system may further include a timer coupled to the memory controller. The timer may be configured to count a predefined time. In some embodiments, the memory controller may be further configured to control the timer to start counting the predefined time when performing (a), and when the remaining payload meets the predefined requirement, the memory controller may perform (a) when the predefined time has elapsed or stop transferring data to and / or from the memory device until the predefined time has elapsed and perform (a).

[0060] In one embodiment, the memory controller performs (b) when the remaining payload does not meet the predefined requirement, when the predefined time has not elapsed, or performs (a) when the predefined time has elapsed. In another embodiment, the memory controller can calculate the remaining payload by subtracting a payload associated with the operations performed on the memory device from the current total payload. In some embodiments, the memory controller can set a current total payload associated with the current temperature of the memory device based on a relationship between the temperature range and the current total payload. In various embodiments, the predefined requirement may require that the remaining payload is less than zero. In one embodiment, the memory device may include an array of single level cells (SLC) or multi-level cells (MLC) that are programmable to assume multiple nominal storage values. In another embodiment, the operation may be a single level cell (SLC) read operation, an SLC write operation, an SLC erase operation, a multi-level cell (MLC) read operation, e.g., a triple level cell (TLC) read operation, an MLC write operation, e.g., a TLC write operation, or an MLC erase operation, e.g., a TLC erase operation.

[0061] The above has outlined features of some embodiments so that those skilled in the art may better understand aspects of the present disclosure. Those skilled in the art should appreciate that they may readily use the present disclosure as a basis for designing or modifying other processes and structures to carry out the same purposes and / or achieve the same advantages as the embodiments introduced herein. Those skilled in the art should also recognize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that such equivalent constructions may be subject to various changes, substitutions, and alterations without departing from the spirit and scope of the present disclosure. [Explanation of symbols]

[0062] 10. System 110 Memory Devices 120 Peripheral Circuits 121 Input / Output Circuit 122 Control Logic 123 Voltage Generator 124 Address Decoder / BL-WL Driver 125 Page Buffer / Sense Amplifier 130A Host Interface 140 Memory Controller 141 Microcontroller Unit (MCU) 142 processing cores 160 Memory Cell Array 170 Timer 180 Current Temperature Sensor 190 Host Device 200A Memory Card 200B Solid State Drive (SSD) 210A Memory Card Connector 210B SSD Connector 300 Memory Devices 310 Memory Cell Array 311 Memory Cell 312 NAND memory strings 313 Source Select Gate (SSG) 314 Drain Select Gate (DSG) 315 Memory Blocks 316 Source Line (SL) 317 DSG line 318 SSG Line 319 Word Line 320 pages 321 bit lines 330 Peripheral Circuits 400 ways

Claims

1. 1. A method for controlling a memory system comprising a memory device, comprising: performing an operation on the memory device; calculating a remaining payload based on a current total payload and a payload associated with the operations performed on the memory device; measuring a current temperature of the memory device when the remaining payload meets a predefined requirement, and setting the current total payload associated with the current temperature of the memory device; A method comprising:

2. When the remaining payload satisfies the predefined requirement, the method further comprises starting a count of a predefined time; 2. The method of claim 1, wherein when the remaining payload satisfies the predefined requirement, the method performs: measuring the current temperature of the memory device, setting the current total payload associated with the current temperature of the memory device, and starting counting the predefined time when the predefined time has elapsed or stopping transfer of data to and / or from the memory device until the predefined time has elapsed; and measuring the current temperature of the memory device, setting the current total payload associated with the current temperature of the memory device, and starting counting the predefined time when the predefined time has elapsed.

3. 3. The method of claim 2, further comprising the steps of: when the remaining payload does not meet the predefined requirement, performing another operation on the memory device when the predefined time has not elapsed; or measuring the current temperature of the memory device, setting the current total payload associated with the current temperature of the memory device, and starting counting the predefined time when the predefined time has elapsed.

4. The method of claim 1 , wherein the remaining payload is calculated by subtracting the payload associated with the operation performed on the memory device from the current total payload.

5. The method of claim 1 , wherein the current total payload associated with the current temperature of the memory device is set based on a relationship between a temperature range corresponding to the memory device and a current total payload.

6. The method of claim 1 , wherein the predefined requirement requires that the remaining payload be less than zero.

7. A non-transitory computer-readable storage medium having instructions stored thereon, the instructions, when executed by a processor, causing the processor to perform a method for controlling a memory system comprising a memory device, the method comprising: performing an operation on the memory device; calculating a remaining payload based on a current total payload and a payload associated with the operations performed on the memory device; measuring a current temperature of the memory device when the remaining payload meets a predefined requirement, and setting the current total payload associated with the current temperature of the memory device; A non-transitory computer readable storage medium comprising:

8. When the remaining payload satisfies the predefined requirement, the method further comprises starting a count of a predefined time; 8. The non-transitory computer-readable storage medium of claim 7, wherein when the remaining payload meets the predefined requirement, the method performs: measuring the current temperature of the memory system, setting the current total payload associated with the current temperature of the memory system, and starting counting the predefined time when the predefined time has elapsed or stopping transfer of data to and / or from the memory device until the predefined time has elapsed; measuring the current temperature of the memory system, setting the current total payload associated with the current temperature of the memory system, and starting counting the predefined time when the predefined time has elapsed.

9. 9. The non-transitory computer-readable storage medium of claim 8, further comprising: when the remaining payload does not meet the predefined requirement, performing another operation on the memory device when the predefined time has not elapsed, or measuring the current temperature of the memory device, setting the current total payload associated with the current temperature of the memory device, and starting counting the predefined time when the predefined time has elapsed.

10. 8. The non-transitory computer-readable storage medium of claim 7, wherein the remaining payload is calculated by subtracting the payload associated with the operation performed on the memory device from the current total payload.

11. 8. The non-transitory computer-readable storage medium of claim 7, wherein the current total payload associated with the current temperature of the memory device is set based on a relationship between a temperature range corresponding to the memory device and a current total payload.

12. 8. The non-transitory computer-readable storage medium of claim 7, wherein the predefined requirement requires that the remaining payload be less than zero.

13. a memory device configured to store data; a temperature sensor configured to measure a current temperature of the memory device; a memory controller coupled to the memory device and the temperature sensor, the memory controller configured to set a current total payload associated with the current temperature of the memory device, perform operations on the memory device, and calculate a remaining payload based on the current total payload and a payload associated with the operations performed on the memory device; Equipped with When the remaining payload meets a predefined requirement, the memory controller sets the current total payload associated with the current temperature of the memory device.

14. a timer coupled to the memory controller and configured to count a predefined period of time; The memory controller is further configured to control the timer to start counting the predefined time upon setting the current total payload associated with the current temperature of the memory device; 14. The memory system of claim 13, wherein when the remaining payload meets the predefined requirement, the memory controller controls the timer to: set the current total payload associated with the current temperature of the memory device when the predefined time has elapsed, or stop transferring data to and / or from the memory device until the predefined time has elapsed, set the current total payload associated with the current temperature of the memory device, and start counting the predefined time.

15. 15. The memory system of claim 14, wherein the memory controller performs another operation on the memory device when the remaining payload does not meet the predefined requirement, calculates a remaining payload based on the current total payload and another payload associated with the other operation performed on the memory device when the predefined time has not elapsed, or sets the current total payload associated with the current temperature of the memory device when the predefined time has elapsed, and controls the timer to start counting the predefined time.

16. 14. The memory system of claim 13, wherein the memory controller calculates the remaining payload by subtracting the payload associated with the operation performed on the memory device from the current total payload.

17. 14. The memory system of claim 13, wherein the memory controller sets the current total payload associated with the current temperature of the memory device based on a relationship between a temperature range and a current total payload.

18. 14. The memory system of claim 13, wherein the predefined requirement requires that the remaining payload be less than zero.

19. 14. The memory system of claim 13, wherein the memory devices include single-level cell (SLC) or multi-level cell (MLC) memory cells that are programmable to assume multiple nominal memory values.

20. 20. The memory system of claim 19, wherein the operation comprises a single-level cell (SLC) read operation, an SLC write operation, an SLC erase operation, a multi-level cell (MLC) read operation, an MLC write operation, or an MLC erase operation.

Citation Information

Patent Citations

  • Method and device for controlling electric power for memory element

    JP2002189628A

  • Memory device and temperature sensor calibration method

    JP2021174302A

  • Memory system

    JP2022049531A

  • Device side initiated thermal throttling

    US20160062421A1