IP Library › Granted Patent US 9,086,881
Granted Patent B2
US 9,086,881 · App. 13/538,881 · Granted Jul 21, 2015

Mechanism for facilitating write tracking for following data eye movements across changing thermal conditions in memory systems

Inventors: Tsun Ho Liu (Fremont, CA); Andre Schaefer (Braunschweig, DE); Hoi M. Ng (San Ramon, CA); Guy R. Murray (Folsom, CA); Oleg Mikulchenko (Folsom, CA); Xiaofang Gao (El Dorado Hills, CA)
Assignee: Intel Corporation
G06F1/3275G11C11/40611Y02B60/1225Y02B60/1228
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 9,086,881
App. No.
13/538,881
Granted
Jul 21, 2015
Kind
B2
Abstract

A mechanism is described for facilitating write tracking for following data eye movements across changing thermal conditions in memory systems according to one embodiment of the invention. A method of embodiments of the invention includes monitoring movements of a valid data eye associated with a memory device of a plurality of memory devices of a memory system at a computing system. The monitoring may include initiating write commands during one or more refresh periods associated with the valid data eye. The method may include determining drifting in the movement of the data eye, and correcting the drifting based on adjusting one or more existing phase interpolator values associated with the movements of the data eye.

Claims (49)

1. A method comprising:

monitoring movements of a valid data eye associated with a memory device of a plurality of memory devices of a memory system at a computing system, wherein monitoring includes initiating write commands during one or more refresh periods associated with the valid data eye, wherein the one or more refreshed periods are identified from a plurality of refresh periods, wherein monitoring is performed continuously or for a predefined period of time based upon one or more factors including memory size, system resources, amount of eve-drifting data to be monitored, and number of adjustments, wherein the predefined period of time is selected automatically or by a user;

determining drifting in the movement of the data eye, wherein determining includes searching a phase interpolator (“PI”) value or computing a PI value; and correcting the drifting associated with the movements of the data eye, wherein correcting includes adjusting the searched PI value or the computed PI value if at least one of the searched and computed PI values is greater than a threshold value, wherein the threshold value includes a predefined PI value based on predicted or computed temperature variations,

wherein a first monitoring at an end of a first refresh period continues as a second monitoring at a start of a second refresh period to facilitate continuity of the monitoring of the movements during the one or more refresh periods, wherein the second refresh period is immediately subsequent to the first refresh period, wherein monitoring comprising checking a left edge and a right edge of the valid data eye, where checking begins with the left edge moving onwards the right edge.

2. The method of claim 1 , further comprising restoring, during a refresh period, current parameters associated with the valid data eye if monitoring is expected to continue beyond the refresh period into a next refresh period, wherein the first monitoring remaining incomplete in the first refresh period is restored as the second monitoring in the second refresh period using an old portion of the PI value associated with the first refresh period in the second refresh period, wherein a new portion of the PI value associated with the second refresh period is generated based on the old portion of the PI value associated with the first refresh period, wherein the write commands include at least one of one or more of normal write training commands and one or more of restored write training commands.

3. The method of claim 2 , further comprising initiating additional write commands during the next refresh period to continue monitoring movements of the valid data eye.

4. The method of claim 1 , wherein drifting in the movement is caused by thermal variations in the memory device.

5. The method of claim 1 , wherein adjusting further comprises:

comparing the searched PI value with the computed PI value to determine whether the searched PI value matches the computed PI value; and

applying an adjustment offset value to the searched PI value or the computed PI value to generate an adjusted PI value, if the searched PI value does not match the computed PI value.

6. A memory controller comprising:

a write tracking mechanism having

first logic to monitor movements of a valid data eye associated with a memory device of a plurality of memory devices of a memory system at a computing system, wherein monitoring includes initiating write commands during one or more refresh periods associated with the valid data eye, wherein the one or more refreshed periods are identified from a plurality of refresh periods, wherein monitoring is performed continuously or for a predefined period of time based upon one or more factors including memory size, system resources, amount of eve-drifting data to be monitored, and number of adjustments, wherein the predefined period of time is selected automatically or by a user;

second logic to determine drifting in the movement of the data eye, wherein determining includes searching a phase interpolator (“PI”) value or computing a PI value; and

