The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Sep. 15, 1998
Filed:
Oct. 07, 1996
David William Sheffield, Austin, TX (US);
Kumar Nallapati, Austin, TX (US);
Mark Douglass Rogers, Austin, TX (US);
International Business Machines Corp., Armonk, NY (US);
Abstract
An improved method and apparatus for managing real pages, also called physical pages, and virtual pages, also called logical pages, in a virtually indexed cache that is implemented as two physical caches. A list of free real pages that is a doubly linked list with a single anchor in addition to the free real pages is created. The pages are sequentially associated with each other using two sets of pointers. A set of forward pointers are used with the first pointer connecting the anchor page to the first physical page in the list and subsequent pointers connecting subsequent pages with each other with the last page having a pointer pointing to the anchor page. A set of backward pointers are employed with the first pointer pointing from the anchor to the last page in the list with subsequent pointers traversing the list towards the first page with the first page having the last pointer pointing to the anchor page. When a request for a real page is received to assign to a virtual page, an identification of whether the virtual page is an even or odd virtual page is made. The last real page in the list is assigned in response to a determination that the virtual page is an even virtual page. The first real page is assigned in response to a determination that the virtual page is an odd virtual page. In freeing real pages, an identification is made as to whether the page being freed is an even real or an odd real page. The page being freed is inserted at the beginning of the list in response to a determination that the real page is an odd real page. The page being freed is inserted at the end of the list in response to a determination that the page being freed is an even real page.