# US 10,310,989 B2 · Time tracking with patrol scrub

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

- Number: US 10,310,989 B2
- Document ID: US10310989B2
- Status: Granted
- Kind: B2
- Application number: 15/721,379
- Filed: 2017-09-29
- Published: 2019-04-04
- Granted: 2019-06-04
- Earliest claimed: 2017-09-29
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Philip Hillier; Jeffrey W. Ryden; Muthukumar P. Swaminathan; Zion S. Kwok; Kunal A. Khochare; Richard P. Mangold; Prashant S. Damle
- Web page: https://patentgrep.com/patent/US10310989B2

## CPC

- G06F 12/126: with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G11C 7/22: Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- 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/3495: {Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically}
- G06F 2212/1032: Reliability improvement, data loss prevention, degraded operation etc
- G06F 2212/7204: Capacity control, e.g. partitioning, end-of-life degradation
- G06F 2212/7209: Validity control, e.g. using flags, time stamps or sequence numbers
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

One embodiment provides a memory controller. The memory controller includes a memory controller memory; a timestamp circuitry and a demarcation voltage (VDM) selection circuitry. The timestamp circuitry is to capture a current timer index from a timer circuitry in response to an initiation of a periodic patrol scrub and to compare the current timer index to a stored timestamp. The VDM selection circuitry is to update a state of a sub-block of a memory array, if the state is less than a threshold and a difference between the current timer index and the stored timestamp is nonzero. The timestamp circuitry is further to store the current timer index as a new timestamp.

## Claims

### Claim 1

A memory controller comprising:
a memory controller memory;
a timestamp circuitry to capture a current timer index from a timer circuitry in response to an initiation of a periodic patrol scrub and to compare the current timer index to a stored timestamp; and
a demarcation voltage (VDM) selection circuitry to update a state of a sub-block of a memory array, if the state is less than a threshold and a difference between the current timer index and the stored timestamp is nonzero,
the timestamp circuitry further to store the current timer index as a new timestamp.

### Claim 2 (depends on 1)

The memory controller of claim 1, wherein the updating comprises incrementing the state if the stored timestamp equals a timer index maximum value and the current timer index equals a timer index minimum value or the current timer index is equal to one plus the stored timestamp, or setting the state to the threshold, if the stored timestamp is not equal to the timer index maximum value and the current timer index is not equal to one plus the stored timestamp.

### Claim 3 (depends on 1)

The memory controller of claim 1, wherein the VDM selection circuitry is to set the state to zero in response to a write request.

### Claim 4 (depends on 1)

The memory controller of claim 1, wherein the VDM selection circuitry is to select a demarcation voltage based, at least in part, on the state, in response to a read request.

### Claim 5 (depends on 1)

The memory controller of claim 1, wherein the VDM selection circuitry is to determine an elapsed time in response to a read request, if the state is less than the threshold, as: elapsed time=current timer index−timestamp+state.

### Claim 6 (depends on 1)

The memory controller of claim 1, further comprising a patrol scrub circuitry to perform a periodic patrol scrub operation on the memory controller memory, the periodic patrol scrub operation initiated at a patrol scrub interval boundary.

### Claim 7 (depends on 1)

The memory controller of claim 1, wherein the VDM selection circuitry is to update a respective state of each of a plurality of sub-blocks included in a memory array, if each respective state is not equal to the threshold and the difference between the current timer index and the stored timestamp is nonzero, a combination of a plurality of states corresponding to a composite state.

### Claim 8 (depends on 1)

The memory controller of claim 1, wherein the timer circuitry is an n-bit timer and a time duration of the periodic patrol scrub is less than 2n times a timer granularity.

### Claim 9

A method comprising:
capturing, by a timestamp circuitry, a current timer index from a timer circuitry in response to an initiation of a periodic patrol scrub;
comparing, by the timestamp circuitry, the current timer index to a stored timestamp;
updating, by a demarcation voltage (VDM) selection circuitry, a state of a sub-block of a memory array, if the state is less than a threshold and a difference between the current timer index and the stored timestamp is nonzero; and
storing, by the timestamp circuitry, the current timer index as a new timestamp.

