VIRTUALIZED DATA STORAGE SYSTEM CACHE MANAGEMENT
First Claim
1. A method of optimizing a block storage protocol access to a block storage device via a wide area network, the method comprising:
- receiving a first storage block for storage in a storage block cache at a first network location;
determining if the storage block cache has sufficient capacity to store the first storage block; and
in response to the determination that the storage block cache does not have sufficient capacity for the first storage block;
selecting a first high-level data structure entity;
identifying at least a second storage block associated with the high-level data structure entity and stored in the storage block cache; and
removing at least the second storage block from the storage block cache.
6 Assignments
0 Petitions
Accused Products
Abstract
Virtual storage arrays consolidate branch data storage at data centers connected via wide area networks. Virtual storage arrays appear to storage clients as local data storage; however, virtual storage arrays actually store data at the data center. The virtual storage arrays overcomes bandwidth and latency limitations of the wide area network by predicting and prefetching storage blocks, which are then cached at the branch location. Virtual storage arrays leverage an understanding of the semantics and structure of high-level data structures associated with storage blocks to predict which storage blocks are likely to be requested by a storage client in the near future. Virtual storage arrays determine the association between requested storage blocks and corresponding high-level data structure entities to predict additional high-level data structure entities that are likely to be accessed. From this, the virtual storage array identifies the additional storage blocks for prefetching.
64 Citations
20 Claims
-
1. A method of optimizing a block storage protocol access to a block storage device via a wide area network, the method comprising:
-
receiving a first storage block for storage in a storage block cache at a first network location; determining if the storage block cache has sufficient capacity to store the first storage block; and in response to the determination that the storage block cache does not have sufficient capacity for the first storage block; selecting a first high-level data structure entity; identifying at least a second storage block associated with the high-level data structure entity and stored in the storage block cache; and removing at least the second storage block from the storage block cache. - View Dependent Claims (2, 3, 4, 5, 6, 8, 9, 10)
-
-
7. The method of claim 7, wherein the second storage block does not include metadata of the first high-level data structure entity.
-
11. A method of optimizing a block storage protocol access to a block storage device via a wide area network, the method comprising:
-
receiving a storage block cache replacement policy; selecting at least a portion of a first high-level data structure entity identified by the storage block cache replacement policy; identifying at least a first storage block associated with the selected portion of the first high-level data structure entity; and selecting the first storage block for retention in a storage block cache connected with a wide-area network at a first network location. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of optimizing a block storage protocol write access to a block storage device via a wide area network, the method comprising:
-
receiving a sequence of storage block write operations; selecting a first storage block write operation included in the sequence of storage block write operations, wherein the first storage block operation includes a first version of a storage block; determining if the sequence of storage block write operations includes a second storage block write operation including a second version of the storage block, wherein the second storage block write operation is more recent than the first storage block write operation; in response to the determination that the sequence of storage block write operations does not include the second storage block write operation including the second version of the storage block, communicating the first version of the storage block via a wide area network to a data storage connected with the wide area network at a first network location; and in response to the determination that the sequence of storage block write operations includes the second storage block write operation including the second version of the storage block, communicating the second version of the storage block via the wide area network to the data storage. - View Dependent Claims (17, 18, 19, 20)
-
Specification