A storage system cache mirroring method, device and medium

By identifying and distinguishing the features of the data written to the host, and transmitting the data features to generate local data for the remote controller, the problem of cache mirroring latency overhead is solved, and the response time of host write requests is optimized.

CN115981922BActive Publication Date: 2026-04-28LANGCHAO ELECTRONIC INFORMATION IND CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
LANGCHAO ELECTRONIC INFORMATION IND CO LTD
Filing Date
2023-02-03
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

How to reduce the latency overhead of data between two controllers when caching images and optimize the response time of host write requests.

Method used

By identifying the data written to the host at a preset size granularity, it is confirmed whether the data characteristics meet the preset conditions. Data characteristics that meet the conditions are transmitted to the remote controller to generate local data, while data that does not meet the conditions are directly transmitted to the remote controller for storage.

Benefits of technology

This reduces the amount of data transferred between the two controllers, decreases latency overhead, and optimizes the response time of host write requests.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115981922B_ABST
    Figure CN115981922B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of data storage, and discloses a storage system cache mirroring method and device and a medium. Compared with the time delay cost caused by data transmission between two controllers in the prior art, the technical solution adopts the following method: the data features are distinguished, the data meeting preset conditions are transmitted to a remote controller in the form of data features by a local controller, the remote controller can generate local data according to the data features for storage, and the data not meeting the preset conditions is directly transmitted to the remote controller for storage. It can be seen that, compared with the transmission of all data, the technical solution transmits data features describing data features, so that the remote controller generates local data according to the features, the data amount transmitted between the controllers is reduced, the cache mirroring time delay cost is reduced, and the response time of a host write request is optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data storage technology, and in particular to a method, apparatus and medium for caching image in a storage system. Background Technology

[0002] To prevent data loss due to a single point of failure, a storage device often has two controllers. When a host issues a write request, the data is written to the local controller's cache. The local controller then transmits the data to the remote controller via the link between the two controllers, where it is written to the remote controller's cache. This process is called cache mirroring. With cache mirroring, the same data is stored in the caches of both storage controllers. If one controller fails, the other controller still has accessible data, thus improving the availability of the storage system. Compared to writing data to the cache of only one controller, cache mirroring increases the overhead of data transfer between the two controllers.

[0003] Therefore, how to reduce the latency overhead of data between two controllers when caching images and optimize the response time of host write requests is a problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0004] The purpose of this application is to provide a storage system cache mirroring method, apparatus, and medium for reducing the latency overhead of data between two controllers and optimizing the response time of host write requests when performing cache mirroring in a storage system.

[0005] To address the aforementioned technical problems, this application provides a storage system cache mirroring method, applied to a local controller, comprising:

[0006] The data written by the host is acquired and identified using a preset granularity.

[0007] Confirm whether the data characteristics of each segment of data with a preset size meet the preset conditions;

[0008] The data features of data of a preset size that meet the preset conditions are transmitted to the remote controller so that the remote controller can generate local data for storage based on the data features;

[0009] Data of a preset size whose characteristics do not conform to the preset conditions will be transmitted to the remote controller for storage.

[0010] Preferably, the confirmation of whether the data characteristics of each segment of data of a preset size meet preset conditions includes:

[0011] Confirm whether all bits of the identified data segments of the preset size are either 0 or all bits are 1;

[0012] If so, then the preset conditions are confirmed to be met.

[0013] Preferably, the data features further include: the starting address of the data and the length of the data.

[0014] Preferred options also include:

[0015] When the remote controller completes the image caching, the system receives the image success message returned by the remote controller and sends a success message to the host.

[0016] Preferred options also include:

[0017] If data transmission to the remote controller fails, a retry will be performed. If the retry fails after a preset number of attempts, an alarm message will be sent.

[0018] To address the aforementioned technical problems, this application also provides another storage system cache mirroring method, applied to a remote controller, including:

[0019] The system receives data features from the local controller that conform to the preset conditions and a preset size of data features, and generates local data based on the data features for storage.

[0020] Receive and store data of a preset size whose data characteristics do not conform to the preset conditions sent by the local controller.

[0021] Preferably, the data features include:

[0022] Whether all bits of the data are 0 or all bits are 1, the starting address of the data, and the length of the data.

[0023] To address the aforementioned technical problems, this application also provides a storage system cache mirroring device, applied to a local controller, comprising:

