Cache Mirroring Aggregation for All-Flash Storage Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cache mirroring solutions in all-flash storage systems cause frequent interaction and task scheduling between nodes, significantly impacting performance due to the high volume of small IO blocks.
Innovation Solution
A cache mirroring method that aggregates multiple small IO requests into a single, larger request using Protocol Buffers (ProtoBuff) serialization, reducing the frequency of interactions between nodes by sending batched requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional cache mirroring is implemented in IO block units with many small IO blocks, then cache mirroring functionality is achieved, but frequent interaction and task scheduling between nodes occurs, severely affecting storage system performance
Solution Approach 1:
The patent merges multiple small IO requests into a single aggregated IO request by collecting IO requests within a time window and combining them into one mirroring operation. This reduces the number of interactions between master and slave nodes from multiple individual requests to a single batched request, thereby improving storage system performance while maintaining cache mirroring reliability.
2Manufacturing precision
If metadata IO blocks are made small (e.g., 512 bytes) to improve granularity, then metadata operations become more precise, but the number of IO blocks explodes, causing frequent interactions that impact system performance
Solution Approach 1:
The patent combines multiple small metadata IO blocks into a single aggregated request by collecting them within a time window and processing them together. This maintains the fine granularity of individual metadata operations while reducing the total quantity of separate IO block interactions, thereby improving system performance without sacrificing metadata operation precision.
3Reliability
If a logging flush mode is used in all-flash products, then data consistency is improved, but the explosive number of small IO blocks creates excessive task scheduling overhead
Solution Approach 1:
The patent merges multiple small IO blocks generated by logging flush mode into a single aggregated IO request by collecting them within a time window and processing them together. This maintains data consistency through the logging flush mode while significantly reducing task scheduling overhead by transforming numerous individual scheduling operations into a single batched scheduling operation.
Data Source
AI summary
Provided is a cache mirroring method applied to a master node. A batch of small Input/Output (IO) blocks in an all-flash product may be aggregated into a large IO block via a ProtoBuff, and a corresponding mirroring request is sent to a slave node, so as to achieve cache mirroring. In addition, the present application also provides a cache mirroring apparatus applied to a master node, a cache mirroring method and apparatus applied to a slave node, an all-flash storage device, and an all-flash storage system, the technical effects of which correspond to the technical effects of the method.


