Patent ID: 6067608
Filing Date: 2000-05-23
Classification: G06F

Abstract:
For use in a system having at least one processing unit, a main memory coupled to the processing unit and a secondary storage unit operatively coupled to the processing unit and to the main memory, the main memory containing virtual memory space shared by those virtual processes being executed on the processing unit, the virtual memory space including a specified number of virtual frame buffers for storing a corresponding number of frames transferred from the secondary storage unit by the processing unit in response to requests received from the virtual processes and the virtual space further including a buffer table and aging (BTA) mechanism associated with the virtual frame buffers for storing information values indicating the frequency of access and relative aging of virtual buffers in virtual memory space during the execution of the virtual processes, the BTA mechanism including a buffer table containing a plurality of entries which are associated with a corresponding number of virtual frame buffers for controlling access thereto and an age table containing entries associated with the buffer table entries which include a most recently used (MRU) pointer for designating the top table position or most recently used virtual frame buffer and a least recently used (LRU) pointer for designating the bottom table position or least recently used virtual frame buffer, each age table entry having forward and backward age pointers for linking the buffer table entries together so as to define an age chain for the associated virtual frame buffers, the backward age pointer designating the next least recently accessed virtual buffer and the forward age pointer designating the next most recently accessed virtual buffer, a method for increasing the efficiency of the BTA mechanism, comprising the steps of:(a) associating a buffer table status control word with each buffer table entry, the status control word containing a number of bits allocated for maintaining a reference count of the number of times that an associated virtual frame buffer has been accessed;(b) incrementing the reference count by one, each time the virtual buffer is uniquely accessed;(c) updating the age table pointers for changing the ordering of entries contained in the buffer table only when searching for an available virtual frame buffer during a replacement operation wherein the contents of a virtual frame buffer are required to be replaced to make room for a frame requested by a virtual process which is to be transferred from the secondary storage unit; and,(d) selecting a virtual frame buffer as a replacement candidate according to defined criteria relating to depth of the frame buffer entry within the buffer table and the frequency of use by virtual processes as defined by the reference count contained in the status control word associated with a particular buffer table entry.