Memory and programming method thereof

By adjusting the sensing time and temperature compensation time and combining the step voltage programming method, the problem of threshold voltage drift of flash memory at different temperatures is solved, and high reliability and accuracy data storage at different temperatures is achieved.

CN120708675APending Publication Date: 2025-09-26YANGTZE MEMORY TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511093361.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2021-11-29
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

The threshold voltage distribution of flash memory is prone to drift at different temperatures, resulting in data reading errors. Existing technologies find it difficult to maintain good reliability at different temperatures.

Method used

By adjusting the sensing time and temperature compensation time, the difference is compensated according to the programming temperature to ensure that the temperature compensation effects in the coarse sensing and fine sensing stages are consistent. The programming voltage is gradually increased using a step voltage until the target storage state is reached.

Benefits of technology

The reliability and data storage accuracy of the memory at different temperatures are improved, and the impact of temperature changes on threshold voltage distribution is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120708675A_ABST
    Figure CN120708675A_ABST
Patent Text Reader

Abstract

The invention relates to a memory and a programming method and a reading method thereof, and the programming method comprises the steps: obtaining the programming temperature of a to-be-programmed storage unit of the memory, and enabling the programming temperature to be the temperature of the to-be-programmed storage unit; applying a programming voltage to the to-be-programmed storage unit to change the storage state of the to-be-programmed storage unit; applying a verification voltage to the to-be-programmed memory cell to conduct the to-be-programmed memory cell, and determining whether a bit line voltage of the to-be-programmed memory cell is higher than a first target voltage after the first sensing time; if yes, whether the bit line voltage of the to-be-programmed storage unit is higher than a second target voltage or not is determined after second sensing time, if yes, programming of the to-be-programmed storage unit is stopped, the first sensing time comprises first temperature compensation time adjusted according to the programming temperature, and the second sensing time comprises second temperature compensation time adjusted according to the programming temperature; the second sensing time comprises second temperature compensation time adjusted according to the programming temperature, and the first temperature compensation time is different from the second temperature compensation time.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the Chinese invention patent application with the invention name “Memory and its programming method and reading method” and application number 202111434128.5 filed on November 29, 2021. Technical Field

[0002] The present application relates to a storage device, and more particularly, to a programming method, a reading method, and an apparatus for a memory. Background Art

[0003] Flash memory is a non-volatile memory that can retain stored data without power. Compared to traditional hard drives, flash memory has advantages such as faster read speeds, lower power consumption, and better shock resistance, which is why it is being used in more and more applications. For example, flash memory is often used in electronic systems such as personal computers, digital cameras, digital media players, digital recorders, vehicles, wireless devices, cellular phones, and removable storage modules. As the application field of flash memory expands, it also faces increasingly complex application environments. Therefore, reliability under different temperatures has become an important product verification project for flash memory.

[0004] After programming the memory cells, the threshold voltage of each memory cell changes to achieve information storage. During the use of the memory, you may encounter situations such as low-temperature programming and high-temperature reading; high-temperature programming and low-temperature reading. However, due to its physical properties, the polysilicon channel in flash memory is sensitive to temperature, and its resistance has a high dependence on temperature. For example, at a low programming temperature, the threshold voltage distribution of the storage state may be wide. When reading at a high temperature, the threshold voltage of the memory cell drifts, the threshold voltage distribution may be different, and the difference between the storage states may also change. Such temperature dependence may cause deviations in the threshold voltage determined at different stages of programming and the storage state determined at the reading stage, ultimately leading to data reading errors.

[0005] Therefore, a memory device with good reliability at different temperatures is needed.

[0006] It should be understood that this background technology section is intended in part to provide a useful background for understanding the present technology, but does not mean that these contents are necessarily prior art already known to those skilled in the art before this application. Summary of the Invention

[0007] One aspect of the present disclosure provides a method for programming a memory, which includes: obtaining a programming temperature of a memory cell to be programmed of the memory, wherein the programming temperature is the temperature of the memory cell to be programmed; applying a programming voltage to the memory cell to be programmed to change the storage state of the memory cell to be programmed; applying a verification voltage to the memory cell to be programmed to turn on the memory cell to be programmed, and determining whether a bit line voltage of the memory cell to be programmed is higher than a first target voltage after a first sensing time; if so, determining whether the bit line voltage of the memory cell to be programmed is higher than a second target voltage after a second sensing time, and if so, stopping programming of the cell to be programmed, wherein the first sensing time includes a first temperature compensation time adjusted according to the programming temperature, and the second sensing time includes a second temperature compensation time adjusted according to the programming temperature, and the first temperature compensation time and the second temperature compensation time are different.