third logic to correct the drifting associated with the movements of the data eye, wherein correcting includes adjusting the searched PI value or the computed PI value if at least one of the searched and computed PI values is greater than a threshold value, wherein the threshold value includes a predefined PI value based on predicted or computed temperature variations,

wherein a first monitoring at an end of a first refresh period continues as a second monitoring at a start of a second refresh period to facilitate continuity of the monitoring of the movements during the one or more refresh periods, wherein the second refresh period is immediately subsequent to the first refresh period, wherein monitoring comprising checking a left edge and a right edge of the valid data eye, where checking begins with the left edge moving onwards the right edge.

7. The memory controller of claim 6 , wherein the one or more refreshed periods are identified from a plurality of refresh periods, wherein monitoring is performed continuously or for a predefined period of time based upon one or more factors including memory size, system resources, amount of eye-drifting data to be monitored, and number of adjustments, wherein the predefined period of time is selected automatically or by a user, wherein the first logic is further to check a left edge and a right edge of the valid data eye, where checking begins with the left edge moving onwards the right edge.

8. The memory controller of claim 6 , wherein the third logic is further to restore, during a refresh period, current parameters associated with the valid data eye if monitoring is expected to continue beyond the refresh period into a next refresh period, wherein the first monitoring remaining incomplete in the first refresh period is restored as the second monitoring in the second refresh period using an old portion of the PI value associated with the first refresh period in the second refresh period, wherein a new portion of the PI value associated with the second refresh period is generated based on the old portion of the PI value associated with the first refresh period, wherein the write commands include at least one of one or more of normal write training commands and one or more of restored write training commands.

9. The memory controller of claim 8 , wherein the first logic is further to initiate additional write commands during the next refresh period to continue monitoring movements of the valid data eye.

10. The memory controller of claim 6 , wherein drifting in the movement is caused by thermal variations in the memory device.

11. The memory controller of claim 6 , wherein adjusting further comprises:

comparing the searched PI value with the computed PI value to determine whether the searched PI value matches the computed PI value; and

applying an adjustment offset value to the searched PI value or the computed PI value to generate an adjusted PI value, if the searched PI value does not match the computed PI value.

12. A system comprising:

a plurality of memory devices at a computing system; and

a write tracking mechanism to

monitor movements of a valid data eye associated with a memory device of the plurality of memory devices, wherein monitoring includes initiating write commands during one or more refresh periods associated with the valid data eye, wherein the one or more refreshed periods are identified from a plurality of refresh periods, wherein monitoring is performed continuously or for a predefined period of time based upon one or more factors including memory size, system resources, amount of eve-drifting data to be monitored, and number of adjustments, wherein the predefined period of time is selected automatically or by a user,

determine drifting in the movement of the data eye, wherein determining includes searching a phase interpolator (“PI”) value or computing a PI value, and

correct the drifting associated with the movements of the data eye, wherein correcting includes adjusting the searched PI value or the computed PI value if at least one of the searched and computed PI values is greater than a threshold value, wherein the threshold value includes a predefined PI value based on predicted or computed temperature variations,

wherein a first monitoring at an end of a first refresh period continues as a second monitoring at a start of a second refresh period to facilitate continuity of the monitoring of the movements during the one or more refresh periods, wherein the second refresh period is immediately subsequent to the first refresh period, wherein monitoring comprising checking a left edge and a right edge of the valid data eye, where checking begins with the left edge moving onwards the right edge.

13. The system of claim 12 , wherein the one or more refreshed periods are identified from a plurality of refresh periods, wherein monitoring is performed continuously or for a predefined period of time based upon one or more factors including memory size, system resources, amount of eye-drifting data to be monitored, and number of adjustments, wherein the predefined period of time is selected automatically or by a user, wherein the write tracking mechanism is further to check a left edge and a right edge of the valid data eye, where checking begins with the left edge moving onwards the right edge.

14. The system of claim 12 , wherein the write tracking mechanism is further to restore, during a refresh period, current parameters associated with the valid data eye if monitoring is expected to continue beyond the refresh period into a next refresh period, wherein the first monitoring remaining incomplete in the first refresh period is restored as the second monitoring in the second refresh period using an old portion of the PI value associated with the first refresh period in the second refresh period, wherein a new portion of the PI value associated with the second refresh period is generated based on the old portion of the PI value associated with the first refresh period, wherein the write commands include at least one of one or more of normal write training commands and one or more of restored write training commands.

