IP Library › Granted Patent US 10,303,622
Granted Patent B2
US 10,303,622 · App. 15/500,460 · Granted May 28, 2019

Data write to subset of memory devices

Inventors: Rajeev Balasubramonian (Palo Alto, CA); Naveen Muralimanohar (Santa Clara, CA); Gregg B. Lesartre (Fort Collins, CO); Paolo Faraboschi (Palo Alto, CA); Jishen Zhao (San Jose, CA)
Assignee: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
G06F12/1408G06F3/064G06F3/0619G06F3/0623G06F3/0673G06F11/1012G06F11/1044H03M7/30H03M7/6047G06F2212/1052G06F2212/402H03M13/09
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,303,622
App. No.
15/500,460
Granted
May 28, 2019
Kind
B2
Abstract

Techniques for writing data to a subset of memory devices are described. In one aspect, a block of data to be written to a line in a rank of memory may be received. The rank of memory may comprise a set of memory devices. The block of data may be compressed. The compressed block of data may be written to a subset of the memory devices that comprise the line. The unwritten portions of the line may not be used to store valid data.

Claims (50)

1. A method comprising:

receiving a block of data to be written to a line in a rank of memory, the rank comprising a set of memory devices;

compressing the block of data;

generating a valid Error Correction Code (ECC) for the compressed block of data;

appending the valid ECC to the compressed block of data;

generating an invalid ECC;

appending the invalid ECC to the block; and

writing the compressed block of data to a subset of the memory devices that comprise the line;

wherein the unwritten portions of the line are not used to store valid data.

2. The method of claim 1 further comprising:

setting portions of the line that are not used to store valid data to a high resistance state using a background scrubber.

3. The method of claim 1 further comprising:

reading the line in the rank of memory, wherein reading the line includes reading all memory devices that comprise the rank; and

decompressing the line.

4. The method of claim 1 further comprising:

dividing the compressed block of data into an integer number of encryption block units; and

encrypting each encryption block unit.

5. The method of claim 4 further comprising:

appending metadata indicating the result of the compression to the block of data.

6. The method of claim 5 wherein the metadata includes the valid error correction code (ECC), wherein the valid ECC is calculated based on the integer number of encryption block units.

7. The method of claim 6 further comprising:

attempting to validate the line using the valid ECC for all possible integer numbers of encryption block units;

determining the integer number of encryption block units based on a successful validation;

decrypting the determined integer number of encryption block units; and

decompressing the line based on the determined integer number of encryption block units.

8. The method of claim 1 further comprising:

reading the line from the set of memory devices;

attempting to validate the line using the invalid ECC, wherein a validation fail indicates the block of data has been compressed;

parsing the block of data to locate the valid ECC; and

retrieving metadata indicating the result of the compression from a block header.

9. A device comprising:

a data block compression circuit to compress a block of data and append a compression header to the compressed block of data;

an error correction code (ECC) generation circuit to generate a valid ECC, and an invalid ECC, for the block of data;

a memory device write circuit to write the compressed data block, the generated ECC, and the invalid ECC to a line in a memory rank, wherein the rank comprises a set of memory devices, and the memory device write circuit writes the line to a subset of the memory devices, wherein the portions of the line on unwritten memory devices are not used to store valid data.

10. The device of claim 9 further comprising:

a plurality of encryption circuits, each encryption circuit to encrypt a fixed number of bytes; and

an encryption selection circuit to determine the number of encryption circuits needed to encrypt the compressed block of data, further to send the compressed block of data to the determined number of encryption circuits.

11. The device of claim 10 further comprising:

a plurality of decryption circuits, each decryption circuit to decrypt a fixed number of bytes; and

a decryption selection circuit to determine the number of decryption circuits needed to decrypt the compressed block of data.

12. The device of claim 9 further comprising:

a scrubber circuit to set the portions of the line on unwritten memory devices not used to store valid data to a high resistance state.

13. A system comprising:

a rank of memory, the rank of memory comprising a plurality of memory devices; and

a memory controller to compress a line of data; and

an error correction code (ECC) generation circuit to generate a valid ECC, and an invalid ECC, for the line of data;

the memory controller to further write the compressed line of data, the generated ECC, and the invalid ECC to a subset of the memory devices comprising the rank, wherein unwritten memory devices for the line are not used to store valid data.

14. The system of claim 13 further comprising:

an encryption controller to encrypt/decrypt the compressed line; and

a background scrubber to set unused portions of the line to a high resistance state.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: BALASUBRAMONIAN, RAJEEV; MURALIMANOHAR, NAVEEN; LESARTRE, GREGG B.; FARABOSCHI, PAOLO; ZHAO, JISHEN
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 041460/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 041874/0001 →
Continuity (1)
Related Publication 20170220488A1 · Aug 3, 2017
Cited By (1)
US 12,572,474