[0008] In one embodiment, the first sensing time includes a first predetermined sensing time and a first temperature compensation time, and the second sensing time includes a second predetermined sensing time and a second temperature compensation time, the first predetermined sensing time being smaller than the second predetermined sensing time.

[0009] In one embodiment, the first temperature compensation time and the second temperature compensation time are determined according to a difference between the programming temperature and a predetermined reference temperature.

[0010] In one embodiment, the reference temperature is 85°C.

[0011] In one embodiment, the first temperature compensation time and the second temperature compensation time are respectively determined according to a curve of a change in a sensing current over time when the memory cell to be programmed is turned on within a corresponding time period at the programming temperature.

[0012] In one embodiment, when the slope time of the variation curve decreases, the first temperature compensation time is set to be smaller than the second temperature compensation time.

[0013] In one embodiment, the faster the charge loss rate in the corresponding time period is, the shorter the corresponding first temperature compensation time or second temperature compensation time is.

[0014] In one embodiment, the first temperature compensation time and the second temperature compensation time are determined according to a difference between a programming temperature and a reference temperature and a curve of a change in a sensing current over time when the memory cell to be programmed is turned on at the programming temperature.

[0015] In one embodiment, the programming method further includes: reprogramming the memory cell to be programmed when the bit line voltage is less than or equal to the first target voltage after the first sensing time or when the bit line voltage is less than or equal to the second target voltage after the second sensing time, wherein the reprogramming includes: changing the programming voltage; applying the changed programming voltage to the memory cell to be programmed to change the storage state of the memory cell to be programmed; applying the verification voltage to the memory cell to be programmed to turn on the memory cell to be programmed, and determining whether the bit line voltage of the memory cell to be programmed is higher than the first target voltage after the first sensing time; if so, detecting whether the bit line voltage of the memory cell to be programmed is higher than the second target voltage after the second sensing time, if so, stopping programming of the memory cell to be programmed, and if not, repeating the above steps until the bit line voltage of the memory cell to be programmed is higher than the second target voltage.

[0016] In one embodiment, the programming method further includes: increasing a programming voltage when reprogramming the memory cell to be programmed.

[0017] In one embodiment, the programming method further includes: gradually increasing the programming voltage with the same step voltage when reprogramming the memory cell to be programmed multiple times.

[0018] In one embodiment, the programming method further includes: applying a read voltage to a programmed memory cell to turn on the programmed memory cell; and determining a storage state of the programmed memory cell after a read sensing time, wherein the read sensing time includes a read temperature compensation time, the read temperature compensation time being determined based on a temperature when the programmed memory cell is read, and having the same relationship curve with respect to temperature as the second temperature compensation time used when programming the programmed memory cell.

[0019] Another aspect of the present disclosure provides a memory, which includes an input / output circuit and a memory circuit. The input / output circuit includes: a bus interface configured to receive data from outside the memory and transmit data from the memory to the outside; and an input / output controller configured to control the operation of the bus interface. The memory circuit includes: a memory array including a plurality of memory cells; and a memory controller configured to control the operation of the plurality of memory arrays. When programming a memory cell to be programmed among the plurality of memory cells, the memory controller is configured to: obtain a programming temperature of the memory cell to be programmed in the memory array; apply a programming voltage to the memory cell to be programmed to change a storage state of the memory cell to be programmed; apply a verification voltage to the memory cell to be programmed to turn on the memory cell to be programmed, determine whether a bit line voltage of the memory cell to be programmed is higher than a first target voltage after a first sensing time; if so, determine whether the bit line voltage of the memory cell to be programmed is higher than a second target voltage after a second sensing time, and if so, stop programming the memory cell to be programmed. The first sensing time includes a first temperature compensation time adjusted according to the programming temperature, and the second sensing time includes a second temperature compensation time adjusted according to the programming temperature, and the first temperature compensation time and the second temperature compensation time are different. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] The above and other advantages and features of the present disclosure will become more apparent by describing in detail exemplary embodiments of the present disclosure with reference to the attached drawings.

