US2010106935A1PendingUtilityA1

Pretranslating Input/Output Buffers In Environments With Multiple Page Sizes

Assignee: IBMPriority: Aug 18, 2004Filed: Jan 11, 2010Published: Apr 29, 2010
Est. expiryAug 18, 2024(expired)· nominal 20-yr term from priority
G06F 2212/652G06F 12/1081
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Pretranslating input/output buffers in environments with multiple page sizes that include determining a pretranslation page size for an input/output buffer under an operating system that supports more than one memory page size, identifying pretranslation page frame numbers for the buffer in dependence upon the pretranslation page size, pretranslating the pretranslation page frame numbers to physical page numbers, and storing the physical page numbers in association with the pretranslation page size. Typical embodiments also include accessing the buffer, including translating a virtual memory address in the buffer to a physical memory address in dependence upon the physical page numbers and the pretranslation page size and accessing the physical memory of the buffer at the physical memory address.

Claims

exact text as granted — not AI-modified
1 . A method for pretranslating input/output buffers in environments with multiple page sizes, the method comprising:
 determining a pretranslation page size for an input/output buffer under an operating system that supports more than one memory page size;   identifying pretranslation page frame numbers for the buffer in dependence upon the pretranslation page size;   pretranslating the pretranslation page frame numbers to physical page numbers; and   storing the physical page numbers in association with the pretranslation page size.   
   
   
       2 . The method of  claim 1  wherein the buffer further comprises a quantity of memory organized in pages having virtual page frame numbers and having at least one memory page size. 
   
   
       3 . The method of  claim 1  wherein:
 the buffer comprises pages of memory having only one page size, and   determining a pretranslation page size further comprises selecting as the pretranslation page size the only one page size of the pages of memory in the buffer.   
   
   
       4 . The method of  claim 1  wherein:
 the buffer comprises pages of memory having two or more page sizes, and   determining a pretranslation page size further comprises selecting as the pretranslation page size a smallest page size from among the page sizes of the pages of memory in the buffer.   
   
   
       5 . The method of  claim 4  wherein identifying pretranslation page frame numbers for the buffer in dependence upon the pretranslation page size further comprises identifying pretranslation page frame numbers for the buffer that are located inside a memory page. 
   
   
       6 . The method of  claim 1  further comprising accessing the buffer, including:
 translating a virtual memory address in the buffer to a physical memory address in dependence upon the physical page numbers stored in association with the pretranslation page size; and   accessing the physical memory of the buffer at the physical memory address.   
   
   
       7 . A system for pretranslating input/output buffers in environments with multiple page sizes, the system comprising:
 means for determining a pretranslation page size for an input/output buffer under an operating system that supports more than one memory page size;   means for identifying pretranslation page frame numbers for the buffer in dependence upon the pretranslation page size;   means for pretranslating the pretranslation page frame numbers to physical page numbers; and   means for storing the physical page numbers in association with the pretranslation page size.   
   
   
       8 . The system of  claim 7  wherein the buffer further comprises a quantity of memory organized in pages having virtual page frame numbers and having at least one memory page size. 
   
   
       9 . The system of  claim 7  wherein:
 the buffer comprises pages of memory having only one page size, and   means for determining a pretranslation page size further comprises means for selecting as the pretranslation page size the only one page size of the pages of memory in the buffer.   
   
   
       10 . The system of  claim 7  wherein:
 the buffer comprises pages of memory having two or more page sizes, and   means for determining a pretranslation page size further comprises means for selecting as the pretranslation page size a smallest page size from among the page sizes of the pages of memory in the buffer.   
   
   
       11 . The system of  claim 10  wherein means for identifying pretranslation page frame numbers for the buffer in dependence upon the pretranslation page size further comprises means for identifying pretranslation page frame numbers for the buffer that are located inside a memory page. 
   
   
       12 . The system of  claim 7  further comprising means for accessing the buffer, including:
 means for translating a virtual memory address in the buffer to a physical memory address in dependence upon the physical page numbers stored in association with the pretranslation page size; and   means for accessing the physical memory of the buffer at the physical memory address.   
   
   
       13 . A computer program product for pretranslating input/output buffers in environments with multiple page sizes, the computer program product comprising:
 a recording medium;   means, recorded on the recording medium, for determining a pretranslation page size for an input/output buffer under an operating system that supports more than one memory page size;   means, recorded on the recording medium, for identifying pretranslation page frame numbers for the buffer in dependence upon the pretranslation page size;   means, recorded on the recording medium, for pretranslating the pretranslation page frame numbers to physical page numbers; and   means, recorded on the recording medium, for storing the physical page numbers in association with the pretranslation page size.   
   
   
       14 . The computer program product of  claim 13  wherein the buffer further comprises a quantity of memory organized in pages having virtual page frame numbers and having at least one memory page size. 
   
   
       15 . The computer program product of  claim 13  wherein:
 the buffer comprises pages of memory having only one page size, and   means, recorded on the recording medium, for determining a pretranslation page size further comprises means, recorded on the recording medium, for selecting as the pretranslation page size the only one page size of the pages of memory in the buffer.   
   
   
       16 . The computer program product of  claim 13  wherein:
 the buffer comprises pages of memory having two or more page sizes, and   means, recorded on the recording medium, for determining a pretranslation page size further comprises means, recorded on the recording medium, for selecting as the pretranslation page size a smallest page size from among the page sizes of the pages of memory in the buffer.   
   
   
       17 . The computer program product of  claim 16  wherein means, recorded on the recording medium, for identifying pretranslation page frame numbers for the buffer in dependence upon the pretranslation page size further comprises means, recorded on the recording medium, for identifying pretranslation page frame numbers for the buffer that are located inside a memory page. 
   
   
       18 . The computer program product of  claim 13  further comprising means, recorded on the recording medium, for accessing the buffer, including:
 means, recorded on the recording medium, for translating a virtual memory address in the buffer to a physical memory address in dependence upon the physical page numbers stored in association with the pretranslation page size; and   means, recorded on the recording medium, for accessing the physical memory of the buffer at the physical memory address.

Join the waitlist — get patent alerts

Track US2010106935A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.