Method to share a coherent accelerator context inside the kernel

US9971701B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9971701-B2
Application numberUS-201514885741-A
CountryUS
Kind codeB2
Filing dateOct 16, 2015
Priority dateOct 16, 2015
Publication dateMay 15, 2018
Grant dateMay 15, 2018

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.

Embodiments disclose techniques for sharing a context for a coherent accelerator in a kernel of a computer system. According to one embodiment, a request is received from a first application to perform an I/O operation within a kernel context. The request specifies a first effective address distinct to the first application. The first effective address specifies a location in a first effective address space and a first effective segment identifier. The first effective address is remapped to a second effective address. The second effective address specifies a location in a second effective address space of the kernel context and a second effective segment identifier. A virtual address mapping to a virtual address space within the kernel context is determined. The virtual address is translated to a physical memory address.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product comprising: a non-transitory computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable by one or more computer processors to perform an operation comprising: receiving a request from a first application to a coherent accelerator to perform an I/O operation within a kernel context, wherein the coherent accelerator shares virtual memory with the one or more computer processors, wherein the request specifies a first effective address of a local effective address space distinct to the first application, and wherein the first effective address specifies a location in the local effective address space of the kernel context and a first effective segment identifier, remapping the first effective address to a second effective address in a global effective address space shared by the first application and at least a second application, wherein the second effective address specifies a location in the global effective address space of the kernel context and a second effective segment identifier, determining, by a lookup using the second effective segment identifier on a page table and a shared segment table, a virtual address that maps to a virtual address space within the kernel context, and translating the virtual address to a physical memory address. 2. The computer program product of claim 1 , wherein the kernel context and segment table are shared with the first application and the second application. 3. The computer program product of claim 1 , wherein the first and second addresses further specify a page number and a byte offset. 4. The computer program product of claim 3 , wherein determining the virtual address comprises: determining, via the shared segment table based on the second effective segment identifier, a virtual segment identifier; and performing a lookup operation in the page table using the virtual segment identifier, page number, and the byte offset. 5. The computer program product of claim 1 , wherein the operation further comprises: inserting the I/O operation into a command queue. 6. The computer program product of claim 5 , wherein the first application blocks other I/O operations until the I/O operation is completed. 7. The computer program product of claim 1 , wherein the I/O operation is performed via the coherent accelerator. 8. A system, comprising: a processor; a coherent accelerator; and a memory storing program code, which, when executed on the processor, performs an operation comprising: receiving a request from a first application to the coherent accelerator to perform an I/O operation within a kernel context, wherein the coherent accelerator shares virtual memory with the processor, wherein the request specifies a first effective address of a local effective address space distinct to the first application, and wherein the first effective address specifies a location in the local effective address space of the kernel context and a first effective segment identifier, remapping the first effective address to a second effective address in a global effective address space shared by the first application and at least a second application, wherein the second effective address specifies a location in the global effective address space of the kernel context and a second effective segment identifier, determining, by a lookup using the second effective segment identifier on a page table and shared segment table, a virtual address that maps to a virtual address space within the kernel context, and translating the virtual address to a physical memory address. 9. The system of claim 8 , wherein the kernel context and segment table are shared with the first application and the second application. 10. The system of claim 8 , wherein the first and second addresses further specify a page number and a byte offset. 11. The system of claim 10 , wherein determining the virtual address comprises: determining, via the shared segment table based on the second effective segment identifier, a virtual segment identifier; and performing a lookup operation in the page table using the virtual segment identifier, page number, and the byte offset. 12. The system of claim 8 , wherein the operation further comprises: inserting the I/O operation into a command queue, wherein the first application blocks other I/O operations until the I/O operation is completed. 13. The system of claim 8 , wherein the I/O operation is performed via the coherent accelerator.

Assignees

Inventors

Classifications

  • Single storage device · CPC title

  • using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • using page tables, e.g. page table structures · CPC title

  • in relation to response time · 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 US9971701B2 cover?
Embodiments disclose techniques for sharing a context for a coherent accelerator in a kernel of a computer system. According to one embodiment, a request is received from a first application to perform an I/O operation within a kernel context. The request specifies a first effective address distinct to the first application. The first effective address specifies a location in a first effective …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F12/1009. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 15 2018 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).