IP Library › Granted Patent US 10,521,294
Granted Patent B2
US 10,521,294 · App. 15/563,094 · Granted Dec 31, 2019

Patrol scrub periods based on power status

Inventor: Reza M Bacchus (Houston, TX)
Assignee: Hewlett-Packard Development Company, L.P.
G06F11/106G06F12/02G11C29/52
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,521,294
App. No.
15/563,094
Granted
Dec 31, 2019
Kind
B2
Abstract

In one implementation, a memory module with on-die error correction code (ECC) with scrub operation capabilities and a programmable patrol scrub period is coupled to a memory controller that causes error correction operations to perform based on a power status of an energy storage device.

Claims (55)

1. A system comprising:

an energy storage device to provide power to the system;

a memory module with on-die error correction code (ECC) that, when executed, causes the memory module to perform error correction operations comprising a scrub operation; and

a memory controller to:

retrieve a level of charge of the energy storage device;

set a programmable patrol scrub period inversely proportional to the level of charge of the energy storage device; and

cause the error correction operations to perform during a scrub routine with the programmable patrol scrub period, the memory controller lacks an error tracking feature and is to operate independent of a correction performable by the on-die ECC.

2. The system of claim 1 , wherein:

the memory controller is unaware of which memory locations of the memory module are corrected by the on-die ECC on the memory module.

3. The system of claim 1 , wherein the energy storage device is a battery, a capacitor, or a combination thereof.

4. The system of claim 1 , wherein the memory controller includes: a computer-readable storage medium comprising a set of instructions executable by a processor resource to retrieve the level of charge by a control program interface operation.

5. The system of claim 4 , wherein the set of executable instructions is further to:

determine whether the level of charge indicates the energy storage device is charging or discharging;

set the programmable patrol scrub period to a first duration when the level of charge indicates the energy storage device is charging; and

set the programmable patrol scrub period to a second duration when the level of charge indicates the energy storage device is discharging, the second duration to be longer than the first duration.

6. A mobile compute device comprising:

a battery;

a random access memory (RAM) module comprising a plurality of integrated circuits, each of the plurality of integrated circuits containing error correction code (ECC) stored thereon;

a first computer-readable storage medium with a first set of instructions stored thereon that when executed by a first processor resource causes the first processor resource to:

retrieve a level of charge of the battery;

set a programmable patrol scrub period inversely proportional to the level of charge of the battery;

maintain, based on the set patrol scrub period in which to scrub a plurality of addresses of the RAM module; and

a correction-transparent memory controller comprising a second computer readable storage medium with a second set of instructions stored thereon that when executed by a second processor resource causes the memory controller to:

track the memory locations that are scrubbed during the patrol scrub period; and

cause performance of scrub operations to memory locations of the RAM module in accordance with the schedule based on the patrol scrub period, wherein the scrub operations comprise a read operation that causes the RAM module to provide a correct value based on error correction operations defined by the ECC.

7. The device of claim 6 , comprising:

a power management unit (PMU) that maintains attributes of the battery, wherein the first set of instructions includes a

power status retrieval operation that provides the power status based on the attributes identifiable by the PMU.

8. The device of claim 6 , wherein the first set of instructions is executable by the processor resource to:

determine the patrol scrub period by dividing a maximum scrub time by a charge factor based on a remaining charge percentage.

9. The device of claim 6 , wherein the first set of instructions is executable by the first processor resource to:

maintain a time difference between each scrub operation in response to changes in the patrol scrub period.

10. A method for patrol scrubbing a memory module with on-die error correction code (ECC) of a battery-based computer system including a memory controller that does not support memory modules with an extra ECC memory chip, the method comprising:

retrieving, via a unified extensible firmware interface (UEFI), a level of charge of a battery of the battery-based computer system;

setting, in response to a determination that the battery is discharging, by the UEFI via the memory controller, a patrol scrub period based on the level of charge of the battery of the battery-based computer system;

identifying a memory location of the memory module that is to be scrubbed during the patrol scrub period;

causing, by the memory module, a scrub operation to perform at the memory location based on a schedule derived from the patrol scrub period that is inversely proportional to the level of charge of the battery of the battery-based computer system, the scrub operation comprising a read operation at the memory location that provides data processed using the on-die ECC;

causing, by a plurality of memory chips on the memory module, the on-die ECC to execute during the scrub operation at the memory location;

causing memory locations to be tracked and scrubbed during a time frame based on the patrol scrub period; and

reading all locations of the memory module within the patrol scrub period.

11. The method of claim 10 , comprising:

determining the patrol scrub period based on:

an identification as to whether the battery-based system is connected to an external power source; and

a value of a charge of the battery-based system, wherein the level of charge of the battery comprises a power connection attribute that represents the identification and a

battery level attribute that represents the value.

12. The method of claim 10 , comprising:

identifying the charge level of the battery-based system;

identifying a charge category associated with a charge level range that includes the charge level; and

selecting the patrol scrub period associated with the charge category.

13. The method of claim 10 , comprising:

setting the patrol scrub period using a calculation program code and a settings program code.

14. The method of claim 13 , comprising:

determining the patrol scrub period based on the calculation program code that includes dividing a threshold scrub time by a charge factor.

15. The method of claim 10 comprising:

identifying a scrub schedule to scrub addressable locations of a memory module based on a time period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2017
From: BACCHUS, REZA M
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 043863/0132 →
Continuity (1)
Related Publication 20180173588A1 · Jun 21, 2018
Cited By (1)
US 12,505,011