[0021] Figure 1 A schematic diagram showing the storage state of a storage unit in a memory according to an embodiment of the present disclosure is shown.

[0022] Figure 2 A method for programming a memory cell in a memory according to an embodiment of the present disclosure is shown.

[0023] Figure 3 The relationship between the sensing current and the temperature compensation time according to an embodiment of the present disclosure is shown.

[0024] Figure 4 Sense voltage variation caused by temperature compensation time according to an embodiment of the present disclosure is shown.

[0025] Figure 5 A schematic diagram of a memory according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0026] Exemplary embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the present invention are shown. However, the present invention may be embodied in different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the scope of the invention to those skilled in the art.

[0027] It should also be understood that when an element or layer is referred to as being “on,” “connected to,” or “coupled to” another element or layer, it can be directly on or directly connected to the other element or layer, or there can be elements or layers between them. When an element or layer is referred to as being “directly on,” “directly connected to,” or “directly coupled to” another element or layer, there are no intervening elements or layers. For this purpose, the term “connected” may refer to a physical connection, an electrical connection, and / or a fluid connection, with or without intervening elements.

[0028] Throughout the specification, the same reference numerals denote the same components. In the drawings, the thicknesses of layers and regions are exaggerated for clarity.

[0029] Although the terms "first," "second," etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms can be used to distinguish one element from another. Therefore, without departing from the teachings of one or more embodiments, the first element discussed below may be referred to as the second element. Describing an element as a "first" element may not require or imply the presence of a second element or other elements. The terms "first," "second," etc. may also be used herein to distinguish between elements of different classes or groups. For the sake of simplicity, the terms "first," "second," etc. may respectively represent "first class (or first group)," "second class (or second group)," etc.

[0030] The terms used herein are used only for the purpose of describing specific embodiments and are not intended to be limiting. As used herein, the term "and / or" includes any and all combinations of one or more of the relevant listed items. It should also be understood that when used in this specification, the term "comprising" specifies the presence of the features, regions, steps, operations, elements and / or components set forth, but does not exclude the presence or addition of one or more other features, regions, steps, operations, elements, components and / or groups thereof.

[0031] In addition, relative terms such as "lower" or "bottom" and "upper" or "top" may be used herein to describe the relationship of one element to another element as shown in the figures. It should be understood that relative terms are intended to encompass different orientations of the device in addition to the orientations depicted in the figures. In an exemplary embodiment, when the device in one of the figures is flipped, the element described as being on the "lower" side of the other elements will then be oriented on the "upper" side of the other elements. Thus, depending on the specific orientation of the figure, the exemplary term "lower" can encompass both "lower" and "upper" orientations. Similarly, when the device in one of the figures is flipped, the element described as being "below" or "below" the other elements will then be oriented "above" the other elements. Thus, the exemplary term "lower" or "below" can encompass both "upper" and "lower" orientations.

[0032] As used herein, "about" or "approximately" includes the stated value and the mean within an acceptable deviation of the particular value as determined by one of ordinary skill in the art taking into account the measurements in question and errors associated with the measurement of the particular quantity (i.e., the limitations of the measurement system). For example, "about" can mean within one or more standard deviations.

[0033] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It should also be understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and the present invention, and will not be interpreted in an idealized or overly formal sense unless explicitly defined as such herein.

[0034] As is customary in the art, some exemplary embodiments are described and illustrated in the figures with respect to functional blocks, units, and / or modules. Those skilled in the art will understand that these blocks, units, and / or modules are physically implemented using electrical (or optical) circuitry, such as logic circuits, discrete components, microprocessors, hard-wired circuits, memory elements, wiring connectors, and the like, which can be formed using semiconductor-based or other manufacturing technologies. Where blocks, units, and / or modules are implemented using microprocessors or other similar hardware, they can be programmed and controlled using software (e.g., microcode) to perform the various functions discussed herein, and can optionally be driven by firmware and / or software. It is also contemplated that each block, unit, and / or module may be implemented using dedicated hardware, or as a combination of dedicated hardware for performing some functions and a processor (e.g., one or more programmed microprocessors and associated circuitry) for performing other functions. Furthermore, each block, unit, and / or module in some exemplary embodiments may be physically separated into two or more interacting and discrete blocks, units, and / or modules without departing from the scope of the inventive concept. Furthermore, the blocks, units and / or modules of some exemplary embodiments may be physically combined into more complex blocks, units and / or modules without departing from the scope of the inventive concept.