[0024] The identification module is used to acquire data written by the host and identify the data with a preset granularity;

[0025] The confirmation module is used to confirm whether the data characteristics of each segment of data of a preset size meet the preset conditions.

[0026] The transmission module is used to transmit data features of data of a preset size that conforms to the preset conditions to a remote controller so that the remote controller can generate local data for storage based on the data features; and to transmit data of a preset size that does not conform to the preset conditions to the remote controller for storage.

[0027] To address the aforementioned technical problems, this application also provides another storage system cache mirroring device, including a memory for storing computer programs;

[0028] A processor, used to implement the steps of the storage system cache mirroring method as described above when executing the computer program.

[0029] To address the aforementioned technical problems, this application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the storage system cache mirroring method described above.

[0030] The storage system cache mirroring method provided in this application involves a local controller acquiring data written by the host and identifying the data in granularity of a preset size; confirming whether the data characteristics of each preset-sized segment of data meet preset conditions; transmitting the data characteristics of the preset-sized data that meet the preset conditions to a remote controller so that the remote controller can generate local data for storage based on the data characteristics; and transmitting the preset-sized data that does not meet the preset conditions to the remote controller for storage. Compared to the latency overhead caused by data transmission between the two controllers in current technologies, this technical solution, by distinguishing the characteristics of the data, allows the local controller to transmit data that meets the preset conditions in the form of data characteristics to the remote controller, enabling the remote controller to generate local data for storage based on the data characteristics, and directly transmitting data that does not meet the preset conditions to the remote controller for storage. It can be seen that compared to transmitting all the data, this technical solution reduces the amount of data transmitted between controllers by transmitting data characteristics that describe the data features, allowing the remote controller to generate local data based on the characteristics, thereby reducing cache mirroring latency overhead and optimizing the response time of host write requests.

[0031] Furthermore, the storage system cache mirroring device and medium provided in this application correspond to the storage system cache mirroring method described above and have the same effect. Attached Figure Description

[0032] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0033] Figure 1 A flowchart illustrating a storage system cache mirroring method provided in this application embodiment;

[0034] Figure 2 A structural diagram of a storage system cache mirroring device provided in an embodiment of this application;

[0035] Figure 3A structural diagram of another storage system cache mirroring device provided in an embodiment of this application;

[0036] Figure 4 This is a structural diagram of another storage system cache mirroring device provided in an embodiment of this application. Detailed Implementation

[0037] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.

[0038] To prevent data loss due to a single point of failure, a storage device often has two controllers. When a host issues a write request, the data is written to the local controller's cache. The local controller then transmits the data to the remote controller via the link between the two controllers, where it is written to the remote controller's cache. This process is called cache mirroring. With cache mirroring, the same data is stored in the caches of both storage controllers. If one controller fails, the other controller still has accessible data, thus improving the availability of the storage system. Compared to writing data to the cache of only one controller, cache mirroring increases the overhead of data transfer between the two controllers.

[0039] The core of this application is to provide a storage system cache mirroring method, apparatus, and medium, which can reduce the latency overhead of data between two controllers and optimize the response time of host write requests when performing cache mirroring of the storage system.

[0040] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0041] Figure 1 A flowchart illustrating a storage system cache mirroring method provided in this application embodiment is shown. This method is applied to a local controller, such as... Figure 1 As shown, the method includes:

[0042] S10: Obtain the data written by the host and identify the data with a preset granularity;

[0043] S11: Confirm whether the data characteristics of each segment of data with a preset size meet the preset conditions;

[0044] S12: Transmit the data characteristics of data of a preset size that meet the preset conditions to the remote controller so that the remote controller can generate local data for storage based on the data characteristics;

[0045] S13: Transmit data of a preset size whose data characteristics do not meet the preset conditions to the remote controller for storage.

[0046] In step S10, "size" refers to the length of the data, specifically the length of bytes. 4KB is the basic block size for reading and writing on a solid-state drive (SSD). This means that the basic unit for reading and writing is 4KB; even if the content is 1 byte (B), the actual operation involves operating on a 4KB block. In practical implementation, the preset size can be 4KB. A byte is a unit of measurement used in computer information technology to measure storage capacity, and it also represents data types and language characters in some computer coding languages. The size of computer memory is usually expressed in bytes.

