Cache memory management
Abstract
Embodiments of the present disclosure relate to cache memory management. Based on anticipated input/output (I/O) workloads, at least one or more of: sizes of one or more mirrored and un-mirrored caches of global memory and their respective cache slot pools are dynamically balanced. Each of the mirrored/unmirrored caches can be segmented into one or more cache pools, each having slots of a distinct size. Cache pool can be assigned an amount of the one or more cache slots of the distinct size based on the anticipated I/O workloads. Cache pools can be further assigned the amount of distinctly sized cache slots based on expected service levels (SLs) of a customer. Cache pools can also be assigned the amount of the distinctly sized cache slots based on one or more of predicted I/O request sizes and predicted frequencies of different I/O request sizes of the anticipated I/O workloads.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. An apparatus comprising a memory and at least one processor configured to:
monitor one or more input/output (I/O) workloads received by a storage array;
predict each distinct size of the I/O workload's I/O operations;
anticipate a frequency for each of the I/O workload's distinctly sized I/O operations;
establish one or more mirrored and unmirrored cache pools (MUCPs), wherein each MUCP's cache slot width is sized according to the anticipated frequency of the I/O workload's distinctly sized I/O operations;
establish, for each MUCP, a plurality of cache slot segments having sizes smaller than the width of their respective cache, wherein each MUCP includes two or more distinctly sized cache slot segments, where the combined width of each distinct size equals the size of their corresponding MUCP; and
dynamically balance and reallocate the cache slot segments to the one or more MUCPs according to the anticipated frequency of the I/O workload's distinctly sized I/O operations.
2. The apparatus of claim 1 further configured to segment each of the one or more mirrored and un-mirrored caches into the one or more cache pools, wherein each cache pool includes one or more cache slots of a distinct size.
3. The apparatus of claim 2 further configured to assign each cache pool an amount of the one or more cache slots of the distinct size based on the anticipated I/O workloads.
4. The apparatus of claim 3 further configured to assign each cache pool the amount of the one or more distinctly sized cache slots based on expected service levels (SLs) of a customer.
5. The apparatus of claim 1 further configured to anticipate the I/O workloads using one or more neural network machine learning techniques.
6. The apparatus of claim 5 , wherein one of the one or more neural network machine learning techniques is a recurring neural network (RNN) such as a long/short-term memory (LSTM) network.
7. The apparatus of claim 2 further configured to predict distinct I/O request sizes of the anticipated I/O workloads.
8. The apparatus of claim 7 further configured to predict frequencies of different I/O request sizes of the anticipated I/O workloads.
9. The apparatus of claim 8 further configured to assign each cache pool an amount of the one or more cache slots of the distinct size based on one or more of the predicted I/O request sizes and the predicted frequencies of the different I/O request sizes of the anticipated I/O workloads.
10. The apparatus of claim 9 further configured to assign each cache pool the amount of the one or more distinctly sized cache slots of the distinct based on expected service levels (SLs) of a customer.
11. A method comprising:
monitoring one or more input/output (I/O) workloads received by a storage array;
predicting each distinct size of the I/O workload's I/O operations;
anticipating a frequency for each of the I/O workload's distinctly sized I/O operations;
establishing one or more mirrored and unmirrored cache pools (MUCPs), wherein each MUCP's cache slot width is sized according to the anticipated frequency of the I/O workload's distinctly sized I/O operations;
establishing, for each MUCP, a plurality of cache slot segments having sizes smaller than the width of their respective cache, wherein each MUCP includes two or more distinctly sized cache slot segments, where the combined width of each distinct size equals the size of their corresponding MUCP; and
dynamically balancing and reallocating the cache slot segments to the one or more MUCPs according to the anticipated frequency of the I/O workload's distinctly sized I/O operations.
12. The method of claim 11 further comprising segmenting each of the one or more mirrored and un-mirrored caches into one or more cache pools, each cache pool having one or more cache slots of a distinct size.
13. The method of claim 12 further comprising assigning each cache pool an amount of the one or more cache slots of the distinct size based on the anticipated I/O workloads.
14. The method of claim 13 further comprising assigning each cache pool the amount of the one or more distinctly sized cache slots based on expected service levels (SLs) of a customer.
15. The method of claim 11 further comprising anticipating the I/O workloads using one or more neural network machine learning techniques.
16. The method of claim 15 , wherein one of the one or more neural network machine learning techniques is a recurring neural network (RNN) such as a long/short-term memory (LSTM) network.
17. The method of claim 12 further comprising predicting distinct I/O request sizes of the anticipated I/O workloads.
18. The method of claim 17 further comprising predicting frequencies of different I/O request sizes of the anticipated I/O workloads.
19. The method of claim 18 further comprising assigning each cache pool an amount of the one or more cache slots of the distinct size based on one or more of the predicted I/O request sizes and the predicted frequencies of the different I/O request sizes of the anticipated I/O workloads.
20. The method of claim 19 further comprising assigning each cache pool the amount of the one or more distinctly sized cache slots of the distinct based on expected service levels (SLs) of a customer.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.