Patent ID: 7418572

Claim:
A method for pretranslating input/output buffer addresses 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, wherein: the buffer comprises a quantity of memory organized in pages having virtual page frame numbers and pages of memory having two or more page size; and determining the 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; identifying pretranslation page frame numbers for the buffer in dependence upon the pretranslation page size, including identifying pretranslation page frame numbers for the buffer that are located inside a memory page; pretranslating the pretranslation page frame numbers to physical page numbers; storing the physical page numbers in association with the pretranslation page size; and 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.