Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method for processing a read operation for a target block of data, comprising: receiving, using a processor of a computer, the read operation for the target block of data in target storage, wherein the target block of data is in an instant virtual copy relationship with a source block of data in the source storage; determining that the target block of data in the target storage is not consistent with the source block of data in the source storage; retrieving the source block of data; synthesizing data in the source block of data in a cache to make the data appear to be retrieved from the target storage; marking the target block of data as read from the source storage; in response to the read operation completing, demoting the target block of data that was read from the source storage; and in response to receiving a withdraw command that ends the instant virtual copy relationship, ending the instant virtual copy relationship without scanning the cache and discarding target blocks of data staged from the source storage.
A method for handling read requests in a virtualized storage system. When a read operation targets a specific data block ("target block") in a target storage volume, and this target block is virtually linked to a corresponding data block ("source block") in a source storage volume, the system checks if the target block is consistent with the source block. If not, the system retrieves the source block, synthesizes data from the source block in a cache to appear as if it were read directly from the target storage, and marks the target block as being read from the source. Upon completion of the read operation, the target block is demoted in the cache. When the virtual link between source and target is broken by a withdraw command, the system ends this link without scanning the cache and discards any staged target blocks.
2. The method of claim 1 , further comprising: determining that the target block of data in the target storage is consistent with the corresponding source block of data in the source storage; reading the target block of data from the target storage; and completing the read operation.
The method described above further includes checking if the target block is consistent with the source block. If the target block in the target storage is consistent with the corresponding source block, then the target block is directly read from the target storage, and the read operation is completed normally. This bypasses the process of retrieving and synthesizing data from the source block in the cache, as described in the primary method for cases where the target and source are inconsistent.
3. The method of claim 1 , further comprising: determining that the source block of data exists in the cache, wherein the source block of data is retrieved from the cache.
The method for handling read requests as described above includes optimizing the source block retrieval. If the system determines that the source block already exists in the cache, the source block is retrieved from the cache itself, rather than fetching it from the source storage. This reduces latency and I/O load on the source storage, providing a faster read response.
4. The method of claim 1 , further comprising: determining that the source block of data does not exist in the cache; and copying the source block of data from the source storage to the cache, wherein the source block of data is retrieved from the cache.
The method for handling read requests as described above includes a mechanism for caching the source block if it's not already present. If the system determines that the source block does not exist in the cache, it copies the source block from the source storage into the cache. Subsequently, the source block is retrieved from this cache for the data synthesis process, as described in the primary method. This ensures that frequently accessed source blocks are readily available in the cache.
5. The method of claim 1 , further comprising: determining whether the target block of data was read from the source storage based on the marking.
The method for handling read requests as described above involves tracking the source of the data read. The system determines whether the target block was read from the source storage based on a marking applied to the target block. This marking is used to track whether the target block required retrieving and synthesizing data from the source block or was directly read from the target storage. This information can be used for cache management and performance optimization.
6. The method of claim 1 , further comprising: determining that a warm start has occurred; identifying one or more target blocks of data marked as read from the source storage; and demoting the identified one or more target blocks of data.
The method for handling read requests as described above includes a mechanism to recover from a warm start (system restart). Upon detecting a warm start, the system identifies all target blocks that were marked as having been read from the source storage. These identified target blocks are then demoted in the cache. This ensures consistency and prevents the system from using potentially stale data from the cache after a restart.
7. The method of claim 1 , further comprising: determining that a failover has occurred; identifying one or more target blocks of data marked as read from the source storage; and demoting the identified one or more target blocks of data.
The method for handling read requests as described above includes a mechanism to recover from a failover event. After a failover occurs, the system identifies any target blocks that were marked as read from the source storage. These identified target blocks are then demoted. This is to ensure data consistency, as the failover may have resulted in the cache containing outdated data from the source storage regarding those target blocks.
Unknown
September 2, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.