Shared memory access using independent memory maps

US9256545B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9256545-B2
Application numberUS-201213471558-A
CountryUS
Kind codeB2
Filing dateMay 15, 2012
Priority dateMay 15, 2012
Publication dateFeb 9, 2016
Grant dateFeb 9, 2016

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 method includes defining a first mapping, which translates between logical addresses and physical storage locations in a memory with a first mapping unit size, for accessing the memory by a first processing unit. A second mapping is defined, which translates between the logical addresses and the physical storage locations with a second mapping unit size that is different from the first mapping unit size, for accessing the memory by a second processing unit. Data is exchanged between the first and second processing units via the memory, while accessing the memory by the first processing unit using the first mapping and by the second processing unit using the second mapping.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method, comprising: defining a first mapping, which translates between specific logical addresses and respective specific physical storage locations in a memory with a first mapping unit size, for accessing the memory by a first processing unit serving as a host processor having an internal data caching space; defining a second mapping, which translates between the specific logical addresses and the respective specific physical storage locations with a second mapping unit size that is different from the first mapping unit size, for accessing the memory by a second processing unit of a network interface card (NIC) serving the host processor, wherein the NIC has a smaller internal storage space than the host processor; and exchanging data between the first and second processing units via the memory, while accessing the memory by the first processing unit using the first mapping and by the second processing unit using the second mapping, wherein defining the first mapping comprises identifying a constraint of the second processing unit in accessing the memory, and defining the first mapping unit size so as to enable the second processing unit to follow the constraint. 2. The method according to claim 1 , wherein exchanging the data comprises communicating by the host processor over a communication network via the NIC. 3. The method according to claim 2 , wherein the second mapping unit size is larger than the first mapping unit size. 4. The method according to claim 2 , wherein the second mapping unit size is smaller than the first mapping unit size. 5. The method according to claim 1 , wherein defining the first mapping comprises identifying a constraint of the first processing unit in accessing the memory, and defining the first mapping unit size so as to meet the constraint. 6. The method according to claim 5 , wherein defining the first mapping comprises choosing to define the first mapping unit size upon detecting that the constraint is stricter in the first processing unit than in the second processing unit. 7. The method according to claim 1 , wherein exchanging the data comprises writing the data from the first processing unit to the memory using the first mapping unit size, and reading the data from the memory to the second processing unit using the second mapping unit size. 8. A method, comprising: defining a first mapping, which translates between specific logical addresses and respective specific physical storage locations in a memory with a first mapping unit size, for accessing the memory by a first processing unit serving as a host processor having an internal data caching space; defining a second mapping, which translates between the specific logical addresses and the respective specific physical storage locations with a second mapping unit size that is different from the first mapping unit size, for accessing the memory by a second processing unit of a network interface card (NIC) serving the host processor, wherein the NIC has a smaller internal storage space than the host processor; and exchanging data between the first and second processing units via the memory, while accessing the memory by the first processing unit using the first mapping and by the second processing unit using the second mapping, wherein defining the first and second mappings comprises automatically identifying a largest mapping data unit size that is usable by one of the first and second processing units, and defining the first and second mappings based on the largest mapping data unit size. 9. The method according to claim 8 , wherein identifying the largest mapping data unit size comprises identifying an available memory area in the one of the first and second processing units. 10. The method according to claim 1 , wherein accessing the memory comprises applying the first mapping by a memory management unit that is external to the first processing unit and is connected between the first processing unit and the memory. 11. The method according to claim 1 , wherein accessing the memory comprises applying the first or the second mapping by performing a cascade of two or more address translations. 12. Apparatus, comprising: a memory; a first processing unit, which serves as a host processor having an internal data caching space and is configured to access the memory using a first mapping that translates between specific logical addresses and respective specific physical storage locations in the memory with a first mapping unit size; and a second processing unit of a network interface card (NIC) serving the host processor and having a smaller internal storage space than the host processor, which is configured to exchange data with the first processing unit via the memory, by accessing the memory using a second mapping that translates between the specific logical addresses and the respective specific physical storage locations with a second mapping unit size that is different from the first mapping unit size, while the first processing unit accesses the memory using the first mapping, wherein one of the processing units is configured to identify a constraint of the second processing unit in accessing the memory, and to define the first mapping unit size so as to enable the second processing unit to follow the constraint. 13. The apparatus according to claim 12 , wherein, by exchanging the data, the host processor is configured to communicate over a communication network via the NIC. 14. The apparatus according to claim 13 , wherein the second mapping unit size is larger than the first mapping unit size. 15. The apparatus according to claim 13 , wherein the second mapping unit size is smaller than the first mapping unit size. 16. The apparatus according to claim 12 , wherein one of the processing units is configured to identify a constraint of the first processing unit in accessing the memory, and to define the first mapping unit size so as to meet the constraint. 17. The apparatus according to claim 16 , wherein the one of the processing units is configured to choose to define the first mapping unit size upon detecting that the constraint is stricter in the first processing unit than in the second processing unit. 18. The apparatus according to claim 12 , wherein the first processing unit is configured to write the data to the memory using the first mapping unit size, and wherein the second processing unit is configured to read the data from the memory using the second mapping unit size. 19. The apparatus according to claim 12 , wherein a given processing unit is configured to automatically identify a largest mapping data unit size that is usable by one of the first and second processing units, and to define the first and second mappings based on the largest mapping data unit size. 20. The apparatus according to claim 19 , wherein the given processing unit is configured to identify the largest mapping data unit size by identifying an available memory area in the one of the first and second processing units. 21. The apparatus according to claim 12 , and comprising a memory management unit, which is external to the first processing unit, is connected between the first processing unit and the memory, and is configured to apply the first mapping. 22. The apparatus according to claim 12 , wherein the first or the second mapping comprises a cascade of two or more address translations. 23. The method according to claim 1 , wherein the first mapping h

Assignees

Inventors

Classifications

  • for peripheral access to main memory, e.g. direct memory access [DMA] · CPC title

  • using tables or multilevel address translation means (G06F12/023 takes precedence; address translation in virtual memory systems G06F12/10) · CPC title

  • G06F12/10Primary

    Address translation · CPC title

  • Page size control · CPC title

  • Space efficiency improvement · 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 US9256545B2 cover?
A method includes defining a first mapping, which translates between logical addresses and physical storage locations in a memory with a first mapping unit size, for accessing the memory by a first processing unit. A second mapping is defined, which translates between the logical addresses and the physical storage locations with a second mapping unit size that is different from the first mappin…
Who is the assignee on this patent?
Raindel Shachar, Hadas Yishai Israel, Dubman Mike, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F12/10. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 09 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).