[0035] Figure 1 A schematic diagram showing the storage state of a storage unit in a memory according to an embodiment of the present disclosure is shown. The memory according to an embodiment of the present disclosure may include multiple storage units, and the storage units can store multiple storage states. Figure 1 As shown, the exemplary memory cell may include storage states 101, 102, and 103, which may correspond to programming states such as "00", "01", "11", etc., for example. Figure 1 This schematic diagram is merely a schematic diagram for the purpose of illustrating the technical solution of the present disclosure. Other storage states and a greater or fewer number of storage states are also possible in the memory of the present disclosure. There is a gap between the voltages corresponding to the different storage states 101, 102, and 103. When reading the storage state of a memory cell, the different storage states can be distinguished based on threshold voltages 111 and 121. The first threshold voltage 111 is between the first storage state 101 and the second storage state 102, and the second threshold voltage 121 is between the second storage state 102 and the third storage state 103. During the reading process, when the determined voltage is lower than the first threshold voltage 111, the storage state of the corresponding memory cell is the first storage state 101; when the determined voltage is higher than the first threshold voltage 111 and lower than the second threshold voltage 121, the storage state of the corresponding memory cell is the second storage state 102; and when the determined voltage is higher than the second threshold voltage 121, the storage state of the corresponding memory cell is the third storage state 103.

[0036] When programming a memory cell, the memory cell's storage state can be gradually changed from low to high by increasing the programming voltage in steps. Each step of programming a memory cell can be divided into two stages: programming and verification. The verification stage can be further divided into two stages: coarse sensing and fine sensing. Figure 2 A method 200 for programming a memory cell in a memory according to an embodiment of the present disclosure is shown, wherein step 202 is a programming phase, steps 203 to 204 are a coarse sensing phase, and step 205 is a fine sensing phase.

[0037] like Figure 2 As shown, the memory cell is programmed to Figure 1 Taking the third storage state 103 shown as an example, the memory programming method 200 according to the present disclosure may include obtaining a programming temperature (step 201). When programming a memory cell to be programmed in the memory, the temperature of the memory cell during programming can be obtained, for example, using a temperature sensor. This temperature can be the current temperature of the cell to be programmed, and this temperature can be used to determine the temperature compensation time used in subsequent steps. It should be noted that the step of obtaining the programming temperature does not necessarily need to be performed first; it can also be performed after other steps, as long as the temperature is determined before determining the temperature compensation time.

[0038] In step 202, a programming voltage may be applied to the memory cell to be programmed. For example, a programming voltage may be applied to the word line corresponding to the memory cell to be programmed, and at the same time, the bit line corresponding to the memory cell to be programmed is placed at a low voltage, thereby changing the charge on the floating gate of the memory cell to be programmed to store state information.

[0039] After the programming phase, it is necessary to verify whether the programmed memory cell has reached the desired storage state. To this end, the programming method 200 according to the present disclosure includes a coarse sensing phase (steps 203 and 204). In step 203, a verification voltage is applied to the memory cell to be programmed to turn on the memory cell to be programmed. For example, the verification voltage can be applied to the control electrode (i.e., the corresponding word line) of the memory cell to be programmed. After the memory cell to be programmed is turned on, the charge stored therein will be lost over time. Accordingly, the bit line voltage sensed from the bit line corresponding to the memory cell to be programmed will also decrease. This process can continue for a period of time, for example, for a first sensing time.

[0040] After the first sensing time, it can be determined whether the bit line voltage of the memory cell to be programmed is higher than the first target voltage (step 204). The target voltage can correspond to Figure 1The first threshold voltage 111 in the bit line is higher than the first target voltage. If the bit line voltage is higher than the first target voltage, the subsequent fine sensing phase is performed. Otherwise, the programming state does not reach the expected state and the memory cell needs to be reprogrammed. During the reprogramming operation, the programming voltage can be increased to reprogram the memory cell. When the bit line voltage is higher than the first target voltage, it indicates that the storage state of the memory cell to be programmed is, for example, Figure 1 The second storage state 102 or the third storage state 203 shown in FIG. Whether the current storage state is the second storage state 102 or the third storage state 203 can be further determined by a subsequent fine sensing phase.

