Method and apparatus for quickly accessing backing store metadata
First Claim
Patent Images
1. A computer-implemented method of accessing metadata from a storage device, comprising:
- requesting metadata by a first application;
retrieving, by a cache application, the requested metadata from a storage device;
writing the metadata from the storage device to an allocated cache page;
assuming control, by the first application, of the cache page with the metadata written thereon;
locking, by the first application, the cache page, wherein locking comprises restricting the cache application from controlling the cache page and writing contents of the cache page to the storage device while allowing a second application to access metadata on the cache page; and
accessing, by the first application, the metadata from the locked cache page.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, device, and system are provided for accessing metadata in a data storage system. More specifically, a requesting application requests a cache application to allocate a cache page to retrieve metadata from a storage device. After metadata is written to the cache page, the cache page is locked by the requesting application. The cache page is maintained in a locked state by the requesting application. This allows the data stored within the cache page to be quickly accessed and updated by the requesting application without waiting for the cache page to be written back to the storage device after every update to the cache page occurs.
83 Citations
19 Claims
-
1. A computer-implemented method of accessing metadata from a storage device, comprising:
-
requesting metadata by a first application; retrieving, by a cache application, the requested metadata from a storage device; writing the metadata from the storage device to an allocated cache page; assuming control, by the first application, of the cache page with the metadata written thereon; locking, by the first application, the cache page, wherein locking comprises restricting the cache application from controlling the cache page and writing contents of the cache page to the storage device while allowing a second application to access metadata on the cache page; and accessing, by the first application, the metadata from the locked cache page. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A device for controlling a storage system, comprising:
-
memory comprising; a cache memory comprising a cache page; a cache application for controlling the cache memory; and a first application, wherein the first application requests that the cache application allocate the cache page from the cache memory to store metadata, the first application comprising; a locking function, wherein the locking function locks the cache page after the metadata has been written to the cache page, wherein the cache page is accessible by a second application while the cache page is locked by the locking function and wherein the cache page cannot be written back to a storage device by the cache application while the cache page is locked by the locking function; and a metadata reader/writer adapted to access the metadata while the cache page is locked by the locking function; and a processor subsystem, wherein the processor subsystem executes the cache application and first application. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. An electronic data system, comprising:
-
memory including; first means for controlling comprising; means for reading metadata from a storage device, wherein the metadata comprises pointers to snapshot data stored on the storage device; means for storing the metadata on a cache page; means for locking the cache page such that the means for storing the metadata on the cache page is restricted from writing contents of the cache page back to the storage device while the cache page is locked but is allowed to access contents of the cache page while the cache page is locked; means for accessing the locked cache page; and means for updating the metadata in the locked cache page, wherein the means for accessing commits changes to the locked cache page and mirrors changes to a second controlling means while simultaneously accessing the locked cache page; and a processor subsystem adapted for executing the contents of the memory. - View Dependent Claims (17, 18, 19)
-
Specification