Patent ID: 7383389

Claim:
A method for providing access to data in a multi-threaded computing system, the method comprising: providing a cache containing pages of data in memory of the multi-threaded computing system; associating a latch with each page in the cache to regulate access to the page, the latch allowing multiple threads to share access to the page for read operations and a single thread to obtain exclusive access to the page for write operations; in response to a request from a first thread to read a particular page, determining whether the particular page is in the cache without blocking access by other threads to pages in the cache, wherein said determining step includes determining whether the particular page is in the cache without acquiring any synchronization object controlling access to pages in the cache; if the particular page is in the cache, attempting to obtain the latch for purposes of reading the particular page; if the particular page is not in the cache, attempting to install a cache entry for the particular page, wherein said attempting to install step includes obtaining an unused cache entry and latching the unused cache entry on an exclusive basis; and allowing the first thread to read the particular page unless a second thread has latched the particular page on an exclusive basis.