# US 9,520,200 B2 · Method and device for temperature-based data refresh in non-volatile memories

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,520,200 B2
- Document ID: US9520200B2
- Status: Granted
- Kind: B2
- Application number: 14/935,065
- Filed: 2015-11-06
- Published: 2016-03-10
- Granted: 2016-12-13
- Earliest claimed: 2015-02-09
- Assignees: Memory Technologies LLC
- Applicants: Memory Technologies LLC
- Inventors: Janne Tapani Nurminen; Kimmo J. Mylly; Matti Floman
- Web page: https://patentgrep.com/patent/US9520200B2

## CPC

- G11C 16/3418: {Disturbance prevention or evaluation; Refreshing of disturbed memory data}
- G11C 7/04: with means for avoiding disturbances due to temperature effects
- G11C 11/406: Management or control of the refreshing or charge-regeneration cycles
- G11C 11/40626: {Temperature related aspects of refresh operations}
- G11C 13/0033: {Disturbance prevention or evaluation; Refreshing of disturbed memory data}
- G11C 13/0035: {Evaluating degradation, retention or wearout, e.g. by counting writing cycles}
- G11C 13/0069: {Writing or programming circuits or methods}
- G11C 16/14: Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C 16/26: Sensing or reading circuits; Data output circuits
- G11C 16/34: Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C 16/3431: {Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step}
- G11C 16/349: {Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles}
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

The invention relates to a method comprising measuring the temperature of at least one location of a non-volatile memory; determining if said temperature measurement indicates that the data retention time of data stored at said at least one location is reduced below a threshold; and re-writing said data to said non-volatile memory in a response to a positive determination.

## Claims

### Claim 1

A memory module comprising
a non-volatile memory;
at least one temperature sensor configured to measure a plurality of temperatures associated with at least one location of the non-volatile memory; and
a controller connected to the non-volatile memory and the at least one temperature sensor, the controller being configured to:
define a temperature threshold related to the at least one location of the non-volatile memory;
determine that at least one temperature of the plurality of temperatures meets or exceeds the temperature threshold;
determine a value associated with a difference between the at least one temperature and the temperature threshold;
determine that the value meets or exceeds a threshold value; and
re-write data to the non-volatile memory in response to determining that the value meets or exceeds the threshold value.

### Claim 2 (depends on 1)

The memory module of claim 1, wherein:
the at least one temperature comprises multiple temperatures; and
the controller is further configured to:
for an individual temperature of the multiple temperatures that meets or exceeds the temperature threshold, determine a respective difference between the individual temperature and the temperature threshold; and
sum the respective differences to determine the value.

### Claim 3 (depends on 1)

The memory module of claim 1, wherein:
the at least one temperature comprises multiple temperatures; and
the controller is further configured to:
for an individual temperature of the multiple temperatures that meets or exceeds the temperature threshold, determine a respective difference between the individual temperature and the temperature threshold; and
calculate an average of the respective differences to determine the value.

### Claim 4 (depends on 1)

The memory module of claim 1, wherein the controller is further configured to track a number of program-erase (P/E) cycles performed on individual locations of the non-volatile memory, wherein at least one of the temperature threshold or the threshold value is dependent on at least one of:
a local or a global peak number of P/E cycles performed on a plurality of locations, or
an average number of P/E cycles performed on the plurality of locations.

### Claim 5 (depends on 1)

The memory module of claim 1, wherein the controller is further configured to track a number of program-erase (P/E) cycles performed on the at least one location, wherein at least one of the temperature threshold or the threshold value is dependent on the number of P/E cycles performed on the at least one location.

### Claim 6 (depends on 1)

The memory module of claim 1, wherein the controller is further configured to lock the at least one location so additional data is no longer written to the at least one location.

### Claim 7 (depends on 6)

The memory module of claim 6, wherein the locking comprises at least one of:
forbidding, after the data is re-written to the non-volatile memory, any further use of the at least one location; or
setting the at least one location to read-only status while the at least one temperature meets or exceeds the temperature threshold, and re-setting the at least one location to read/write status in response to the at least one temperature subsequently falling below the temperature threshold.

