Dynamic metadata relocation in memory
US-11288188-B1 · Mar 29, 2022 · US
US12412603B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12412603-B2 |
| Application number | US-202318348716-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 7, 2023 |
| Priority date | Jul 8, 2022 |
| Publication date | Sep 9, 2025 |
| Grant date | Sep 9, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An apparatus and method for flexible metadata allocation and caching. In one embodiment of the method first and second requests are received from first and second applications, respectively, wherein the requests specify a reading of first and second data, respectively, from one or more memory devices. The circuit reads the first and second data in response to receiving the first and second requests. Receiving first and second metadata from the one or more memory devices in response to receiving the first and second requests. The first and second metadata correspond to the first and second data, respectively. The first and second data are equal in size, and the first and second metadata are unequal in size.
Opening claim text (preview).
What is claimed is: 1. A method of operation of a memory buffer integrated circuit (IC) device, comprising: receiving first and second requests from first and second applications, respectively, wherein the first and second requests specify a reading of first and second data, respectively, from one or more memory devices; receiving from the one or more memory devices, the first and second data in response to the first and second requests; receiving first and second metadata from the one or more memory devices in response to the first and second requests; wherein the first and second metadata correspond to the first and second data, respectively; wherein first and second data are equal in size, and; wherein the first and second metadata are unequal in size. 2. The method of claim 1 wherein the first and second applications are executing on first and second processors, respectively, or on one processor. 3. The method of claim 1 wherein memory allocated to store the first metadata for the first application is larger than memory allocated to store the second metadata for the second application. 4. The method of claim 1 wherein the first metadata is parity metadata, and the second metadata is security metadata. 5. The method of claim 1 further comprising: receiving requests from a third application to read data from the one or more memory devices; receiving data from the one or more memory devices for each request received from the third application; wherein no metadata is received from the one or more memory devices in response to receiving the requests from the third application. 6. The method of claim 1 further comprising: accessing a table to read first information that is mapped to an identification of the first application, wherein the first information can be used to calculate a first address in the one or more memory devices where the first metadata is stored; accessing the table to read second information that is mapped to an identification of the second application, wherein the second information can be used to calculate a second address in the one or more memory devices where second metadata is stored. 7. The method of claim 1 further comprising: accessing a table to read first information that is mapped to a first range of memory addresses allocated to the first application, wherein the first information can be used to calculate a first address in the one or more memory devices where the first metadata is stored; accessing the table to read second information that is mapped to a second range of memory addresses mapped to the second application, wherein the second information can be used to calculate a second address in the one or more memory devices where second metadata is stored. 8. The method of claim 1 wherein the first metadata is read from a first cache. 9. The method of claim 1 further comprising: allocating respective, non-overlapping memory subspaces of the one or more memory devices to store data of the first application and metadata corresponding to the data of the first application. 10. The method of claim 1 further comprising: allocating a memory subspace of the one or more memory devices to store data of the first application and metadata corresponding to the data of the first application so that the data and metadata can be fetched sequentially. 11. A memory buffer integrated circuit (IC) device comprising: a first circuit configured to receive first and second requests for first and second data, respectively, from first and second applications, respectively, wherein the first circuit is further configured to translate first and second addresses for the first and second data, respectively, into first and second addresses for first and second metadata, respectively, corresponding to the first and second data, respectively; a second circuit configured to receive the first and second data from one or more memory devices in association with the first and second requests, respectively, and to read the first and second metadata from the one or more memory devices; wherein the first and second data are equal in size, and; wherein the first and second metadata are unequal in size. 12. The memory buffer IC of claim 11 further comprising: an instruction memory for storing instructions; a processor configured to execute the instructions, wherein the processor is configured to implement a method in response to executing the instructions, the method comprising: allocating first and second address spaces in the one or more memory devices where data of the first and second applications, respectively, can be stored; allocating third and fourth address spaces in the one or more memory devices where metadata for the first and second applications, respectively, can be stored; wherein the third and fourth spaces are unequal in size. 13. The memory buffer IC of claim 11 wherein the first and second applications are executing on first and second processors, respectively. 14. The memory buffer IC of claim 11 wherein the first metadata is parity metadata, and the second metadata is security metadata. 15. The memory buffer IC of claim 11 further comprising: wherein the first circuit is configured to receive requests from a third application to read data from the memory; wherein the second circuit is configured to read data from the one or more memory devices for each request the first circuit receives from the third application; wherein the second circuit is not configured to read metadata from the one or more memory devices in response to first circuit receiving the requests from the third application. 16. The memory buffer IC of claim 11 wherein the first circuit comprises: a table configured to map first information to an identification of the first application, and second information to an identification of the second application; wherein the first information can be used to calculate a first address in the one or more memory devices where the first metadata is stored; wherein the second information can be used to calculate a second address in the one or more memory devices where second metadata is stored. 17. The memory buffer IC of claim 11 wherein the first circuit comprises: a table configured to map first information to an offset address for a memory space allocated to the first application, and second information to an offset address for a memory space allocated to the first application; wherein the first information can be used to calculate a first address in the one or more memory devices where the first metadata is stored; wherein the second information can be used to calculate a second address in the one or more memory devices where second metadata is stored. 18. A memory buffer integrated circuit (IC) device comprising: a first circuit configured to receive requests to read data from one or more memory devices, wherein the requests are received from a plurality of applications, wherein the first circuit further configured to translate addresses for some but not all of the data into addresses for corresponding metadata; a second circuit for reading the data from the one or more memory devices, and for reading metadata for some but not all of the data from the one or more memory devices. 19. The memory buffer IC of claim 18 further comprising: an instruction memory for storing instructions; a processor configured to execute the instructions, wherein the processor is configured to implement a method in response to executing the instructions, the method compri
Multiple user address space allocation, e.g. using different base addresses (interprocessor communication G06F15/163) · CPC title
User address space allocation, e.g. contiguous or non contiguous base addressing · CPC title
in cache or content addressable memories · CPC title
Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor · CPC title
Memory management, e.g. access or allocation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.