IP Library Granted Patent US 10,310,989
Granted Patent B2
US 10,310,989 · App. 15/721,379 · Granted Jun 4, 2019

Time tracking with patrol scrub

Inventors: Philip Hillier (Rancho Santa Margarita, CA); Jeffrey W. Ryden (Tustin, CA); Muthukumar P. Swaminathan (Folsom, CA); Zion S. Kwok (Vancouver, CA); Kunal A. Khochare (Folsom, CA); Richard P. Mangold (Forest Grove, OR); Prashant S. Damle (Portland, OR)
Assignee: Intel Corporation
G06F12/126G06F12/0246G11C7/22G06F2212/7209
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,310,989
App. No.
15/721,379
Granted
Jun 4, 2019
Kind
B2
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 (39)

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.

2. 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.

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

4. 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.

5. 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.

6. 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.

7. 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.

8. 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 2 n times a timer granularity.

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.

10. 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.

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

12. 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.

13. 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.

14. 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.

15. 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.

16. 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 2 n times a timer granularity.

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.

18. 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.

19. 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.

20. 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.

21. 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.

22. 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.

23. 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.

24. 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 2 n times a timer granularity.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072792/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2017
From: HILLIER, PHILIP; RYDEN, JEFFREY W.; SWAMINATHAN, MUTHUKUMAR P.; KWOK, ZION S.; KHOCHARE, KUNAL A.; MANGOLD, RICHARD P.; DAMLE, PRASHANT S.
To: INTEL CORPORATION
Reel/Frame 044280/0429 →
Continuity (1)
Related Publication 20190102320A1 · Apr 4, 2019