# US 2017/0255403 A1 · Temperature variation compensation

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

- Number: US 2017/0255403 A1
- Document ID: US20170255403A1
- Status: Published application
- Kind: A1
- Application number: 15/167,316
- Filed: 2016-05-27
- Published: 2017-09-07
- Earliest claimed: 2016-03-04
- Assignees: Western Digital Technologies, Inc.
- Applicants: Western Digital Technologies, Inc.
- Inventors: ERAN SHARON; NIAN NILES YANG; IDAN ALROD; EVGENY MEKHANIK; MARK SHLICK; JOANNA LAI
- Web page: https://patentgrep.com/patent/US20170255403A1

## CPC

- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/064: {Management of blocks}
- G06F 3/0653: {Monitoring storage devices or systems}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 11/1068: {in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence)}
- G11C 7/04: with means for avoiding disturbances due to temperature effects
- G11C 11/5628: {Programming or writing circuits; Data input circuits}
- G11C 11/5642: {Sensing or reading circuits; Data output circuits}
- G11C 16/10: Programming or data input circuits
- G11C 16/26: Sensing or reading circuits; Data output circuits
- G11C 16/3418: {Disturbance prevention or evaluation; Refreshing of disturbed memory data}
- 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 29/52: Protection of memory contents; Detection of errors in memory contents
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A data storage device is configured to mark data for refresh in response to determining that a first measured temperature associated with writing the data to the memory exceeds a first threshold. The data storage device is further configured to refresh the marked data in response to determining that a second measured temperature associated with the memory is below a second threshold.

## Claims

### Claim 1

A device comprising:
a memory; and
a controller coupled to the memory, the controller configured to mark data for refresh in response to determining that a first measured temperature associated with writing the data to the memory exceeds a first threshold, the controller further configured to refresh the marked data in response to determining that a second measured temperature associated with the memory is below a second threshold.

### Claim 2 (depends on 1)

The device of claim 1, wherein the controller is configured to mark the data by adding an indication of the data to a marked data list.

### Claim 3 (depends on 2)

The device of claim 2, wherein the controller is configured to access the marked data list and to initiate a data refresh operation in response to detecting that the second measured temperature is below the second threshold.

### Claim 4 (depends on 1)

The device of claim 1, further comprising a temperature sensor configured to indicate the first measured temperature and the second measured temperature to the controller.

### Claim 5

A device comprising:
a memory; and
a controller coupled to the memory, the controller configured to write data to a block of the memory and, in response to detecting a temperature change that exceeds a block variation threshold after writing the data to the block, to close the block to additional write operations to an unused portion of the block.

### Claim 6 (depends on 5)

The device of claim 5, wherein the controller is configured to write dummy data to a word line of the block prior to closing the block.

### Claim 7

A device comprising:
a memory; and
a controller coupled to the memory, the controller configured to associate first data that is stored in the memory with a first group indicator and to associate first memory access parameter values with the first group indicator, wherein in response to detecting a temperature change that exceeds a group temperature threshold associated with the first group indicator, the controller is configured to associate second data to be stored in the memory with a second group indicator and to associate second memory access parameter values with the second group indicator, the second memory access parameter values different from the first memory access parameter values.

### Claim 8 (depends on 7)

The device of claim 7, wherein the controller is configured to maintain a group indicator pointer indicating a group indicator to be associated with data to be written to the memory, and wherein in response to detecting the temperature change, the controller is configured to update the group indicator pointer to indicate the second group indicator.

### Claim 9

A device comprising:
a memory; and
a controller coupled to the memory, the controller configured to store a default value of a read voltage and to determine an adjusted read voltage to read data from the memory, the adjusted read voltage determined based on the default value and based on a data structure that maps read voltage offset values to differences between write temperatures and read temperatures.

### Claim 10 (depends on 9)

The device of claim 9, wherein the data structure includes a table and wherein each entry of the table is accessible according to a write temperature range and a read temperature range.

### Claim 11 (depends on 9)

The device of claim 9, wherein the table omits read voltage offset values for entries that correspond to matching write temperature ranges and read temperature ranges.

### Claim 12

A device comprising:
a memory; and
a controller coupled to the memory, the controller configured to read multiple codewords of data from the memory and, in response to detecting an error rate exceeding a threshold error rate for a threshold number of the codewords, to initiate a temperature compensation operation that modifies one or more memory access parameters based on a temperature difference between a first temperature and a second temperature.

### Claim 13 (depends on 12)

The device of claim 12, wherein the first temperature is associated with a first time period, the first time period includes a write operation of multiple codewords to the memory, and the second temperature is associated with a second time period, the second time period includes a read operation of multiple codewords from the memory.

