Deduplicated Data Cache for VM Boot Storms
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage systems face performance degradation during 'boot storms' due to insufficient cache capacity and high read cache misses when multiple virtual machines (VMs) boot simultaneously, as they access large amounts of duplicate data stored on backend non-volatile storage.
Innovation Solution
Implementing a deduplicated data cache that promotes data blocks with high reference counts to the cache, using metadata to map logical addresses to physical storage locations and store only unique data instances, thereby reducing the need for retrieval from backend storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a traditional data cache is used to store data blocks, then read performance is improved for frequently accessed data, but the cache capacity is insufficient during boot storms when multiple VMs simultaneously access duplicate data
Solution Approach 1:
The patent merges a traditional data cache with a deduplicated cache into a unified cache system. The data cache stores data blocks while the deduplicated cache stores only unique data blocks with reference counts. This combination allows the system to handle boot storms more effectively by reducing duplicate data storage requirements while maintaining read performance.
Solution Approach 2:
The patent changes the parameter of data redundancy by introducing deduplication. Instead of storing all data blocks in the cache, the system identifies and stores only unique data blocks, using reference counts to track multiple references to the same block. This parameter change increases effective cache capacity during high-demand periods like boot storms.
2Reliability
If all data blocks are stored in the cache, then read cache hits are maximized, but the cache cannot accommodate duplicate data from multiple VMs during simultaneous boot-ups
Solution Approach 1:
The system combines traditional caching with deduplication by creating a unified cache architecture where data blocks are stored once and referenced by multiple VMs through reference counts. This allows the cache to maintain high hit rates while accommodating multiple VM boot requests without duplicating data.
Solution Approach 2:
Instead of physically copying data blocks for each VM, the patent uses reference counting to create logical copies. Multiple VMs share the same physical data block in the cache, with reference counts tracking how many VMs need the data. This eliminates redundant data storage while maintaining the ability to serve multiple VMs simultaneously.
3Quantity of substance
If data is retrieved from backend storage for each read operation, then cache capacity requirements are reduced, but system latency increases during boot storms
Solution Approach 1:
The patent performs preliminary deduplication action when data is first read from backend storage. Instead of immediately retrieving data for each read operation, the system identifies unique data blocks and stores them in the deduplicated cache with reference counts. Subsequent read operations can then be served from the cache without repeated backend storage access, reducing latency during boot storms.
Solution Approach 2:
The deduplicated cache serves itself by automatically identifying unique data blocks and managing reference counts without requiring continuous backend storage access. Once data is initially loaded and deduplicated, the system can serve multiple read requests from the cache independently, reducing dependency on backend storage speed and minimizing latency.
Data Source
AI summary
A data storage system can include a deduplicated data cache used to store unique deduplicated data portions. Data portions can be promoted to the deduplicated data cache in connection with servicing I/O operations. Servicing the I/O operation that reads data from, or writes data to, a logical address can include determining whether a data portion stored at the logical address meets criteria for promoting the data portion to a deduplicated data cache. The criteria can include a condition that the data portion is a duplicate of content stored at multiple logical addresses, and can include a condition that the data portion has a reference count that is at least a minimum threshold where the reference count denotes a number of logical addresses at which the data portion is stored. Responsive to determining the data portion meets the criteria, the data portion can be stored in the deduplicated data cache.