[0047] Compared to both mechanical hard drives and SSDs, RAM offers significant performance advantages. In storage systems, performance is improved by storing copies of user data in memory; this is achieved by a caching module. For external storage devices, to effectively reduce data write latency, a successful write response is sent from the host to the storage device's cache. To prevent data loss due to single points of failure, a storage device chassis typically has two controllers. A write request from the host writes data to its local cache and simultaneously transmits the data via the link between the two controllers to a remote controller, where it is written to its cache. This process is called cache mirroring. Successful writes to both controllers are sufficient to notify the host of a successful write. By using cache mirroring, the data written to the storage device is replicated in the caches of both storage controllers. Even if one controller fails, the other controller still has accessible data, improving the availability of the storage system.

[0048] In this embodiment, when the local controller receives data written by the host and identifies the data with a preset size granularity, it generates relevant information and transmits the data to the remote controller for storage. This embodiment aims to reduce latency between the two controllers and optimize the response time of host write requests by reducing the amount of data transmitted. Specifically, this reduction is achieved by identifying data characteristics. These data characteristics refer to whether each bit in each preset size of data is all 0s or all 1s. If so, the local controller does not need to transmit the actual data; instead, it describes the characteristics of that data so that the remote controller can generate the data locally based on these characteristics. For data that does not meet the preset conditions, the actual data is transmitted. This technical solution reduces the amount of data transmitted between the local and remote controllers, thereby reducing latency between them.

[0049] In practical implementation, in order to accurately describe the storage location of the data and facilitate the generation and storage of data on the remote controller, the local controller also includes the following when transmitting data characteristics: the starting address of the data and the length of the data.

[0050] Specifically, data sent by the host is identified in 4KB granularities. If each bit of a consecutive 4KB data segment is either all 0s or all 1s, no data needs to be transmitted during data mirroring; only data characteristic information is transmitted. This data characteristic information is described by the following data structure fields: `lba` indicates the starting address of the written data; `len` indicates the length of data matching the same data characteristic; `all_zero` indicates whether the data is all 0s; and `all_one` indicates whether the data is all 1s.

[0051]

[0052] For example, as shown in Table 1 below, the host write data is as follows: 0-8KB is all 0s, 8KB-16KB is all 1s, 24KB-32KB is all 0s, and 16KB-24KB is a mix of 0s and 1s. Therefore, the content that needs to be transferred during data mirroring is...

[0053] {

[0054] [lba:0,len:8KB,all_zero:true,all_one:false],

[0055] [lba:8KB,len:8KB,all_zero:false,all_one:true],

[0056] [lba:16KB,len:8KB,all_zero:false,all_one:false],8KB data

[0057] [lba:24KB,len:8KB,all_zero:true,all_one:false]

[0058] }

[0059]

[0060] Table 1

[0061] Therefore, for the data shown in the table, the actual amount of data transmitted is 8KB + 4*sizeof(data_info). After receiving the transmission description information, the remote controller generates the correct data locally and writes it to the local cache. This method effectively reduces the amount of data transmitted during cache mirroring and improves cache mirroring efficiency for consecutive all-zero or all-one data.

[0062] In practice, steps S12 and S13 are not executed in any particular order; they can be performed together, or all the data can be identified and confirmed before being packaged and sent to the remote controller together.

[0063] The storage system cache mirroring method provided in this application checks whether each bit of a consecutive 4KB of data written by the host is all 0s or all 1s, using a preset size as the granularity. If so, this part of the data is not transmitted during cache mirroring. Instead, the data characteristics, including LBA and the length of the all-0s or all-1s data, are sent to the remote controller. The remote controller generates data with the same characteristics locally and writes it into its local cache. This method reduces the amount of data transmitted between controllers during cache mirroring.

[0064] The storage system cache mirroring method provided in this application involves a local controller acquiring data written by the host and identifying the data at a preset size granularity; confirming whether the data characteristics of each preset-sized segment of data meet preset conditions; transmitting the data characteristics of the preset-sized data that meet the preset conditions to a remote controller so that the remote controller can generate local data for storage based on the data characteristics; and transmitting the preset-sized data that does not meet the preset conditions to the remote controller for storage. Compared to the latency overhead caused by data transmission between two controllers in the current technology, this technical solution, by distinguishing the characteristics of the data, allows the local controller to transmit data that meets the preset conditions in the form of data characteristics to the remote controller, enabling the remote controller to generate local data for storage based on the data characteristics, and directly transmitting data that does not meet the preset conditions to the remote controller for storage. It can be seen that compared to transmitting all the data, this technical solution reduces the amount of data transmitted between controllers by transmitting data characteristics that describe the data features, enabling the remote controller to generate local data based on the characteristics, thereby reducing cache mirroring latency overhead and optimizing the response time of host write requests.