15. The system of claim 14 , wherein the write tracking mechanism is further to initiate additional write commands during the next refresh period to continue monitoring movements of the valid data eye.

16. The system of claim 12 , wherein drifting in the movement is caused by thermal variations in the memory device.

17. The system of claim 12 , wherein the memory device comprises a graphic double data rate (GDDR) memory device.

18. The system of claim 12 , wherein adjusting further comprises:

comparing the searched PI value with the computed PI value to determine whether the searched PI value matches the computed PI value; and

applying an adjustment offset value to the searched PI value or the computed PI value to generate an adjusted PI value, if the searched PI value does not match the computed PI value.

19. At least one non-transitory machine-readable medium comprising a plurality of instructions that in response to being executed on a computing device, causes the computing device to perform the following operations:

monitoring movements of a valid data eye associated with a memory device of a plurality of memory devices of a memory system at a computing system, wherein monitoring includes initiating write commands during one or more refresh periods associated with the valid data eye, wherein the one or more refreshed periods are identified from a plurality of refresh periods, wherein monitoring is performed continuously or for a predefined period of time based upon one or more factors including memory size, system resources, amount of eye-drifting data to be monitored, and number of adjustments, wherein the predefined period of time is selected automatically or by a user;

determining drifting in the movement of the data eye, wherein determining includes searching a phase interpolator (“PI”) value or computing a PI value; and correcting the drifting associated with the movements of the data eye, wherein correcting includes adjusting the searched PI value or the computed PI value if at least one of the searched and computed PI values is greater than a threshold value, wherein the threshold value includes a predefined PI value based on predicted or computed temperature variations,

wherein a first monitoring at an end of a first refresh period continues as a second monitoring at a start of a second refresh period to facilitate continuity of the monitoring of the movements during the one or more refresh periods, wherein the second refresh period is immediately subsequent to the first refresh period, wherein monitoring comprising checking a left edge and a right edge of the valid data eye, where checking begins with the left edge moving onwards the right edge.

20. The non-transitory machine-readable medium of claim 19 , wherein the one or more refreshed periods are identified from a plurality of refresh periods, wherein monitoring is performed continuously or for a predefined period of time based upon one or more factors including memory size, system resources, amount of eye-drifting data to be monitored, and number of adjustments, wherein the predefined period of time is selected automatically or by a user, wherein the instructions when executed, further cause the computing device to perform the following operation: checking a left edge and a right edge of the valid data eye, where checking begins with the left edge moving onwards the right edge.

21. The non-transitory machine-readable medium of claim 19 , wherein the instructions when executed, further cause the computing device to perform the following operation: restoring, during a refresh period, current parameters associated with the valid data eye if monitoring is expected to continue beyond the refresh period into a next refresh period, wherein the first monitoring remaining incomplete in the first refresh period is restored as the second monitoring in the second refresh period using an old portion of the PI value associated with the first refresh period in the second refresh period, wherein a new portion of the PI value associated with the second refresh period is generated based on the old portion of the PI value associated with the first refresh period, wherein the write commands include at least one of one or more of normal write training commands and one or more of restored write training commands.

22. The non-transitory machine-readable medium of claim 21 , wherein the instructions when executed, further cause the computing device to perform the following operation: initiating additional write commands during the next refresh period to continue monitoring movements of the valid data eye.

23. The non-transitory machine-readable medium of claim 19 , wherein drifting in the movement is caused by thermal variations in the memory device.

24. The non-transitory machine-readable medium of claim 19 , wherein adjusting further comprises:

comparing the searched PI value with the computed PI value to determine whether the searched PI value matches the computed PI value; and

applying an adjustment offset value to the searched PI value or the computed PI value to generate an adjusted PI value, if the searched PI value does not match the computed PI value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2012
From: LIU, TSUN HO; SCHAEFER, ANDRE; NG, HOI M.; MURRAY, GUY R.; MIKULCHENKO, OLEG; GAO, XIAOFANG
To: INTEL CORPORATION
Reel/Frame 028473/0239 →
Continuity (1)
Related Publication 20140006702A1 · Jan 2, 2014