[0041] Entering the fine verification phase, after a second sensing time, it can be verified that the bit line voltage of the memory cell to be programmed is higher than the second target voltage (step 205). If the bit line voltage is higher than the second target voltage, the programming operation is complete and programming of the memory cell to be programmed can be stopped. Otherwise, the programmed state has not reached the expected state, and the memory cell needs to be reprogrammed. During the reprogramming operation, the programming voltage can be increased to reprogram the memory cell. In some embodiments, during each reprogramming, the programming voltage can be increased by a specific step voltage relative to the previous programming voltage. The same step voltage can be used in consecutive reprogramming processes, or different step voltages can be used. For example, after the first programming, coarse sensing, and / or fine sensing cycle, if the expected storage state is not reached, the programming phase is entered again, and the programming voltage used is increased by a predetermined step voltage compared to the previous cycle. If the expected storage state is still not reached in this cycle, the programming voltage is increased again by the predetermined step voltage in the next cycle until the expected storage state is reached.

[0042] In the above process, the first sensing time may include a first predetermined sensing time and a first temperature compensation time, and the second sensing time may include a second predetermined sensing time and a second temperature compensation time. The first predetermined sensing time and the second predetermined sensing time may be predetermined, for example, obtained through experimentation or set by a user, and the first predetermined sensing time may be less than the second predetermined sensing time. The first temperature compensation time and the second temperature compensation time are used to compensate for the effect of the memory operating temperature on programming and reading operations. For example, low temperatures may cause a decrease in saturation current. By adding the temperature compensation time to the original predetermined sensing time, the current flow time is increased or decreased to compensate for differences in current, voltage, etc. caused by temperature differences. In conventional temperature compensation methods, the same temperature compensation time is used for both the coarse sensing stage and the fine sensing stage. However, since the charge loss rate during the sensing stages is not always the same, using the same temperature compensation time for the coarse sensing stage and the fine sensing stage, which are sequential in time, may result in unequal voltage offsets in the two stages, causing a change in the difference in the sensed voltage between the two stages, leading to inaccurate verification and ultimately affecting the accuracy of data storage.

[0043] Specifically, if Figure 3 As shown in the figure, when the memory cell is turned on, the current drop rate caused by the charge loss is initially fast, and then gradually slows down. I and time t (For example, the temperature compensation time) is actually approximately inversely proportional. Under such a current-time relationship, if we want to make Figure 4 The sensing voltage change in the coarse sensing phase due to charge loss during the temperature compensation time △V coarse and the sensing voltage changes during the fine sensing phase △V fine To keep it consistent, it is necessary to ensure that the current change caused by the temperature compensation time in the coarse sensing stage and the fine sensing stage △I coarse and △I fine Stay consistent. Figure 3 The curve shown in the figure requires setting different temperature compensation times to obtain the same current change. △I coarse and △I fine Since the current drops rapidly in the coarse sensing stage, the first temperature compensation time can be t coarse Set to a shorter time; since the current drops slowly in the fine sensing stage, the second temperature compensation time can be set to t fine Set to be longer, that is, to meett fine >t coarse .

[0044] The temperature compensation time can be determined based on the difference between the operating temperature of the memory and a reference temperature (e.g., 85°C). For example, the temperature compensation time for the coarse and fine sensing stages at the reference temperature can be determined in advance through experiments or statistics. When the operating temperature differs from the reference temperature, the temperature compensation time can be adjusted accordingly. In some embodiments, when adjusting the temperature compensation time based on the difference between the operating temperature and the reference temperature, the temperature compensation time can be further adjusted based on the relationship between current change and time, which is determined by the physical characteristics of the programming cell (such as the number of carriers).

[0045] According to the memory programming method disclosed in the present invention, by adjusting the temperature compensation time of the coarse sensing stage and the fine sensing stage differently, the actual temperature compensation effects of the coarse sensing stage and the fine sensing stage can be ensured to be the same, thereby ensuring the accuracy of data storage and improving the reliability of the memory in dealing with various temperatures.