[0065] Based on the above embodiments, this embodiment provides a specific method for confirming whether data features meet preset conditions. Confirming whether the data features of each segment of data of a preset size meet the preset conditions includes:

[0066] Confirm whether all bits of the identified data segments of the preset size are either 0 or all bits are 1;

[0067] If so, then the preset conditions are confirmed to be met.

[0068] When the remote controller completes the cached image, it is usually necessary to send a message to the host to confirm the completion of the cached image. Therefore, in this embodiment, when the remote controller completes the cached image, it also includes: receiving the image success information returned by the remote controller and sending the success information to the host.

[0069] In addition, if data transmission between the local controller and the remote controller fails, the following also applies:

[0070] If data transmission to the remote controller fails, a retry will be performed. If the retry fails after a preset number of attempts, an alarm message will be sent.

[0071] The above embodiments provide a storage system cache mirroring method applied to a local controller. This application also provides another storage system cache mirroring method applied to a remote controller, including:

[0072] Receive data features from the local controller that meet preset conditions and are of a preset size, and generate local data based on the data features for storage.

[0073] Receive and store data of a preset size whose data characteristics do not meet preset conditions sent by the local controller.

[0074] Preferably, the data characteristics include:

[0075] Whether all bits of the data are 0 or all bits are 1, the starting address of the data, and the length of the data.

[0076] The storage system cache mirroring method provided in this application involves a local controller acquiring data written by the host and identifying the data at a preset size granularity; confirming whether the data characteristics of each preset-sized segment of data meet preset conditions; transmitting the data characteristics of the preset-sized data that meet the preset conditions to a remote controller so that the remote controller can generate local data for storage based on the data characteristics; and transmitting the preset-sized data that does not meet the preset conditions to the remote controller for storage. Compared to the latency overhead caused by data transmission between two controllers in the current technology, this technical solution, by distinguishing the characteristics of the data, allows the local controller to transmit data that meets the preset conditions in the form of data characteristics to the remote controller, enabling the remote controller to generate local data for storage based on the data characteristics, and directly transmitting data that does not meet the preset conditions to the remote controller for storage. It can be seen that compared to transmitting all the data, this technical solution reduces the amount of data transmitted between controllers by transmitting data characteristics that describe the data features, enabling the remote controller to generate local data based on the characteristics, thereby reducing cache mirroring latency overhead and optimizing the response time of host write requests.

[0077] The storage system cache mirroring method has been described in detail in the above embodiments. This application also provides embodiments corresponding to the storage system cache mirroring device. It should be noted that this application describes the embodiments of the device part from two perspectives: one is based on the functional module, and the other is based on the hardware.

[0078] Figure 2 A structural diagram of a storage system cache mirroring device provided in an embodiment of this application is shown below. Figure 2 As shown, this device is applied to the local controller and includes:

[0079] The identification module 10 is used to acquire the data written by the host and identify the data with a preset granularity;

[0080] Confirmation module 11 is used to confirm whether the data characteristics of each segment of data of a preset size meet the preset conditions;

[0081] The transmission module 12 is used to transmit the data characteristics of data of a preset size that meet preset conditions to the remote controller so that the remote controller can generate local data for storage based on the data characteristics; and to transmit the data of a preset size that does not meet preset conditions to the remote controller for storage.

[0082] Since the embodiments of the apparatus and the embodiments of the method correspond to each other, please refer to the description of the embodiments of the method for the embodiments of the apparatus, which will not be repeated here.

[0083] The storage system cache mirroring device provided in this application involves a local controller acquiring data written by the host and identifying the data in granularity of a preset size; confirming whether the data characteristics of each preset-sized segment of data meet preset conditions; transmitting the data characteristics of the preset-sized data that meet the preset conditions to a remote controller so that the remote controller can generate local data for storage based on the data characteristics; and transmitting the preset-sized data that does not meet the preset conditions to the remote controller for storage. Compared to the latency overhead caused by data transmission between two controllers in current technologies, this technical solution, by distinguishing data characteristics, allows the local controller to transmit data that meets the preset conditions in the form of data characteristics to the remote controller, enabling the remote controller to generate local data for storage based on the data characteristics, and directly transmitting data that does not meet the preset conditions to the remote controller for storage. It can be seen that compared to transmitting all the data, this technical solution reduces the amount of data transmitted between controllers by transmitting data characteristics that describe the data features, enabling the remote controller to generate local data based on the characteristics, thereby reducing cache mirroring latency overhead and optimizing the response time of host write requests.

