Zero value memory compression

US12066944B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12066944-B2
Application numberUS-201916723780-A
CountryUS
Kind codeB2
Filing dateDec 20, 2019
Priority dateDec 20, 2019
Publication dateAug 20, 2024
Grant dateAug 20, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A coherency management device receives requests to read data from or write data to an address in a main memory. On a write, if the data includes zero data, an entry corresponding to the memory address is created in a cache directory if it does not already exist, is set to an invalid state, and indicates that the data includes zero data. The zero data is not written to main memory or a cache. On a read, the cache directory is checked for an entry corresponding to the memory address. If the entry exists in the cache directory, is invalid, and includes an indication that data corresponding to the memory address includes zero data, the coherency management device returns zero data in response to the request without fetching the data from main memory or a cache.

First claim

Opening claim text (preview).

What is claimed is: 1. A coherency management device, comprising: circuitry configured to receive a request for a non-temporal read of data stored at an address in a main memory; and circuitry configured to, responsive to the request for a non-temporal read, and to a cache directory including a spare, unused, or invalid directory entry: create a cache directory entry for the address using the spare, unused, or invalid directory entry, set a state of the cache directory entry to an invalid state, wherein the invalid state indicates that no cached copies of data corresponding to the address are valid, and set, in the cache directory entry, an indication that data corresponding to the address comprises zero data. 2. The coherency management device of claim 1 , wherein the indication comprises a bit in the cache directory entry, a spare state in a state field of the cache directory entry, a bit in a state field of the cache directory entry, and/or a bit in a sharing vector field of the cache directory entry. 3. The coherency management device of claim 1 , wherein the coherency management device is configured to return the zero data in response to the request without reading the main memory if the cache directory entry is invalid and includes the indication. 4. The coherency management device of claim 1 , wherein the coherency management device comprises a coherent slave device, probe filter device, and/or snoop filter device. 5. The coherency management device of claim 1 , wherein the coherency management device receives the request from a coherent master device. 6. The coherency management device of claim 1 , wherein the cache directory entry for the address includes sharing vector that indicates which caches contain the cached copies of data corresponding to the address. 7. A method for managing cache coherence in a computer system, the method comprising: receiving, by a coherency management device, a request for a non-temporal read of data stored at an address in a main memory; and in response to the request for a non-temporal read, and to a cache directory including a spare, unused, or invalid directory entry: creating a cache directory entry for the address using the spare, unused, or invalid directory entry, setting a state of the cache directory entry to an invalid state, wherein the invalid state indicates that no cached copies of data corresponding to the address are valid, and setting, in the cache directory entry, an indication that data corresponding to the address comprises zero data. 8. The method of claim 7 , wherein the indication comprises a bit in the cache directory entry, a spare state in a state field of the cache directory entry, a bit in a state field of the cache directory entry, and/or a bit in a sharing vector field of the cache directory entry. 9. The method of claim 7 , wherein the coherency management device returns the zero data in response to the request without reading the main memory if the cache directory entry is invalid and includes the indication. 10. The method of claim 7 , wherein the coherency management device receives the request from a coherent master device. 11. The method of claim 7 , wherein the cache directory entry for the address includes sharing vector that indicates which caches contain the cached copies of data corresponding to the address. 12. A coherency management device comprising: circuitry configured to receive a request for a non-temporal write to an address in a main memory; and circuitry configured to, responsive to the request for the non-temporal write, and to determining that a cache directory includes including a spare, unused, or invalid directory entry: create a cache directory entry for the address using the spare, unused, or invalid directory entry, set a state of the cache directory entry to an invalid state, wherein the invalid state indicates that no cached copies of data corresponding to the address are valid, and set, in the cache directory entry, an indication that data corresponding to the address includes zero data. 13. The coherency management device of claim 12 , wherein the data includes zero data where the data includes only zeros and/or the request includes an instruction which includes an opcode which instructs a write of zeros to the address. 14. The coherency management device of claim 12 , wherein the indication comprises at least one bit in a state field of the cache directory entry, a spare state in a state field of the cache directory entry, a bit in a state field of the cache directory entry, and/or a bit in a sharing vector field of the cache directory entry. 15. The coherency management device of claim 12 , wherein the coherency management device is configured to set the indication in response to the request without writing to the main memory if the data includes zero data. 16. The coherency management device of claim 12 , wherein the coherency management device comprises a coherent slave device, probe filter device, and/or snoop filter device. 17. The coherency management device of claim 12 , wherein the coherency management device receives the request from a coherent master device. 18. The coherency management device of claim 12 , wherein the cache directory entry for the address includes sharing vector that indicates which caches contain the cached copies of data corresponding to the address. 19. A method for managing cache coherence in a computer system, the method comprising: receiving, by a coherency management device, a request for a non-temporal write of data to an address in a main memory; and in response to the request for the non-temporal write, and to a cache directory including a spare, unused, or invalid directory entry: creating a cache directory entry for the address using the spare, unused, or invalid directory entry, setting a state of the cache directory entry to an invalid state, wherein the invalid state indicates that no cached copies of data corresponding to the address are valid, and setting, in the cache directory entry, an indication that data corresponding to the address includes zero data. 20. The method of claim 19 , wherein the data includes zero data where the data includes only zeros and/or the request includes an instruction which includes an opcode which instructs a write of zeros to the address. 21. The method of claim 19 , wherein the indication comprises at least one bit in a state field of the cache directory entry, a spare state in a state field of the cache directory entry, a bit in a state field of the cache directory entry, and/or a bit in a sharing vector field of the cache directory entry. 22. The method of claim 19 , wherein if the data includes zero data, the coherency management device sets the indication in response to the request without writing the main memory. 23. The method of claim 19 , wherein the coherency management device comprises a coherent slave device, probe filter device, and/or snoop filter device. 24. The method of claim 19 , wherein the coherency management device receives the request from a coherent master device. 25. The method of claim 19 , wherein the cache directory entry for the address includes sharing vector that indicates which caches contain the cached copies of data corresponding to the address.

Assignees

Inventors

Classifications

  • using selective caching, e.g. bypass · CPC title

  • using clearing, invalidating or resetting means · CPC title

  • using directory methods · CPC title

  • Details relating to cache mapping · CPC title

  • Resource optimization · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12066944B2 cover?
A coherency management device receives requests to read data from or write data to an address in a main memory. On a write, if the data includes zero data, an entry corresponding to the memory address is created in a cache directory if it does not already exist, is set to an invalid state, and indicates that the data includes zero data. The zero data is not written to main memory or a cache. On…
Who is the assignee on this patent?
Advanced Micro Devices Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0817. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 20 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).