IP Library Granted Patent US 10,387,305
Granted Patent B2
US 10,387,305 · App. 15/390,359 · Granted Aug 20, 2019

Techniques for compression memory coloring

Inventors: David M. Durham (Beaverton, OR); Sergej Deutsch (Hillsboro, OR); Saeedeh Komijani (Mountain View, CA); Alpa T. Narendra Trivedi (Hillsboro, OR); Siddhartha Chhabra (Hillsboro, OR)
Assignee: INTEL CORPORATION
G06F12/08G06F9/30047G06F21/79
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,387,305
App. No.
15/390,359
Granted
Aug 20, 2019
Kind
B2
Abstract

Techniques and computing devices for compression memory coloring are described. In one embodiment, for example, an apparatus may include at least one memory, at least on processor, and logic for compression memory coloring, at least a portion of the logic comprised in hardware coupled to the at least one memory and the at least one processor, the logic to determine whether data to be written to memory is compressible, generate a compressed data element responsive to determining data is compressible, the data element comprising a compression indicator, a color, and compressed data, and write the compressed data element to memory. Other embodiments are described and claimed.

Claims (52)

1. An apparatus to provide compression memory coloring, comprising:

at least one memory;

at least one processor; and

logic to perform compression memory coloring, at least a portion of the logic comprised in hardware, the logic to:

determine whether data to be written to a memory location in memory is compressible,

generate a non-compressible data element responsive to determining a data conflict,

generate a compressed data element responsive to determining data is compressible, the compressed data element comprising a compression indicator, a color, and compressed data, wherein the color corresponds to an association of the memory location with one or more processes, and

write the compressed data element to the memory location in memory.

2. The apparatus of claim 1 , the compression indicator to indicate whether the compressed data element comprises compressed data.

3. The apparatus of claim 1 , the color comprising at least a portion of a memory address.

4. The apparatus of claim 1 , the compressed data element comprising compression metadata.

5. The apparatus of claim 1 , comprising a compression engine, the compression engine comprising the logic for compression memory coloring.

6. The apparatus of claim 1 , the logic to determine whether there is a data conflict with the compression indicator.

7. The apparatus of claim 1 , the memory comprising a conflict table for storing conflict information for disambiguating non-compressible conflicting data.

8. The apparatus of claim 1 , comprising reading logic to read a data element generated via compression memory coloring, at least a portion of the logic comprised in hardware, the reading logic to:

determine whether the data element comprises the compression indicator,

determine a color value of compressed data element,

decompress the compressed data to generate decompressed data,

determine whether the color value matches color in an address associated with the data element, and

read the decompressed data.

9. The apparatus of claim 8 , the reading logic to read the decompressed data to at least one cache of the processor.

10. The apparatus of claim 8 , the reading logic to determine whether the data element comprises a conflict indicator responsive to determining that the data element does not comprise the compression indicator.

11. A method to perform compression memory coloring, the method comprising:

determining whether data to be written to a memory location in memory is compressible;

generating a non-compressible data element responsive to determining a data conflict;

generating a compressed data element responsive to determining data is compressible, the compressed data element comprising a compression indicator, a color, and compressed data, wherein the color corresponds to an association of the memory location with one or more processes; and

writing the compressed data element to the memory location in memory.

12. The method of claim 11 , the compression indicator to indicate whether the compressed data element comprises compressed data.

13. The method of claim 11 , the color comprising at least a portion of a memory address.

14. The method of claim 11 , comprising determining whether there is a data conflict with the compression indicator.

15. The method of claim 11 , comprising storing conflict information for disambiguating non-compressible conflicting data in a conflict table.

16. The method of claim 11 , comprising reading a data element generated via compression memory coloring, by:

determining whether the data element comprises the compression indicator,

determining a color value of compressed data element,

decompressing the compressed data to generate decompressed data,

determining whether the color value matches color in an address associated with the data element, and

reading the decompressed data.

17. A non-transitory computer-readable storage medium that stores instructions for execution by processing circuitry of a computing device to perform compression memory coloring, the instructions to cause the computing device to:

determine whether data to be written to a memory location in memory is compressible;

generate a non-compressible data element responsive to determining a data conflict;

generate a compressed data element responsive to determining data is compressible, the compressed data element comprising a compression indicator, a color, and compressed data, wherein the color corresponds to an association of the memory location with one or more processes; and

write the compressed data element to the memory location in memory.

18. The non-transitory computer-readable storage medium of claim 17 , the compression indicator to indicate whether the compressed data element comprises compressed data.

19. The non-transitory computer-readable storage medium of claim 17 , the color comprising at least a portion of a memory address.

20. The non-transitory computer-readable storage medium of claim 17 , the instructions to cause the computing device to determine whether there is a data conflict with the compression indicator.

21. The non-transitory computer-readable storage medium of claim 17 , the instructions to cause the computing device to store conflict information for disambiguating non-compressible conflicting data in a conflict table.

22. The non-transitory computer-readable storage medium of claim 17 , the instructions to cause the computing device to read a data element generated via compression memory coloring, by:

determining whether the data element comprises the compression indicator,

determining a color value of compressed data element,

decompressing the compressed data to generate decompressed data,

determining whether the color value matches color in an address associated with the data element, and

reading the decompressed data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2017
From: DURHAM, DAVID M.; DEUTSCH, SERGEJ; KOMIJANI, SAEEDEH; NARENDRA TRIVEDI, ALPA T.; CHHABRA, SIDDHARTHA
To: INTEL CORPORATION
Reel/Frame 041748/0714 →
Continuity (1)
Related Publication 20180181337A1 · Jun 28, 2018
Cited By (4)
US 12,282,567 US 12,306,998 US 12,321,467 US 12,346,463