Cache mirroring method
AssigneeInspur Suzhou Intelligent Technology Co., Ltd.
InventorZhikui Liu
Life of this patent
Estimating the term…
Abstract
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.
Claims16
A cache mirroring method, being applied to a master node and comprising:
- receiving Input or Output (IO) requests;
- determining an IO request set satisfying a preset aggregation condition;
- performing a structuralization process and an aggregation process on each IO request in the IO request set to obtain structuralized data;
- performing ProtoBuff serialization on the structuralized data to obtain binary data;
- and
- generating, according to the binary data, and sending a single mirroring request to a slave node, so as to implement cache mirroring;
- wherein the master node and the slave node are devices applied in an all-flash storage system, the IO request is a metadata IO request, and wherein the determining an IO request set satisfying a preset aggregation condition comprises:
- determining, with the master node, whether a number of currently received IO requests reaches a preset number threshold;
- and
- in response to determining the number of currently received IO requests reaches the preset number threshold, determining, with the master node, the currently received IO requests as the IO request set.
An all-flash storage system, comprising a master node and one or more slave nodes;
- wherein the master node is configured to:
- receive IO requests, wherein the IO request is a metadata IO request;
- determine whether a number of currently received IO requests reaches a preset number threshold, and in response to a determination that the number of currently received IO requests reaches the preset number threshold, determine the currently received IO requests as the IO request set;
- perform a structuralization process and an aggregation process on each IO request in the IO request set to obtain structuralized data;
- perform ProtoBuff serialization on the structuralized data to obtain binary data;
- and
- generate, according to the binary data, and send a single mirroring request to the one or more slave nodes;
- wherein the one or more slave nodes is configured to:
- receive a single mirroring request sent by the master node;
- perform ProtoBuff deserialization on binary data contained in the mirroring request to obtain structuralized data, wherein the structuralized data comprises mirrored data of a plurality of Input or Output (IO) requests satisfying a preset aggregation condition;
- and
- store the mirrored data to a local cache, so as to implement cache mirroring.
Dependencies are inferred from the claim text.