Pretranslating Input/Output Buffers In Environments With Multiple Page Sizes
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-modified1 . 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.