Cache Segmentation Engine Using Workload Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Default segmentation configurations in data storage systems lead to inefficient operation and resource starvation due to varying IO workloads in terms of size and type, as they are not optimized for specific read/write ratios and IO distributions, resulting in suboptimal utilization of resources.
Innovation Solution
Calculating and configuring mirrored memory segment sizes based on historical traffic workloads to dynamically adjust the shared cache segmentation, allowing for multiple data allocation unit sizes and selective mirroring, thereby optimizing resource allocation and usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a single fixed size data allocation unit (TRK) is used, then metadata manageability is improved, but drive utilization efficiency deteriorates due to increased unused space
Solution Approach 1:
The patent divides the cache into multiple segments with different mirroring configurations (mirrored segment and non-mirrored segment). This segmentation allows different portions of the cache to serve different workload types, resolving the contradiction by enabling both manageable metadata structures and efficient drive utilization through specialized segments for different IO patterns
Solution Approach 2:
The patent applies different characteristics to different parts of the cache system. The mirrored segment is optimized for workloads requiring high availability and fast failover, while the non-mirrored segment is optimized for workloads prioritizing capacity efficiency. This local differentiation allows each segment to operate at optimal efficiency for its specific workload type
2Adaptability or versatility
If selective mirroring is implemented, then resource allocation flexibility is improved, but system complexity deteriorates due to multiple segmentation configurations
Solution Approach 1:
The patent changes the parameters of cache segments (mirroring status, size, allocation policies) to adapt to different workload requirements. By adjusting these parameters based on workload analysis, the system achieves flexible resource allocation while managing complexity through parameterized configurations rather than structural overhauls
3Device complexity
If default segmentation configuration is used, then system simplicity is improved, but resource utilization efficiency deteriorates due to workload mismatch
Solution Approach 1:
The patent introduces dynamic workload analysis to determine optimal cache segmentation configurations. Instead of static default configurations, the system dynamically adjusts mirrored and non-mirrored segment allocations based on actual workload patterns, achieving high resource utilization while maintaining manageable complexity through automated analysis
4Reliability
If mirrored cache segments are increased, then failover reliability is improved, but resource starvation deteriorates for non-mirrored workloads
Solution Approach 1:
The patent segments the cache into mirrored and non-mirrored portions, allowing independent optimization of each segment. The mirrored segment is sized and configured to provide adequate failover protection, while the non-mirrored segment provides sufficient capacity for workloads that do not require mirroring, preventing resource starvation in either category
Data Source
AI summary
A data storage node includes a plurality of compute nodes that allocate portions of local memory to a shared cache. The shared cache is configured with mirrored and non-mirrored segments that are sized as a function of the percentage of write IOs and read 10s in a historical traffic workload profile specific to an organization or storage node. The mirrored and non-mirrored segments are separately configured with pools of data slots. Within each segment, each pool is associated with same-size data slots that differ in size relative to the data slots of other pools. The sizes of the pools in the mirrored segment are set based on write IO size distribution in the historical traffic workload profile. The sizes of the pools in the non-mirrored segment are set based on read IO size distribution in the historical traffic workload profile.


