IP Library › Granted Patent US 9,778,982
Granted Patent B2
US 9,778,982 · App. 15/034,651 · Granted Oct 3, 2017

Memory erasure information in cache lines

Inventors: Lidia Warnes (Roseville, CA); Erin A Handgen (Fort Collins, CO); Andrew C. Walton (Rocklin, CA)
Assignee: Hewlett Packard Enterprise Development LP
G06F11/106G06F11/1016G06F11/1666G06F12/0811G06F12/0833G06F12/0893G06F12/128G06F11/20G06F12/0875G06F2211/1088G06F2212/1032G06F2212/466G06F2212/60G06F2212/621G06F2212/69
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,778,982
App. No.
15/034,651
Granted
Oct 3, 2017
Kind
B2
Abstract

Example implementations relate to storing memory erasure information in memory devices on a memory module. In example implementations, a memory location associated with an error in a first cache line may be identified. The first cache line may include data read from the memory location, and the memory location may be in a first memory device of a plurality of memory devices on a memory module. A device number corresponding to the first memory device may be written to one of the plurality of memory devices. When the memory location is read for a second cache line, the device number corresponding to the first memory device may be retrieved. The second cache line may include the retrieved device number and data read from the memory location.

Claims (37)

1. A method for storing memory erasure information, the method comprising:

identifying a memory location of a cache associated with an error in a cache line, wherein the memory location is in a first memory device of a plurality of memory devices on a memory module;

writing, to one of the plurality of memory devices, a device number corresponding to the first memory device, wherein the device number indicates the memory location associated with the error; and

retrieving from the one of the memory devices, the device number corresponding to the first memory device, wherein the cache line comprises data read from the memory location and a position of data in the cache line corresponds to the device number of the first memory device;

determining, based on the retrieved device number, a position, in the cache line, of the data read from the identified memory location; and

correcting the data in the determined position.

2. The method of claim 1 , further comprising writing, to another one of the plurality of memory devices, a copy of the device number corresponding to the first memory device.

3. The method of claim 1 , further comprising embedding tag encoding bits in the device number.

4. The method of claim 1 , further comprising:

scrubbing the identified memory location in the first memory device; and

reading data from the scrubbed memory location, wherein the device number corresponding to the first memory device is written to the one of the plurality of memory devices if the data read from the scrubbed memory location is erroneous.

5. The method of claim 1 , further comprising:

designating a region around the memory location as defective; and

retrieving, when an address in the designated region is read, the device number corresponding to the first memory device.

6. A non-transitory machine-readable storage medium encoded with instructions executable by a processor of a memory controller for storing memory erasure information, the instructions to cause the processor to perform the steps of:

identifying a memory location associated with an error in a cache line, wherein the cache line comprises data read from the memory location, and wherein the memory location is in a first memory device of a plurality of memory devices on a memory module;

storing, in one of the plurality of memory devices, a device number corresponding to the first memory device, wherein the device number indicates the memory location associated with the error;

retrieving, from the one of the memory devices, the device number corresponding to the first memory device, wherein the cache line comprises data read from the memory location and a position of data in the cache line corresponds to the device number of the first memory device; and

determining, based on the device number, a position of an error in the cache line.

7. The non-transitory machine-readable storage medium of claim 6 , further comprising instructions to cause the processor to perform the steps of storing, in another one of the plurality of memory devices, the device number corresponding to the first memory device.

8. The non-transitory machine-readable storage medium of claim 7 , further comprising instructions to cause the processor to perform the steps of embedding tag encoding bits in the device number.

9. The non-transitory machine-readable storage medium of claim 8 , further comprising instructions to cause the processor to perform the steps of:

designating a region around the memory location as defective; and

retrieving, when an address in the designated region is read, the device number corresponding to the first memory device.

10. A non-transitory machine-readable storage medium encoded with instructions executable by a processor of a memory controller for correcting cache line errors, the instructions to cause the processor to perform the steps of:

detecting an error in a cache line, wherein the detected error is associated with a first memory device of a plurality of memory devices of a memory module;

reading, from the cache line, a first device number, wherein the position of data in the cache line corresponds to the first device number of the first memory device;

determining, based on the first device number, a position of the detected error in the cache line; and

correcting the detected error.

11. The non-transitory machine-readable storage medium of claim 10 , further comprising instructions to cause the processor to perform the steps of identifying, in the cache line, a second device number, wherein the second device number is read from another one of the plurality of memory devices.

12. The non-transitory machine-readable storage medium of claim 11 , further comprising instructions to cause the processor to perform the steps of:

comparing the first device number and the second device number;

determining if the first device number and the second device number do not match, and if the detected error is not successfully corrected when the first device number is used to determine the position of the detected error, the position of the detected error in the cache line, based on the second device number.

13. The non-transitory machine-readable storage medium of claim 11 , wherein tag encoding bits are embedded in the first device number.

14. The non-transitory machine-readable storage medium of claim 12 , further comprising instructions to cause the processor to perform the steps of:

keeping track of how many errors are associated with a region of the first memory device; and

retrieving, when an address in the region is read, the device number corresponding to the first memory device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2016
From: WARNES, LIDIA; HANDGEN, ERIN A.; WALTON, ANDREW C.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, LP
Reel/Frame 039071/0064 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2016
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, LP
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 039252/0001 →
Continuity (1)
Related Publication 20160274968A1 · Sep 22, 2016