[0046] When reading a memory cell programmed according to the above method, only the read phase corresponding to the above-described fine sensing phase can be used to read the memory cell. That is, the read process includes only one sensing phase. During this sensing phase, a read voltage can be applied to the memory cell to turn on the memory cell, for example, by applying a read voltage to the word line corresponding to the memory cell. After a read sensing time, the storage state of the memory cell is determined, for example, by sensing the bit line voltage corresponding to the memory cell. During the read phase, the read sensing time includes a predetermined read sensing time and a read temperature compensation time. This read temperature compensation time has the same temperature-dependent relationship curve as the second temperature compensation time used when programming the memory cell. That is, if the read temperature and the programming temperature are the same, the read temperature compensation time is the same as the second temperature compensation time. If the read temperature and the programming temperature are different, the corresponding read temperature compensation time can be obtained based on the read temperature along the same temperature-compensation time curve. This temperature-compensation time curve can be obtained through statistical analysis, experimentation, user settings, or other methods.

[0047] Figure 5 A schematic diagram of a memory according to an embodiment of the present disclosure is shown.

[0048] like Figure 5As shown, the memory 500 according to the embodiment of the present disclosure may include an input / output (I / O) circuit 510 and a storage circuit 520. The I / O circuit 510 is used for communication between the storage circuit and an external device. The I / O circuit 510 may include a bus interface 512 (for example, a PCIE interface, an NVMe interface, etc.), which can receive data from outside the memory and transmit data from the memory to the outside. The I / O circuit 510 also includes an input / output controller 511, which controls the operation of the bus interface. The storage circuit 520 is used to store data, and may include storage arrays 531-534 and a storage controller 521, wherein each of the storage arrays 531-534 may include multiple storage units, and the storage controller 521 is used to control the operations of the multiple storage arrays (for example, read operations, write operations, etc.). For example, the storage controller 521 may perform operations as described above in combination. Figure 1-4 It should be noted that although Figure 5 Four storage arrays are shown in FIG. 5 , but the present application is not limited thereto, and the memory 500 may include any number of storage arrays.

[0049] The memory 500 according to the embodiment of the present application may further include a temperature sensor, which may be located in the I / O circuit 510 or the memory circuit 520. When the temperature sensor is located in the I / O circuit 510, the I / O controller 511 may transmit the current temperature of the memory sensed by the temperature sensor to the memory controller 521 as the programming temperature of the memory cell to be programmed. When the temperature sensor is located in the memory circuit 520, the memory controller 521 may be configured to use the current temperature of the memory cell to be programmed sensed by the temperature sensor as the programming temperature of the memory cell to be programmed. When programming a memory cell to be programmed among a plurality of memory cells, the memory controller is configured to: obtain a programming temperature of the memory cell to be programmed in the memory array; apply a programming voltage to the memory cell to be programmed to change the storage state of the memory cell to be programmed; apply a verification voltage to the memory cell to be programmed to turn on the memory cell to be programmed, and determine whether a bit line voltage of the memory cell to be programmed is higher than a first target voltage after a first sensing time; if so, determine whether the bit line voltage of the memory cell to be programmed is higher than a second target voltage after a second sensing time, and if so, stop programming the cell to be programmed, wherein the first sensing time includes a first temperature compensation time adjusted according to the programming temperature, and the second sensing time includes a second temperature compensation time adjusted according to the programming temperature, and the first temperature compensation time and the second temperature compensation time are different.

[0050] In one embodiment, the first sensing time includes a first predetermined sensing time and a first temperature compensation time, and the second sensing time includes a second predetermined sensing time and a second temperature compensation time, the first predetermined sensing time being smaller than the second predetermined sensing time.

[0051] In one embodiment, the first temperature compensation time and the second temperature compensation time are determined according to a difference between the programming temperature and a predetermined reference temperature.

[0052] In one embodiment, the reference temperature is 85°C.

[0053] In one embodiment, the first temperature compensation time and the second temperature compensation time are respectively determined according to a curve of a change in a sensing current over time when the memory cell to be programmed is turned on within a corresponding time period at the programming temperature.

[0054] In one embodiment, when the slope time of the variation curve decreases, the first temperature compensation time is set to be smaller than the second temperature compensation time.

[0055] In one embodiment, the faster the charge loss rate in the corresponding time period is, the shorter the corresponding first temperature compensation time or second temperature compensation time is.

[0056] In one embodiment, the first temperature compensation time and the second temperature compensation time are determined according to a difference between a programming temperature and a reference temperature and a curve of a change in a sensing current over time when the memory cell to be programmed is turned on at the programming temperature.