[0084] Figure 3A structural diagram of another storage system cache mirroring device provided in the embodiments of this application is shown below. Figure 3 As shown, the device is used in a remote controller and includes:

[0085] The first storage module 13 is used to receive data features of data sent by the local controller that meet preset conditions and of a preset size, and to generate local data for storage based on the data features.

[0086] The second storage module 14 is used to receive and store data of a preset size whose data characteristics do not meet the preset conditions sent by the local controller.

[0087] The storage system cache mirroring device provided in this application involves a local controller acquiring data written by the host and identifying the data in granularity of a preset size; confirming whether the data characteristics of each preset-sized segment of data meet preset conditions; transmitting the data characteristics of the preset-sized data that meet the preset conditions to a remote controller so that the remote controller can generate local data for storage based on the data characteristics; and transmitting the preset-sized data that does not meet the preset conditions to the remote controller for storage. Compared to the latency overhead caused by data transmission between two controllers in current technologies, this technical solution, by distinguishing data characteristics, allows the local controller to transmit data that meets the preset conditions in the form of data characteristics to the remote controller, enabling the remote controller to generate local data for storage based on the data characteristics, and directly transmitting data that does not meet the preset conditions to the remote controller for storage. It can be seen that compared to transmitting all the data, this technical solution reduces the amount of data transmitted between controllers by transmitting data characteristics that describe the data features, enabling the remote controller to generate local data based on the characteristics, thereby reducing cache mirroring latency overhead and optimizing the response time of host write requests.

[0088] Figure 4 A structural diagram of another storage system cache mirroring device provided in the embodiments of this application is shown below. Figure 4 As shown, the device includes: a memory 20 for storing computer programs;

[0089] The processor 21 is used to implement the steps of the storage system cache mirroring method as described in the above embodiments when executing a computer program.

[0090] The storage system cache mirroring device provided in this embodiment may include, but is not limited to, smartphones, tablets, laptops, or desktop computers.

[0091] The processor 21 may include one or more processing cores, such as a quad-core processor or an octa-core processor. The processor 21 may be implemented using at least one of the following hardware forms: Digital Signal Processor (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). The processor 21 may also include a main processor and a coprocessor. The main processor, also known as the Central Processing Unit (CPU), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 21 may integrate a Graphics Processing Unit (GPU), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, the processor 21 may also include an Artificial Intelligence (AI) processor, which is used to handle computational operations related to machine learning.

[0092] The memory 20 may include one or more computer-readable storage media, which may be non-transitory. The memory 20 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In this embodiment, the memory 20 is used to store at least the following computer program 201, which, after being loaded and executed by the processor 21, is capable of implementing the relevant steps of the storage system cache image method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 20 may also include an operating system 202 and data 203, and the storage method may be temporary or permanent storage. The operating system 202 may include Windows, Unix, Linux, etc. The data 203 may include, but is not limited to, data characteristics.

[0093] In some embodiments, the storage system cache mirroring device may further include a display screen 22, an input / output interface 23, a communication interface 24, a power supply 25, and a communication bus 26.

[0094] Those skilled in the art will understand that Figure 4 The structure shown does not constitute a limitation on the storage system cache mirroring device and may include more or fewer components than shown.

[0095] The storage system cache mirroring device provided in this application includes a memory and a processor. When the processor executes a program stored in the memory, it can implement the following methods: acquiring data written by the host and identifying the data with a preset size as the granularity; confirming whether the data characteristics of each segment of preset-sized data identified meet preset conditions; transmitting the data characteristics of the preset-sized data whose data characteristics meet the preset conditions to a remote controller so that the remote controller can generate local data for storage based on the data characteristics; and transmitting the preset-sized data whose data characteristics do not meet the preset conditions to the remote controller for storage.

