Patent ID: 7676633

Claim:
A method of operating a network storage server, the method comprising: performing data access operations on a non-volatile mass storage facility, a main cache and a victim cache of the network storage server; invoking a memory management process to select a first storage unit for eviction from the main cache, wherein the memory management process further is to overwrite a storage unit in the main cache in conjunction with selection of the first storage unit for eviction from the main cache; without blocking said memory management process, destaging the first storage unit for storage in the victim cache without copying the first storage unit, and identifying a second storage unit to the memory management process as available to be overwritten in the main cache; maintaining a first queue to store metadata of storage units that are to be stored in the victim cache, wherein said destaging comprises storing the metadata of the first storage unit in the first queue; maintaining a second queue to store metadata of storage units that are stored in the victim cache; and in conjunction with said storing the corresponding user data of said storage units from the main cache to the victim cache, storing the metadata of said storage units in the second queue, wherein said identifying a second storage unit to the memory management process comprises: determining if the second queue is empty; and if the second queue is empty, selecting the first storage unit as said second storage unit, to be identified the memory management process as available for reuse in the main cache.