### Claim 14 (depends on 12)

The device of claim 12, further comprising an error correction coding (ECC) engine, and wherein the threshold error rate is less than a threshold correctable error rate of the ECC engine.

### Claim 15

A device comprising:
a memory including:
a first memory die that includes a first temperature sensor; and
a second memory die that includes a second temperature sensor; and
a controller coupled to the memory, the controller configured to receive a first indicator of a first temperature from the first temperature sensor and a second indicator of a second temperature from the second temperature sensor, wherein the controller is configured to determine a temperature range based on an average of the first temperature and the second temperature.

### Claim 16 (depends on 15)

The device of claim 15, wherein the memory includes a stack of memory dies, wherein the first memory die is a top die of the stack and wherein the second memory die is a central die of the stack.

### Claim 17

A method comprising:
at a data storage device that includes a controller coupled to a non-volatile memory, performing:
marking data stored at the non-volatile memory for refresh in response to determining that a first measured temperature associated with writing the data to the non-volatile memory exceeds a first threshold; and
refreshing the marked data in response to determining that a second measured temperature associated with the non-volatile memory is below a second threshold.

### Claim 18 (depends on 17)

The method of claim 17, wherein marking the data comprises adding an indication of the data to a marked data list.

### Claim 19 (depends on 18)

The method of claim 18, further comprising, after marking the data:
accessing the marked data list; and
in response to detecting that the second measured temperature is below the second threshold, initiating data refresh operations.

### Claim 20

A method comprising:
at a data storage device that includes a controller coupled to a non-volatile memory, performing:
writing data to a block of the non-volatile memory; and
in response to detecting a temperature change that exceeds a block variation threshold after writing the data to the block, closing the block.

### Claim 21 (depends on 20)

The method of claim 20, further comprising writing dummy data to a word line of the block prior to closing the block.

### Claim 22 (depends on 20)

The method of claim 20, wherein closing the block prevents write operations to an unused portion of the block.

### Claim 23

A method comprising:
at a data storage device that includes a controller coupled to a non-volatile memory, performing:
associating first data that is stored in the non-volatile memory with a first group indicator;
associating first memory access parameter values with the first group indicator;
in response to detecting a temperature change that exceeds a group temperature threshold associated with the first group indicator:
associating second data to be stored in the non-volatile memory with a second group indicator; and
associating second memory access parameters with the second group indicator.

### Claim 24 (depends on 23)

The method of claim 23, further comprising:
storing a group indicator pointer indicating a group indicator to be associated with data that is to be written to the non-volatile memory; and
in response to detecting the temperature change, updating the group indicator pointer to indicate the second group indicator.

### Claim 25

A method comprising:
at a data storage device that includes a controller coupled to a non-volatile memory, performing:
determining a read voltage offset value based on data structure that maps read voltage offset values to differences between write temperatures and read temperatures; and
determining an adjusted value of a read voltage associated with reading data from the non-volatile memory, the adjusted value determined based on a default value of the read voltage and based on the read voltage offset value.

### Claim 26 (depends on 25)

The method of claim 25, wherein the data structure includes a table and wherein each entry of the table is accessible according to a write temperature range and a read temperature range.

### Claim 27 (depends on 26)

The method of claim 26, wherein the table omits read voltage offset values for entries that correspond to matching write temperature ranges and read temperature ranges.

### Claim 28

A method comprising:
at a data storage device that includes a controller coupled to a non-volatile memory, performing:
reading multiple codewords of data from the non-volatile memory; and
in response to detecting an error rate exceeding a threshold error rate for a threshold number of the codewords, initiating a temperature compensation operation that modifies one or more memory access parameters based on a temperature difference between a first temperature and a second temperature.

### Claim 29 (depends on 28)

The method of claim 28, wherein the first temperature is associated with a first time period, the first time period includes a write operation of multiple codewords to the memory, and the second temperature is associated with a second time period, the second time period includes a read operation of the multiple codewords from the memory.

### Claim 30 (depends on 28)

The method of claim 28, wherein the threshold error rate is less than a threshold correctable error rate of an error correction coding (ECC) engine of the data storage device.

### Claim 31

A method comprising:
at a data storage device that includes a controller coupled to a non-volatile memory, performing
receiving a first indicator of a first temperature from a first temperature sensor of a first die of the non-volatile memory;
receiving a second indicator of a second temperature from a second temperature sensor of a second die of the non-volatile memory; and
determining a temperature range based on an average of the first temperature and the second temperature.

### Claim 32 (depends on 31)

The method of claim 31, wherein the non-volatile memory includes a stack of memory dies, wherein the first die is a top die of the stack and wherein the second die is a central die of the stack.