[0096] The storage system cache mirroring device provided in this application, compared to the latency overhead caused by data transmission between two controllers in current technologies, utilizes a different approach. By identifying data characteristics, the local controller transmits data that meets preset conditions to the remote controller in the form of data features. The remote controller can then generate local data for storage based on these data features, while data that does not meet the preset conditions is directly transmitted to the remote controller for storage. It can be seen that compared to transmitting all the data, this technical solution reduces the amount of data transmitted between controllers by transmitting data features that describe the characteristics of the data, enabling the remote controller to generate local data based on these features. This reduces cache mirroring latency overhead and optimizes the response time of host write requests.

[0097] Finally, this application also provides an embodiment corresponding to a computer-readable storage medium. The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps described in the above method embodiments (which may be a method corresponding to the local controller side, a method corresponding to the remote controller side, or a method corresponding to both the local controller side and the remote controller side).

[0098] It is understood that if the methods in the above embodiments are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0099] The computer-readable storage medium provided in this application, compared to the latency overhead caused by data transmission between two controllers in the prior art, utilizes this technical solution. By distinguishing data characteristics, the local controller transmits data that meets preset conditions to the remote controller in the form of data features. The remote controller can then generate local data for storage based on these data features, while data that does not meet the preset conditions is directly transmitted to the remote controller for storage. It can be seen that compared to transmitting all the data, this technical solution reduces the amount of data transmitted between controllers by transmitting data features describing the characteristics of the data, enabling the remote controller to generate local data based on these features. This reduces cache mirroring latency overhead and optimizes the response time of host write requests.

[0100] The storage system cache mirroring method, apparatus, and medium provided in this application have been described in detail above. The various embodiments in the specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

[0101] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

Claims

1. A storage system cache mirroring method, characterized in that, Applied to the local controller, including: The data written by the host is acquired and identified using a preset granularity. Confirm whether the data characteristics of each segment of data with a preset size meet the preset conditions; The data features of data of a preset size that meet the preset conditions are transmitted to the remote controller so that the remote controller can generate local data for storage based on the data features; Data of a preset size whose characteristics do not conform to the preset conditions are transmitted to the remote controller for storage. Whether the data characteristics of each segment of data of a preset size that has been confirmed and identified meet the preset conditions includes: Confirm whether all bits of the identified data segments of the preset size are either 0 or all bits are 1; If so, then the preset conditions are confirmed to be met; The data characteristics also include: the starting address of the data and the length of the data.

2. The storage system cache mirroring method according to claim 1, characterized in that, Also includes: When the remote controller completes the image caching, the system receives the image success message returned by the remote controller and sends a success message to the host.

3. The storage system cache mirroring method according to claim 1, characterized in that, Also includes: If data transmission to the remote controller fails, a retry will be performed. If the retry fails after a preset number of attempts, an alarm message will be sent.

4. A storage system cache mirroring method, characterized in that, Applications to remote controllers include: The system receives data features from the local controller that meet preset conditions and are of a preset size, and generates local data based on these data features for storage. Confirming whether the data features meet the preset conditions includes: confirming whether all bits of each segment of data of a preset size are 0 or all bits are 1; if so, it confirms that the preset conditions are met. Receive and store data of a preset size whose data characteristics do not conform to the preset conditions sent by the local controller; The data characteristics also include: the starting address of the data and the length of the data.

5. A storage system cache mirroring device, characterized in that, Applied to the local controller, including: The identification module is used to acquire data written by the host and identify the data with a preset granularity; The confirmation module is used to confirm whether the data characteristics of each segment of data of a preset size meet the preset conditions. The transmission module is used to transmit data features of data of a preset size that conforms to the preset conditions to a remote controller so that the remote controller can generate local data for storage based on the data features; and to transmit data of a preset size that does not conform to the preset conditions to the remote controller for storage. Whether the data characteristics of each segment of data of a preset size that has been confirmed and identified meet the preset conditions includes: Confirm whether all bits of the identified data segments of the preset size are either 0 or all bits are 1; If so, then the preset conditions are confirmed to be met; The data characteristics also include: the starting address of the data and the length of the data.

6. A storage system cache mirroring device, characterized in that, Includes memory used to store computer programs; A processor, configured to implement the steps of the storage system cache mirroring method as described in any one of claims 1 to 4 when executing the computer program.

7. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the storage system cache mirroring method as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Data backup method and apparatus

    CN106980556A

  • Method, equipment and program product for reducing cache data mirroring delay during I / O processing

    CN111124993A