### Claim 8 (depends on 1)

The memory module of claim 1, wherein the at least one temperature sensor is implemented:
in the non-volatile memory;
in the controller; or
in the memory module separate from the non-volatile memory and the controller.

### Claim 9 (depends on 1)

The memory module of claim 1, wherein at least one of the temperature threshold or the threshold value decreases as a number of program-erase (P/E) cycles performed on the at least one location of the non-volatile memory increases.

### Claim 10 (depends on 1)

The memory module of claim 1, wherein the determination that the at least one temperature of the plurality of temperatures meets or exceeds the temperature threshold is made within a predefined time interval.

### Claim 11

A method comprising:
defining a temperature threshold related to at least one location of a non-volatile memory;
determining, by a controller of a memory module, that at least one temperature of a plurality of temperatures meets or exceeds the temperature threshold, the plurality of temperatures being measured by at least one temperature sensor;
determining, by the controller, a value associated with a difference between the at least one temperature and the temperature threshold;
determining, by the controller, that the value meets or exceeds a threshold value; and
re-writing, by the controller, data to the non-volatile memory in response to determining that the value meets or exceeds the threshold value.

### Claim 12 (depends on 11)

The method of claim 11, wherein:
the at least one temperature comprises multiple temperatures; and
the method further comprises:
for an individual temperature of the multiple temperatures that meets or exceeds the temperature threshold, determining a respective difference between the individual temperature and the temperature threshold; and
summing the respective differences to determine the value.

### Claim 13 (depends on 11)

The method of claim 11, wherein:
the at least one temperature comprises multiple temperatures; and
the method further comprises:
for an individual temperature of the multiple temperatures that meets or exceeds the temperature threshold, determining a respective difference between the individual temperature and the temperature threshold; and
calculating an average of the respective differences to determine the value.

### Claim 14 (depends on 11)

The method of claim 11, further comprising tracking, by the controller, a number of program-erase (P/E) cycles performed on individual locations of the non-volatile memory, wherein at least one of the temperature threshold or the threshold value is dependent on at least one of:
a local or a global peak number of P/E cycles performed on a plurality of locations, or
an average number of P/E cycles performed on the plurality of locations.

### Claim 15 (depends on 11)

The method of claim 11, further comprising tracking, by the controller, a number of program-erase (P/E) cycles performed on the at least one location, wherein at least one of the temperature threshold or the threshold value is dependent on the number of P/E cycles performed on the at least one location.

### Claim 16 (depends on 11)

The method of claim 11, further comprising locking, by the controller, the at least one location so additional data is no longer written to the at least one location.

### Claim 17 (depends on 16)

The method of claim 16, wherein the locking comprises:
forbidding, after the data is re-written to the non-volatile memory, any further use of the at least one location; or
setting the at least one location to read-only status while the at least one temperature meets or exceeds the temperature threshold, and re-setting the at least one location to read/write status in response to the at least one temperature subsequently falling below the temperature threshold.

### Claim 18 (depends on 11)

The method of claim 11, wherein the at least one temperature sensor is implemented:
in the non-volatile memory;
in the controller; or
in the memory module separate from the non-volatile memory and the controller.

### Claim 19 (depends on 11)

The method of claim 11, wherein at least one of the temperature threshold or the threshold value decreases as a number of program-erase (P/E) cycles performed on the at least one location of the non-volatile memory increases.

### Claim 20 (depends on 11)

The method of claim 11, wherein the determination that the at least one temperature of the plurality of temperatures meets or exceeds the temperature threshold is made within a predefined time interval.

### Claim 21

A non-transitory computer readable medium comprising instructions that, when executed by a controller of a memory module, perform operations comprising:
defining a temperature threshold related to at least one location of a non-volatile memory;
determining at least one temperature of a plurality of temperatures that meets or exceeds the temperature threshold, the plurality of temperatures being measured by at least one temperature sensor;
determining a value associated with a difference between the at least one temperature and the temperature threshold;
determining that the value meets or exceeds a threshold value; and
re-writing data to the non-volatile memory in response to determining that the value meets or exceeds the threshold value.