[0057] In one embodiment, the controller is further configured to: reprogram the memory cell to be programmed when the bit line voltage is less than or equal to the first target voltage after the first sensing time or when the bit line voltage is less than or equal to the second target voltage after the second sensing time, wherein the reprogramming includes: changing the programming voltage; applying the changed programming voltage to the memory cell to be programmed to change the storage state of the memory cell to be programmed; applying the verification voltage to the memory cell to be programmed to turn on the memory cell to be programmed, and determining whether the bit line voltage of the memory cell to be programmed is higher than the first target voltage after the first sensing time; if so, then after the second sensing time, detecting whether the bit line voltage of the memory cell to be programmed is higher than the second target voltage, if so, stopping programming of the memory cell to be programmed, and if not, repeating the above steps until the bit line voltage of the memory cell to be programmed is higher than the second target voltage.

[0058] In one embodiment, the controller is further configured to increase the programming voltage when reprogramming the memory cell to be programmed.

[0059] In one embodiment, the controller is further configured to: when reprogramming the memory cell to be programmed multiple times, gradually increase the programming voltage with the same step voltage.

[0060] In one embodiment, when reading a programmed memory cell to be read among a plurality of memory cells, the configuration is as follows: applying a read voltage to the memory cell to be read to turn on the memory cell to be read; and determining a storage state of the memory cell to be read after a read sensing time, wherein the read sensing time includes a read temperature compensation time, and the read temperature compensation time has the same relationship curve with respect to temperature as a second temperature compensation time used when programming the memory cell to be read.

[0061] At the end of the detailed description, it will be appreciated by those skilled in the art that many changes and modifications may be made to the preferred embodiment without departing substantially from the principles of the present invention. Therefore, the disclosed preferred embodiments of the present invention are used in a general and descriptive sense only and not for the purpose of limitation.

Claims

1. A method for programming a memory, comprising: Performing a first programming operation on a memory cell to be programmed includes: applying a first programming voltage to a word line coupled to the memory cell to be programmed; and applying a first verification voltage to the word line to turn on the memory cell to be programmed, and sensing a bit line voltage coupled to the memory cell to be programmed after a first sensing time; and After performing a first programming operation on the memory cell to be programmed, performing a second programming operation on the memory cell to be programmed includes: applying a second programming voltage to a word line coupled to the memory cell to be programmed; and applying a second verification voltage to the word line to turn on the memory cell to be programmed, and sensing a bit line voltage coupled to the memory cell to be programmed after a second sensing time; The first sensing time is different from the second sensing time.

2. The programming method according to claim 1, further comprising: Before applying the first verification voltage, obtaining a first programming temperature of the memory cell to be programmed; obtaining the first sensing time according to the first programmed temperature; Before applying the second verification voltage, obtaining a second programming temperature of the memory cell to be programmed; as well as The second sensing time is acquired according to the second programming temperature.

3. The programming method according to claim 1, wherein: The first sensing time includes a first predetermined sensing time and a first temperature compensation time; and The second sensing time includes a second predetermined sensing time and a second temperature compensation time; The first predetermined sensing time is less than the second predetermined sensing time, the first temperature compensation time is the compensation time when the memory cell to be programmed is at a first programming temperature, and the second programming temperature compensation time is the compensation time when the memory cell to be programmed is at a second temperature.

4. The programming method according to claim 3, wherein: The first predetermined sensing time is shorter than the second predetermined sensing time.

5. The programming method according to claim 3, further comprising: obtaining a difference between the first programming temperature and a reference temperature; obtaining the first temperature compensation time according to the difference between the first programming temperature and a reference temperature; obtaining a difference between the second programming temperature and the reference temperature; as well as The second temperature compensation time is obtained according to the difference between the second programming temperature and the reference temperature. The programming method according to claim 5 , wherein: The reference temperature is 85°C.

7. The programming method according to claim 3, wherein: The first temperature compensation time and the second temperature compensation time are respectively obtained according to a curve of a change in a sensing current over time when the memory cell to be programmed is turned on within a corresponding time period at the first programming temperature and the second programming temperature.

8. The programming method according to claim 7, wherein: When the slope time of the variation curve decreases, the first temperature compensation time is set to be smaller than the second temperature compensation time.

9. The programming method according to claim 1, wherein: The first programming operation is a coarse programming operation, and the second programming operation is a fine programming operation.

10. The programming method according to claim 1, wherein: The second programming voltage is greater than the first programming voltage; or the first programming verification voltage is greater than the second programming verification voltage.