### Claim 10 (depends on 9)

The method of claim 9, wherein the updating comprises incrementing the state if the stored timestamp equals a timer index maximum value and the current timer index equals a timer index minimum value or the current timer index is equal to one plus the stored timestamp, or setting the state to the threshold, if the stored timestamp is not equal to the timer index maximum value and the current timer index is not equal to one plus the stored timestamp.

### Claim 11 (depends on 9)

The method of claim 9, further comprising setting, by the VDM selection circuitry, the state to zero in response to a write request.

### Claim 12 (depends on 9)

The method of claim 9, further comprising selecting, by the VDM selection circuitry, a demarcation voltage based, at least in part, on the state, in response to a read request.

### Claim 13 (depends on 9)

The method of claim 9, further comprising determining, by the VDM selection circuitry, an elapsed time in response to a read request, if the state is less than the threshold, as: elapsed time=current timer index−timestamp+state.

### Claim 14 (depends on 9)

The method of claim 9, further comprising performing, by a patrol scrub circuitry, a periodic patrol scrub operation on a memory controller memory, the periodic patrol scrub operation initiated at a patrol scrub interval boundary.

### Claim 15 (depends on 9)

The method of claim 9, further comprising updating, by the VDM selection circuitry, a respective state of each of a plurality of sub-blocks included in a memory array, if each respective state is not equal to the threshold and the difference between the current timer index and the stored timestamp is nonzero, a combination of a plurality of states corresponding to a composite state.

### Claim 16 (depends on 9)

The method of claim 9, wherein the timer circuitry is an n-bit timer and a time duration of the periodic patrol scrub is less than 2n times a timer granularity.

### Claim 17

A time tracking system comprising:
a processor circuitry;
a memory array; and
a memory controller comprising:
a memory controller memory,
a timestamp circuitry to capture a current timer index from a timer circuitry in response to an initiation of a periodic patrol scrub and to compare the current timer index to a stored timestamp; and
a demarcation voltage (VDM) selection circuitry to update a state of a sub-block of a memory array, if the state is less than a threshold and a difference between the current timer index and the stored timestamp is nonzero,
the timestamp circuitry further to store the current timer index as a new timestamp.

### Claim 18 (depends on 17)

The time tracking system of claim 17, wherein the updating comprises incrementing the state if the stored timestamp equals a timer index maximum value and the current timer index equals a timer index minimum value or the current timer index is equal to one plus the stored timestamp, or setting the state to the threshold, if the stored timestamp is not equal to the timer index maximum value and the current timer index is not equal to one plus the stored timestamp.

### Claim 19 (depends on 17)

The time tracking system of claim 17, wherein the VDM selection circuitry is to set the state to zero in response to a write request.

### Claim 20 (depends on 17)

The time tracking system of claim 17, wherein the VDM selection circuitry is to select a demarcation voltage based, at least in part, on the state, in response to a read request.

### Claim 21 (depends on 17)

The time tracking system of claim 17, wherein the VDM selection circuitry is to determine an elapsed time in response to a read request, if the state is less than the threshold, as: elapsed time=current timer index−timestamp+state.

### Claim 22 (depends on 17)

The time tracking system of claim 17, further comprising a patrol scrub circuitry to perform a periodic patrol scrub operation on the memory controller memory, the periodic patrol scrub operation initiated at a patrol scrub interval boundary.

### Claim 23 (depends on 17)

The time tracking system of claim 17, wherein the VDM selection circuitry is to update a respective state of each of a plurality of sub-blocks included in the memory array, if each respective state is not equal to the threshold and the difference between the current timer index and the stored timestamp is nonzero, a combination of a plurality of states corresponding to a composite state.

### Claim 24 (depends on 17)

The time tracking system of claim 17, wherein the timer circuitry is an n-bit timer and a time duration of the periodic patrol scrub is less than 2n times a timer granularity.
