Flexible metadata allocation and caching

US12412603B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12412603-B2
Application numberUS-202318348716-A
CountryUS
Kind codeB2
Filing dateJul 7, 2023
Priority dateJul 8, 2022
Publication dateSep 9, 2025
Grant dateSep 9, 2025

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.

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

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 US12412603B2 cover?
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 requ…
Who is the assignee on this patent?
Rambus Inc
What technology area does this patent fall under?
Primary CPC classification G11C7/1084. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 09 2025 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 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).