11. The programming method according to claim 3, further comprising: Perform a read operation on the programmed memory cell, including: applying a read voltage to a word line coupled to the programmed memory cell; and A bit line voltage coupled to the programmed memory cell is sensed after a read sensing time, wherein the read sensing time includes a read temperature compensation time, the read temperature compensation time being determined based on a temperature when the programmed memory cell is read and having the same relationship curve with respect to temperature as the second temperature compensation time used when programming the programmed memory cell.

12. A memory comprising: a storage array comprising a plurality of storage units; as well as a storage controller configured to control operations of the plurality of storage arrays, The storage controller is configured to: Performing a first programming operation on a memory cell to be programmed includes: applying a first programming voltage to a word line coupled to the memory cell to be programmed; and applying a first verification voltage to the word line to turn on the memory cell to be programmed, and sensing a bit line voltage coupled to the memory cell to be programmed after a first sensing time; After performing a first programming operation on the memory cell to be programmed, performing a second programming operation on the memory cell to be programmed includes: applying a second programming voltage to a word line coupled to the memory cell to be programmed; and applying a second verification voltage to the word line to turn on the memory cell to be programmed, and sensing a bit line voltage coupled to the memory cell to be programmed after a second sensing time; The first sensing time is different from the second sensing time.

13. The memory according to claim 12, wherein: Also includes: Input / output circuits, including: a bus interface configured to receive data outside the memory and transmit data to outside the memory; and an input / output controller configured to control the operation of the bus interface; The input / output circuit further includes a temperature sensor configured to sense a temperature of the memory, and The input / output controller is further configured to transmit the temperature of the memory to the memory controller as a programming temperature of the memory cell to be programmed.

14. The memory according to claim 12, wherein: The memory circuit further includes a temperature sensor configured to sense the temperature of the memory cell to be programmed, and The memory controller is further configured to use the temperature of the memory cell to be programmed as a programming temperature of the memory cell to be programmed.

15. The memory according to claim 12, wherein the memory controller is further configured to: Before applying the first verification voltage, obtaining a first programming temperature of the memory cell to be programmed; obtaining the first sensing time according to the first programmed temperature; Before applying the second verification voltage, obtaining a second programming temperature of the memory cell to be programmed; as well as The second sensing time is acquired according to the second programming temperature.

16. The memory according to claim 12, wherein The first sensing time includes a first predetermined sensing time and a first temperature compensation time; and The second sensing time includes a second predetermined sensing time and a second temperature compensation time; The first predetermined sensing time is less than the second predetermined sensing time, the first temperature compensation time is the compensation time when the memory cell to be programmed is at a first programming temperature, and the second programming temperature compensation time is the compensation time when the memory cell to be programmed is at a second temperature.

17. The memory according to claim 16, wherein: The first predetermined sensing time is shorter than the second predetermined sensing time.

18. The memory according to claim 16, wherein the memory controller is further configured to: obtaining a difference between the first programming temperature and a reference temperature; obtaining the first temperature compensation time according to the difference between the first programming temperature and a reference temperature; obtaining a difference between the second programming temperature and the reference temperature; and obtaining the second temperature compensation time according to the difference between the second programming temperature and the reference temperature; in, The first temperature compensation time and the second temperature compensation time are respectively obtained according to a curve of a change in a sensing current over time when the memory cell to be programmed is turned on within a corresponding time period at the programming temperature.

19. The memory according to claim 18, wherein When the slope time of the variation curve decreases, the first temperature compensation time is set to be smaller than the second temperature compensation time.

20. The memory according to claim 12, wherein The first programming operation is a coarse programming operation, and the second programming operation is a fine programming operation.

21. The memory according to claim 12, wherein The second programming voltage is greater than the first programming voltage; or the first programming verification voltage is greater than the second programming verification voltage.

22. The memory according to claim 16, wherein The storage controller is further configured to: Perform a read operation on the programmed memory cell, including: applying a read voltage to a word line coupled to the programmed memory cell; and A bit line voltage coupled to the programmed memory cell is sensed after a read sensing time, wherein the read sensing time includes a read temperature compensation time, the read temperature compensation time being determined based on a temperature when the programmed memory cell is read and having the same relationship curve with respect to temperature as the second temperature compensation time used when programming the programmed memory cell.