CN111176559B - Data writing method and device and dual-activity system - Google Patents
Data writing method and device and dual-activity system Download PDFInfo
- Publication number
- CN111176559B CN111176559B CN201911272697.7A CN201911272697A CN111176559B CN 111176559 B CN111176559 B CN 111176559B CN 201911272697 A CN201911272697 A CN 201911272697A CN 111176559 B CN111176559 B CN 111176559B
- Authority
- CN
- China
- Prior art keywords
- storage controller
- write operation
- operation command
- data
- writing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0837—Cache consistency protocols with software control, e.g. non-cacheable data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2017—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention discloses a data writing method and device and a dual-activity system, and belongs to the technical field of data storage. The method comprises the following steps: sending a first write operation command to a second storage controller; receiving a return message sent by a second storage controller; transmitting a forward write command to the second storage controller; receiving a forwarding write command sent by the second storage controller when determining to stop writing data to the second position according to the second write operation command and starting writing data to the second position according to the forwarding write command; and writing data to the first position according to the forwarding write command. The invention solves the problem of lower data writing efficiency, improves the data writing efficiency, and is used for writing data.
Description
Technical Field
The present invention relates to the field of data storage technologies, and in particular, to a data writing method and apparatus, and a dual-active system.
Background
A dual-active system is a common data storage system, and includes a first storage controller and a second storage controller, where each storage controller may have a storage array disposed thereon, and each storage array may include a plurality of storage locations. The host connected with the dual-activity system can send a write operation command containing a target storage position to the dual-activity system according to the requirement, so that a first storage controller and a second storage controller in the dual-activity system can write data to the target storage position on each storage controller according to the write operation command, and when the first storage controller fails, the host can acquire the data from the target storage position of the second storage controller.
For example, the target storage location on the first storage controller is a first location and the target storage location on the second storage controller is a second location. The host may send the write operation command to the first storage controller, and if the first storage controller is not writing data to the first location according to a write operation command at this time, the first storage controller may lock the first location and send the write operation command to the second storage controller, so that the first storage controller cannot write data to the first location according to other write operation commands at this time. In order to prevent the second storage controller from writing data to the second location according to the write operation command, the second storage controller may trigger the locking action for the second location after receiving the write operation command according to other write operation commands, so that the second storage controller cannot write data to the second location at this time according to other write operation commands. After the locking is completed, the second storage controller may send locking information indicating that the locking for the second location is successful to the first storage controller. Then, the first storage controller and the second storage controller may write data to the first location and the second location, respectively, according to the write operation command. After the second storage controller finishes writing the data to the second location, the second storage controller may send an end message to the first storage controller indicating that the writing of the data is finished. After the first storage controller receives the end message and finishes writing data into the first position, the lock on the first position can be released, an unlocking command is sent to the second storage controller, and after the second storage controller receives the unlocking command, the lock on the second position can be released. Alternatively, the lock in the second location may be a distributed lock management (English: distributed Lock Management; DLM) lock.
In the process of writing data in the dual-activity system, the first position and the second position need to be locked and unlocked, and in the process of locking and unlocking, the first storage controller and the second storage controller need to communicate for a plurality of times, so that the time consumed by data writing in the dual-activity system is long, and the data writing efficiency is low.
Disclosure of Invention
In order to solve the problem of low data writing efficiency, the invention provides a data writing method and device and a dual-activity system. The technical scheme is as follows:
in a first aspect, a data writing method is provided, which is used for a first storage controller in a dual-activity system, the dual-activity system further includes a second storage controller, and the method includes:
transmitting a first write operation command to a second storage controller, wherein the first write operation command is transmitted to the first storage controller by a host, the first write operation command is used for indicating that data is written in a target storage position, the target storage position in the first storage controller is a first position, and the target storage position in the second storage controller is a second position;
receiving a return message sent by the second storage controller, wherein the return message is used for indicating that the second storage controller is writing data to the second position according to a second write operation command when receiving the first write operation command, and generating and sending the return message to the first storage controller when determining that the priority of the second storage controller is higher than that of the first storage controller for the second storage controller;
Transmitting a forwarding write command to the second storage controller, wherein the operation indicated by the first forwarding write command is the same as the operation indicated by the write operation command;
receiving a forwarding write command sent by the second storage controller when the second storage controller determines to stop writing data to the second position according to the second write operation command and starts writing data to the second position according to the forwarding write command;
and writing data into the first position according to the forwarding writing command.
After the first storage controller sends the first write operation command to the second storage controller, the first storage controller receives a return message sent to the first storage controller when the second storage controller determines that the priority of the second storage controller is higher than that of the first storage controller and the second storage controller is writing data to the second position according to the second write operation command, and then the first storage controller sends a forward write command to the second storage controller, so that the first storage controller and the second storage controller write data to the first position and the second position respectively according to the forward write command. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
With reference to the first aspect, in a first implementation manner of the first aspect, before the sending the first write operation command to the second storage controller, the method further includes:
receiving the first write operation command sent by a host;
judging whether the first storage controller is writing data to the first position according to a third writing operation command;
the sending a first write operation command to a second storage controller includes:
and if the first storage controller is not writing data to the first position according to a third write operation command, writing data to the first position according to the first write operation command, and sending the first write operation command to the second storage controller.
After the first storage controller receives a first write operation command sent by the host, if the first storage controller is writing data to the first position according to a third write operation command at the moment, the first storage controller needs to wait for the first storage controller to write data to the first position according to the third write operation command after finishing writing the data to the first position according to the first write operation command, so that the first storage controller orderly processes the write operation command received by the first storage controller according to a certain sequence.
With reference to the first implementation manner of the first aspect, in a second implementation manner of the first aspect, before the sending the forwarding write command to the second storage controller, the method further includes:
and stopping writing data to the first position according to the first write operation command.
With reference to the first implementation manner or the second implementation manner of the first aspect, in a third implementation manner of the first aspect, each storage controller is provided with a write operation recording module, where the write operation recording module is used to record: the determining whether the first storage controller is writing data to the first location according to a third write operation command includes:
judging whether the first position is recorded in a write operation recording module on the first storage controller or not;
if the first position is recorded in a write operation recording module on the first storage controller, determining that the first storage controller is writing data to the first position according to a third write operation command;
and if the first position is not recorded in the write operation recording module on the first storage controller, determining that the first storage controller is not writing data to the first position according to a third write operation command.
In a second aspect, a data writing method is provided, which is used for a second storage controller in a dual-active system, where the dual-active system further includes a first storage controller, and the method includes:
receiving a first write operation command sent by a first storage controller, wherein the first write operation command is sent to a second storage controller by the first storage controller after receiving the first write operation command sent by a host, the first write operation command is used for indicating to write data in a target storage position, and the target storage position in the second storage controller is a second position;
sending a return message to the first storage controller when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than the priority of the first storage controller, wherein the return message is used for indicating that the second storage controller is writing data to the second location according to a second write operation command when receiving the first write operation command;
receiving a forwarding write command sent by the first storage controller, wherein the operation indicated by the forwarding write command is the same as the operation indicated by the write operation command;
And when the second storage controller stops writing data to the second position according to the second writing operation command, writing data to the second position according to the forwarding writing command, and sending the forwarding writing command to the first storage controller.
Because the second storage controller receives the first write operation command sent by the first storage controller, when the second storage controller is writing data to the second position according to the second write operation command and the priority of the second storage controller is higher than that of the first storage controller, a return message is sent to the first storage controller, then a forwarding write command sent by the first storage controller is received, when the second storage controller stops writing data to the second position according to the second write operation command, the data is written to the second position according to the forwarding write command, and the forwarding write command is sent to the first storage controller. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
With reference to the second aspect, in a first implementation manner of the second aspect, the method further includes:
and when the second storage controller is writing data to the second position according to the second write operation command, the priority of the second storage controller is lower than that of the first storage controller, and the second storage controller stops writing data to the second position according to the second write operation command, writing data to the second position according to the first write operation command.
If the second storage controller receives the first write operation sent by the first storage controller, the second storage controller is writing data to the second position according to the second write operation command, and at this time, the second storage controller determines that the priority of the first storage controller is higher than that of the second storage controller, then the second storage controller can write data to the second position according to the first write operation command after writing data to the second position according to the second write operation command is completed, so that the second storage controller is ensured to orderly process the write operation command received by the second storage controller.
With reference to the second aspect or the first implementation manner of the first aspect, in a second implementation manner of the second aspect, a write operation recording module is disposed on each storage controller, where the write operation recording module is used to record: the write operation recording module is located in a storage controller where data is being written,
Recording the second position in a write operation recording module on the second storage controller when the second storage controller is writing data to the second position according to the second write operation command;
when the second storage controller is not writing data to the second position according to the second write operation command, the second position is not recorded in a write operation recording module on the second storage controller.
In a third aspect, there is provided a data writing apparatus for a first storage controller in a dual-activity system, the dual-activity system further including a second storage controller, the data writing apparatus comprising:
a first sending module, configured to send a first write operation command to a second storage controller, where the first write operation command is sent by a host to the first storage controller, the first write operation command is used to instruct writing of data in a target storage location, the target storage location in the first storage controller is a first location, and the target storage location in the second storage controller is a second location;
the first receiving module is configured to receive a return message sent by the second storage controller, where the return message is used to instruct the second storage controller to write data to the second location according to a second write operation command when the second storage controller receives the first write operation command, and generate and send the return message to the first storage controller when the second storage controller determines that the priority of the second storage controller is higher than the priority of the first storage controller;
The second sending module is used for sending a forwarding write command to the second storage controller, and the operation indicated by the first forwarding write command is the same as the operation indicated by the write operation command;
a second receiving module, configured to receive the forwarding write command sent by the second storage controller when it is determined that writing of data to the second location according to the second write operation command is stopped, and writing of data to the second location according to the forwarding write command is started;
and the writing module is used for writing data into the first position according to the forwarding writing command.
With reference to the third aspect, in a first implementation manner of the third aspect, the data writing device further includes:
the fourth receiving module is used for receiving the first write operation command sent by the host;
the judging module is used for judging whether the first storage controller is writing data into the first position according to a third writing operation command;
the first sending module is further configured to:
when the first storage controller is not writing data to the first position according to a third write operation command, writing data to the first position according to the first write operation command, and sending the first write operation command to the second storage controller.
With reference to the first implementation manner of the third aspect, in a second implementation manner of the third aspect, the data writing device further includes:
and the stopping module is used for stopping writing data to the first position according to the first writing operation command.
With reference to the first implementation manner or the second implementation manner of the third aspect, in a third implementation manner of the third aspect, each storage controller is provided with a write operation recording module, where the write operation recording module is used to record: the write operation recording module is located in a storage controller where data is being written, and the judging module is further configured to:
judging whether the first position is recorded in a write operation recording module on the first storage controller or not;
determining that the first storage controller is writing data to the first location according to a third write operation command when the first location is recorded in a write operation recording module on the first storage controller;
when the first location is not recorded in a write operation recording module on the first storage controller, determining that the first storage controller is not writing data to the first location according to a third write operation command.
In a fourth aspect, there is provided a data writing apparatus for a second memory controller in a dual-activity system, the dual-activity system further including a first memory controller, the data writing apparatus comprising:
the first receiving module is used for receiving a first write operation command sent by a first storage controller, wherein the first write operation command is sent to the second storage controller after the first write operation command sent by a host is received by the first storage controller, the first write operation command is used for indicating to write data in a target storage position, and the target storage position in the second storage controller is a second position;
a sending module, configured to send a return message to the first storage controller when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than the priority of the first storage controller, where the return message is used to instruct the second storage controller to write data to the second location according to the second write operation command when the second storage controller receives the first write operation command;
the second receiving module is used for receiving a forwarding write command sent by the first storage controller, and the operation indicated by the forwarding write command is the same as the operation indicated by the write operation command;
And the first writing module is used for writing data to the second position according to the forwarding writing command and sending the forwarding writing command to the first storage controller when the second storage controller stops writing data to the second position according to the second writing command.
With reference to the fourth aspect, in a first implementation manner of the fourth aspect, the data writing device further includes:
and the second writing module is used for writing data to the second position according to the first writing operation command when the second storage controller is writing data to the second position according to the second writing operation command, the priority of the second storage controller is lower than that of the first storage controller, and the second storage controller stops writing data to the second position according to the second writing operation command.
With reference to the fourth aspect or the first implementation manner of the first aspect, in a second implementation manner of the fourth aspect, each storage controller is provided with a write operation recording module, where the write operation recording module is used to record: the write operation recording module is located in a storage controller where data is being written,
Recording the second position in a write operation recording module on the second storage controller when the second storage controller is writing data to the second position according to the second write operation command;
when the second storage controller is not writing data to the second position according to the second write operation command, the second position is not recorded in a write operation recording module on the second storage controller.
In a fifth aspect, a dual activity system is provided, the dual activity system comprising a first storage controller and a second storage controller,
the first storage controller is the data writing device described in any one of the third aspect or the third aspect;
the second storage controller is the data writing device described in any one of the fourth or fourth implementation manners.
In a sixth aspect, there is provided a data writing apparatus comprising: at least one processor, at least one network interface, a memory, and at least one communication bus, the processor configured to execute a program stored in the memory, the program comprising:
transmitting a first write operation command to a second storage controller, wherein the first write operation command is transmitted to the first storage controller by a host, the first write operation command is used for indicating that data is written in a target storage position, the target storage position in the first storage controller is a first position, and the target storage position in the second storage controller is a second position;
Receiving a return message sent by the second storage controller, wherein the return message is used for indicating that the second storage controller is writing data to the second position according to a second write operation command when receiving the first write operation command, and generating and sending the return message to the first storage controller when determining that the priority of the second storage controller is higher than that of the first storage controller for the second storage controller;
transmitting a forwarding write command to the second storage controller, wherein the operation indicated by the first forwarding write command is the same as the operation indicated by the write operation command;
receiving a forwarding write command sent by the second storage controller when the second storage controller determines to stop writing data to the second position according to the second write operation command and starts writing data to the second position according to the forwarding write command;
and writing data into the first position according to the forwarding writing command.
With reference to the sixth aspect, in a first implementation manner of the sixth aspect, before the sending the first write operation command to the second storage controller, the program further includes:
Receiving the first write operation command sent by a host;
judging whether the first storage controller is writing data to the first position according to a third writing operation command;
the sending a first write operation command to a second storage controller includes:
and if the first storage controller is not writing data to the first position according to a third write operation command, writing data to the first position according to the first write operation command, and sending the first write operation command to the second storage controller.
With reference to the first implementation manner of the sixth aspect, in a second implementation manner of the sixth aspect, before the sending the forwarding write command to the second storage controller, the program further includes:
and stopping writing data to the first position according to the first write operation command.
With reference to the first implementation manner or the second implementation manner of the sixth aspect, in a third implementation manner of the sixth aspect, each storage controller is provided with a write operation recording module, where the write operation recording module is used to record: the determining whether the first storage controller is writing data to the first location according to a third write operation command includes:
Judging whether the first position is recorded in a write operation recording module on the first storage controller or not;
if the first position is recorded in a write operation recording module on the first storage controller, determining that the first storage controller is writing data to the first position according to a third write operation command;
and if the first position is not recorded in the write operation recording module on the first storage controller, determining that the first storage controller is not writing data to the first position according to a third write operation command.
In a seventh aspect, there is provided a data writing apparatus comprising: at least one processor, at least one network interface, a memory, and at least one communication bus, the processor configured to execute a program stored in the memory, the program comprising:
receiving a first write operation command sent by a first storage controller, wherein the first write operation command is sent to a second storage controller by the first storage controller after receiving the first write operation command sent by a host, the first write operation command is used for indicating to write data in a target storage position, and the target storage position in the second storage controller is a second position;
Sending a return message to the first storage controller when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than the priority of the first storage controller, wherein the return message is used for indicating that the second storage controller is writing data to the second location according to a second write operation command when receiving the first write operation command;
receiving a forwarding write command sent by the first storage controller, wherein the operation indicated by the forwarding write command is the same as the operation indicated by the write operation command;
and when the second storage controller stops writing data to the second position according to the second writing operation command, writing data to the second position according to the forwarding writing command, and sending the forwarding writing command to the first storage controller.
With reference to the seventh aspect, in a first implementation manner of the seventh aspect, the program further includes:
and when the second storage controller is writing data to the second position according to the second write operation command, the priority of the second storage controller is lower than that of the first storage controller, and the second storage controller stops writing data to the second position according to the second write operation command, writing data to the second position according to the first write operation command.
With reference to the seventh aspect or the first implementation manner of the first aspect, in a second implementation manner of the seventh aspect, each storage controller is provided with a write operation recording module, where the write operation recording module is used to record: the write operation recording module is located in a storage controller where data is being written,
recording the second position in a write operation recording module on the second storage controller when the second storage controller is writing data to the second position according to the second write operation command;
when the second storage controller is not writing data to the second position according to the second write operation command, the second position is not recorded in a write operation recording module on the second storage controller.
In an eighth aspect, a dual activity system is provided that includes a first storage controller and a second storage controller,
the first storage controller is the data writing device of the sixth aspect or any implementation manner of the sixth aspect;
the second storage controller is the data writing device described in any one of the seventh or seventh implementation manners.
The invention provides a data writing method and device and a dual-activity system, wherein after a first storage controller sends a first writing operation command to a second storage controller, the first storage controller receives a return message sent to the first storage controller when the second storage controller determines that the priority of the second storage controller is higher than that of the first storage controller and the second storage controller is writing data to a second position according to the second writing operation command, and then the first storage controller sends a forwarding writing command to the second storage controller, so that the first storage controller and the second storage controller write data to a first position and a second position respectively according to the forwarding writing command. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for the description of the embodiments will be briefly described below, and it is apparent that the drawings in the following description are only some embodiments of the present invention, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic diagram of an application scenario of a data writing method according to an embodiment of the present invention;
FIG. 2 is a flow chart of a method for writing data according to an embodiment of the present invention;
FIG. 3 is a flowchart of another method for writing data according to an embodiment of the present invention;
FIG. 4-1 is a flow chart of a method for writing data according to another embodiment of the present invention;
FIG. 4-2 is a flowchart of a method for writing data according to an embodiment of the present invention;
FIGS. 4-3 are flowcharts of another method for writing data according to embodiments of the present invention;
FIG. 5-1 is a schematic diagram of a data writing device according to an embodiment of the present invention;
FIG. 5-2 is a schematic diagram illustrating another data writing device according to an embodiment of the present invention;
FIG. 5-3 is a schematic diagram illustrating a structure of a data writing device according to another embodiment of the present invention;
FIG. 6-1 is a schematic diagram of a data writing device according to another embodiment of the present invention;
FIG. 6-2 is a schematic diagram of a data writing device according to another embodiment of the present invention;
FIG. 7 is a schematic diagram of another data writing device according to another embodiment of the present invention;
FIG. 8 is a schematic diagram of a data writing device according to another embodiment of the present invention;
fig. 9 is a schematic structural diagram of a dual-active system according to an embodiment of the present invention.
Specific embodiments of the present invention have been shown by way of the above drawings and will be described in more detail below. The drawings and the written description are not intended to limit the scope of the inventive concepts in any way, but rather to illustrate the inventive concepts to those skilled in the art by reference to the specific embodiments.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the embodiments of the present invention will be described in further detail with reference to the accompanying drawings.
Fig. 1 is a schematic diagram of an application scenario of a data writing method according to an embodiment of the present invention, where an example of the application scenario may include a dual-active system 0 and a host 1, where the dual-active system 0 includes a first storage controller 01 and a second storage controller 02, each storage controller may be provided with a plurality of storage locations, and optionally, each storage controller may be provided with a storage array, where the storage array may include a plurality of storage blocks arranged in an array, and the plurality of storage locations are storage addresses of the plurality of storage blocks.
The host 1 may establish a connection with the first storage controller 01 and the second storage controller 02 in the dual-active system 0, and the host 1 may send a write operation command including a target storage location to the first storage controller 01 in the dual-active system 0 as needed, so that the first storage controller 01 and the second storage controller 02 in the dual-active system 0 write data to the target storage location on each storage controller according to the write operation command, and when the first storage controller 01 fails, the host 1 can acquire data from the target storage location of the second storage controller 02.
By way of example, the target storage location on the first storage controller 01 is a first location and the target storage location on the second storage controller 02 is a second location. The host 1 may send the write operation command to the first storage controller 01, and if the first storage controller 01 is not writing data to the first location according to a certain write operation command at this time, the first storage controller 01 may lock the first location and send the write operation command to the second storage controller 02, so that the first storage controller cannot write data to the first location according to other write operation commands at this time. In order to prevent the second storage controller 02 from writing data to the second location according to the write operation command, after the second storage controller 02 receives the write operation command, the second storage controller 02 may trigger the locking action for the second location, so that the second storage controller 02 cannot write data to the second location according to the other write operation command at this time. After writing the data to the second location is completed, the second storage controller 02 may send an end message to the first storage controller 01 indicating that the writing of the data is completed. After the first storage controller 01 receives the end message and finishes writing data into the first position, the lock on the first position can be released, and an unlocking command is sent to the second storage controller 02, and after receiving the unlocking command, the second storage controller 02 can release the lock on the second position. Alternatively, the locks in the first and second positions may be DLM locks.
Since the first location and the second location need to be locked and unlocked in the process of writing data in the dual-active system 0, and the first storage controller 01 and the second storage controller 02 need to communicate for many times in the process of locking and unlocking, the time consumed for writing data in the dual-active system 0 is long, and the efficiency of writing data is low.
As shown in fig. 2, an embodiment of the present invention provides a data writing method, which may be used for a first storage controller 01 in a dual-active system 0 as shown in fig. 1, where the dual-active system 0 may further include a second storage controller 02, and the data writing method may include:
In summary, in the data writing method provided by the embodiment of the present invention, after the first storage controller sends the first write operation command to the second storage controller, the first storage controller receives the return message sent to the first storage controller when the second storage controller determines that the priority of the second storage controller is higher than that of the first storage controller and the second storage controller is writing data to the second location according to the second write operation command, and then the first storage controller sends the forward write command to the second storage controller, so that the first storage controller and the second storage controller write data to the first location and the second location respectively according to the forward write command. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
Optionally, before step 201, the data writing method may further include:
receiving a first write operation command sent by a host;
judging whether the first storage controller is writing data to the first position according to the third writing operation command;
sending a first write operation command to a second storage controller, comprising:
if the first storage controller is not writing data to the first position according to the third write operation command, writing data to the first position according to the first write operation command, and sending the first write operation command to the second storage controller.
Optionally, before step 203, the data writing method may further include:
and stopping writing the data to the first position according to the first write operation command.
Optionally, each storage controller is provided with a write operation recording module, and the write operation recording module is used for recording: the determining whether the first storage controller is writing data to the first location according to the third write operation command may include:
judging whether a first position is recorded in a write operation recording module on the first storage controller;
if the first position is recorded in the write operation recording module on the first storage controller, determining that the first storage controller is writing data to the first position according to a third write operation command;
If the first position is not recorded in the write operation recording module on the first storage controller, determining that the first storage controller is not writing data to the first position according to the third write operation command.
In summary, in the data writing method provided by the embodiment of the present invention, after the first storage controller sends the first write operation command to the second storage controller, the first storage controller receives the return message sent to the first storage controller when the second storage controller determines that the priority of the second storage controller is higher than that of the first storage controller and the second storage controller is writing data to the second location according to the second write operation command, and then the first storage controller sends the forward write command to the second storage controller, so that the first storage controller and the second storage controller write data to the first location and the second location respectively according to the forward write command. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
As shown in fig. 3, an embodiment of the present invention provides another data writing method, which may be used for the second memory controller 02 in the dual-active system 0 shown in fig. 1, where the dual-active system 0 may further include the first memory controller 01, and the data writing method may include:
And step 304, when the second storage controller stops writing data to the second position according to the second write operation command, writing data to the second position according to the forwarding write command, and sending the forwarding write command to the first storage controller.
In summary, in the data writing method provided by the embodiment of the present invention, the second storage controller receives the first write operation command sent by the first storage controller, when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than that of the first storage controller, sends a return message to the first storage controller, then receives the forward write command sent by the first storage controller, and when the second storage controller stops writing data to the second location according to the second write operation command, writes data to the second location according to the forward write command and sends the forward write command to the first storage controller. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
Optionally, the data writing method may further include:
when the second storage controller is writing data to the second location according to the second write operation command, the priority of the second storage controller is lower than that of the first storage controller, and the second storage controller stops writing data to the second location according to the second write operation command, writing data to the second location according to the first write operation command.
Optionally, each storage controller is provided with a write operation recording module, and the write operation recording module is used for recording: the storage location in the storage controller where the write operation recording module is located where data is being written,
recording the second position in a write operation recording module on the second storage controller when the second storage controller is writing data to the second position according to the second write operation command;
when the second storage controller is not writing data to the second position according to the second write operation command, the second position is not recorded in a write operation recording module on the second storage controller.
In summary, in the data writing method provided by the embodiment of the present invention, the second storage controller receives the first write operation command sent by the first storage controller, when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than that of the first storage controller, sends a return message to the first storage controller, then receives the forward write command sent by the first storage controller, and when the second storage controller stops writing data to the second location according to the second write operation command, writes data to the second location according to the forward write command and sends the forward write command to the first storage controller. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
If the second storage controller receives the first write operation sent by the first storage controller, the second storage controller is writing data to the second position according to the second write operation command, and at this time, the second storage controller determines that the priority of the first storage controller is higher than that of the second storage controller, then the second storage controller can write data to the second position according to the first write operation command after writing data to the second position according to the second write operation command is completed, so that the second storage controller is ensured to orderly process the write operation command received by the second storage controller.
As shown in fig. 4-1, an embodiment of the present invention provides a data writing method, which may be used in the dual-active system 0 shown in fig. 1, where the dual-active system 0 may include a first memory controller 01 and a second memory controller 02, and the data writing method may include:
For example, the host may be host 1 in fig. 1, and when the host needs to write data into the dual-active system, the host may generate a first write operation command including the target storage location, that is, the first write operation command is used to instruct to write data in the target storage location. Specifically, the target storage location may store data, and the first write operation command generated by the host may be to modify the data in the target storage location; the target storage location may or may not have data stored thereon, and the first write command generated by the host may be to store data onto the target storage location. After generating the first write operation command, the host may send the first write operation command to the dual-active system.
For example, the first storage controller and the second storage controller may each be provided with a plurality of storage locations, where the target storage location in the first storage controller is a first location, and the target storage location in the second storage controller is a second location. Optionally, each of the first storage controller and the second storage controller may be provided with a storage array, where each storage array may include a plurality of storage blocks arranged in an array, and each storage block corresponds to one storage address, that is, one storage location.
Optionally, each storage controller may be provided with a write operation recording module, where the write operation recording module may be used to record: the write operation records the storage location in the storage controller where the module is located where data is being written. Further, the write operation recording module may also record a write operation command corresponding to a storage location where data is being written, and by way of example, the write operation recording module may include an input or output (english: in/Out; abbreviated: I/O) pool, where the I/O pool may be used to record a write operation command corresponding to a storage location where data is being written. When judging whether the first storage controller is writing data to the first position according to the third write operation command, the first storage controller can inquire the position recorded in the write operation recording module on the first storage controller, judge whether the first position is recorded in the write operation recording module on the first storage controller, and if the first position is recorded in the write operation recording module on the first storage controller, the first storage controller can determine that the first storage controller is writing data to the first position according to the third write operation command. If the first position is not recorded in the write operation recording module on the first storage controller, determining that the first storage controller is not writing data to the first position according to the third write operation command.
It should be noted that, if the first storage controller is writing data to the first location according to the third write operation command, the first storage controller may determine that the first storage controller receives the third write operation command earlier than the first write operation command. The operation indicated by the third write operation command may be the same as the operation indicated by the first write operation command, or the operation indicated by the third write operation command may be different from the operation indicated by the first write operation command, which is not limited in the embodiment of the present invention.
Specifically, the first storage controller may determine whether to stop writing data to the first location according to the third write operation command by querying, in real time, whether the first location is recorded in the write operation recording module on the first storage controller. If the first storage controller does not stop writing data to the first location according to the third write operation command, then step 403 is repeatedly performed until it is detected that the first storage controller stops writing data to the first location according to the third write operation command.
After writing the data to the first location according to the third write operation command, the first memory controller may stop writing the data to the first location according to the third write operation command. The first storage controller may also stop writing data to the first location in accordance with the third write operation command after receiving the return message sent by the second storage controller.
Step 404, the first storage controller writes data to the first location according to the first write operation command. Step 405 is performed.
If the first storage controller is not writing data to the first location according to the third write operation command, or the first storage controller stops writing data to the first location according to the third write operation command, then the first storage controller may write data to the first location according to the first write operation command. When the first storage controller writes data to the first position according to the first write operation command, the first position and the first write operation command corresponding to the first position may be recorded on the write operation recording module on the first storage controller.
After the first storage controller receives a first write operation command sent by the host, if the first storage controller is writing data to the first position according to a third write operation command at the moment, the first storage controller needs to wait for the first storage controller to write data to the first position according to the third write operation command after finishing writing the data to the first position according to the first write operation command, so that the first storage controller orderly processes the write operation command received by the first storage controller according to a certain sequence.
The first storage controller may send the first write operation command to the second storage controller while the first storage controller writes data to the first location in accordance with the first write operation command.
After receiving the first write operation command sent by the first storage controller, the second storage controller may determine whether the second storage controller is writing data to the second location according to the second write operation command.
When the second storage controller determines whether the second storage controller is writing data to the second location according to the second write operation command, the second storage controller may query the location recorded in the write operation recording module on the second storage controller, determine whether the second location is recorded in the write operation recording module on the second storage controller, and if the second location is recorded in the write operation recording module on the second storage controller, determine that the second storage controller is writing data to the second location according to the second write operation command. If the second position is not recorded in the write operation recording module on the second storage controller, determining that the second storage controller is not writing data to the second position according to the second write operation command.
It should be noted that, if the second storage controller is writing data to the first location according to the second write operation command, the first storage controller may determine that the second storage controller receives the second write operation command earlier than the first write operation command. The operation indicated by the second write operation command may be the same as the operation indicated by the first write operation command, or the operation indicated by the second write operation command may be different from the operation indicated by the first write operation command, which is not limited in the embodiment of the present invention.
Alternatively, the priorities of the first storage controller and the second storage controller may be preset, and the first storage controller and the second storage controller may each have a priority list stored thereon, where the priority list is used to record the priorities of the first storage controller and the second storage controller. If the priority list is shown in table 1, the first storage controller has a higher priority than the second storage controller, and if the priority list is shown in table 2, the second storage controller has a higher priority than the first storage controller. The second storage controller may query a priority list to determine a priority order of the first storage controller and the second storage controller.
TABLE 1
Memory controller | Priority level |
First memory controller | High height |
Second memory controller | Low and low |
TABLE 2
Memory controller | Priority level |
First memory controller | Low and low |
Second memory controller | High height |
In one aspect, after querying the priority list, if the second storage controller has a higher priority than the first storage controller, as shown in fig. 4-2, step 407 may include:
When the second storage controller receives the first write operation command sent by the first storage controller and determines that the second storage controller is writing data to the second location according to the second write operation, the second storage controller may generate a command for instructing the second storage controller to write data to the second location according to the second write operation command when receiving the first write operation command sent by the first storage controller, and send the generated return message to the first storage controller.
The first storage controller may stop writing data to the first location according to the first write operation command after receiving a return message sent by the second storage controller indicating that the second storage controller is writing data to the second location according to the second write operation command when receiving the first write operation command. When the first storage controller stops writing data to the first position according to the first write operation command, the write operation recording module on the first storage controller can delete the first position recorded in the write operation recording module and the first write operation command corresponding to the first position.
The first storage controller may generate a forwarding write command according to the first write command, and send the forwarding write command to the second storage controller, where an operation indicated by the forwarding write command is the same as an operation indicated by the first write command, and specifically, when generating the forwarding write command according to the first write command, only the format of the first write command may be modified, and the content of the first write command is not modified.
Optionally, after the first storage controller generates the forwarding write command according to the first write command, the first write command may be deleted. Specifically, the first storage controller may generate deletion information for indicating to delete the first write operation command, delete the first write operation command in the first storage controller according to the deletion information, and send the indication information to the second storage controller, so that the second storage controller deletes the first write operation command on the second storage controller. Optionally, the first storage controller may delete the first location recorded in the I/O pool on the first storage controller and the first write operation command corresponding to the first location, and the second storage controller may delete the second location recorded in the I/O pool on the second storage controller and the first write operation command corresponding to the second location.
Specifically, the second storage controller may determine whether to stop writing data to the second location according to the second write operation command by querying, in real time, whether the second location is recorded in the write operation recording module on the second storage controller. If the second position is recorded in the write operation recording module on the second storage controller, determining that the second storage controller is writing data to the second position according to a third write operation command; if the second position is not recorded in the write operation recording module on the second storage controller, determining that the second storage controller is not writing data to the second position according to the third write operation command.
If the second storage controller does not stop writing data to the second location according to the second write operation command, then step 4074a is repeated until it is detected that the second storage controller stops writing data to the second location according to the second write operation command. Note that, the second memory controller may stop writing data to the second location according to the second write operation command after writing data to the second location according to the second write operation command is completed. When the second storage controller stops writing data to the second position according to the second write operation command, the write operation recording module on the second storage controller can delete the second position recorded in the write operation recording module and the second write operation command corresponding to the second position.
If the second storage controller is not writing data to the second location according to the second write operation command, then the second storage controller may write data to the second location according to the forward write command.
Step 4076a, the second storage controller sends a forward write command to the first storage controller. Step 4077a is performed.
The second storage controller may send the forward write command to the first storage controller when the second storage controller may write data to the second location according to the forward write command.
Step 4077a, the first storage controller writes the data to the first location according to the forward write command.
Since the first storage controller has already written data to the first location according to the first write operation command in step 404 and stops writing data to the first location according to the first write operation command in step 4072a, if the forward write command is used to indicate to store data to the target storage location in step 4077a, the first storage controller may detect whether data is stored in the first location on the first storage controller after receiving the forward write command, and determine whether the data stored in the first location is the same as the data to be stored indicated by the forward write command, and if the data stored in the first location is the same as the data to be stored indicated by the forward write command, determine that the first storage controller finishes writing data to the first location according to the forward write command and stops writing data to the first location according to the forward write command. If the data stored in the first position is the same as a part of the data to be stored indicated by the forwarding write command, the data can be continuously written into the first position according to the forwarding write command until the data stored in the first position is completely the same as the data to be stored indicated by the forwarding write command, and then the data writing into the first position according to the forwarding write command is stopped.
Since the first storage controller has already written data to the first location according to the first write operation command in step 404 and stopped writing data to the first location according to the first write operation command in step 4072a, if the forward write command is used to instruct to modify data on the target storage location in step 4077a, the first storage controller may determine whether the data stored on the first location is the same as the data obtained by modifying the data on the first location according to the forward write command after receiving the forward write command, and if the data stored on the first location is the same as the data obtained by modifying the data on the first location according to the forward write command, determine that the first storage controller finishes writing data to the first location according to the forward write command and stops writing data to the first location according to the forward write command. If the data stored in the first location is the same as a part of the data obtained by modifying the data in the first location according to the forwarding write command, the data can be continuously written in the first location according to the forwarding write command until the data stored in the first location is identical to the data obtained by modifying the data in the first location according to the forwarding write command, and then the writing of the data in the first location according to the forwarding write command is stopped.
Optionally, after receiving the forwarding write command, the first storage controller may directly write data to the first location according to the forwarding write command, without detecting whether the data stored in the first location is the same as the data to be stored indicated by the forwarding write command (or the data obtained by modifying the data in the first location according to the forwarding write command). When writing data to the first location according to the forward write command, if the data W indicated by the forward write command has already been written to the first location, the data W indicated by the forward write command written in step 4077a may be overlaid on the data W already written to the first location when writing the data W indicated by the forward write command in step 4077 a.
It should be noted that, in step 4075a, after the second storage controller finishes writing data to the second location according to the forwarding write command, the write operation recording module on the second storage controller may delete the second location recorded in the write operation recording module and the forwarding write command corresponding to the second location, generate a finishing message for indicating that the second storage controller finishes writing data to the second location according to the forwarding write command, and send the finishing message to the first storage controller. After the first storage controller receives the finishing message sent by the second storage controller, the first storage controller can determine whether the first storage controller finishes writing data into the first position according to the forwarding write command, after determining whether the first storage controller finishes writing data into the first position according to the forwarding write command, a write operation recording module on the first storage controller can delete the first position recorded in the write operation recording module and the forwarding write command corresponding to the first position, generate a notification message for indicating that the dual-activity system finishes writing data into the target storage position according to the first write operation command, and then send the notification message to the host.
On the other hand, if the second storage controller has a lower priority than the first storage controller, as shown in fig. 4-3, step 407 may include:
Specifically, the second storage controller may determine whether to stop writing data to the second location according to the second write operation command by querying, in real time, whether the second location is recorded in the write operation recording module on the second storage controller. If the second position is recorded in the write operation recording module on the second storage controller, determining that the second storage controller is writing data to the second position according to a third write operation command; if the second position is not recorded in the write operation recording module on the second storage controller, determining that the second storage controller is not writing data to the second position according to the third write operation command.
If the second storage controller does not stop writing data to the second location according to the second write operation command, then step 4074a is repeated until it is detected that the second storage controller stops writing data to the second location according to the second write operation command. After writing the data to the second location according to the second write operation command, the second storage controller may stop writing the data to the second location according to the second write operation command, and the write operation recording module on the second storage controller may delete the second location recorded in the write operation recording module and the second write operation command corresponding to the second location.
If the second storage controller is not writing data to the second location according to the second write operation command, then the second storage controller may write data to the second location according to the forward write command and send the forward write command to the first storage controller. If the second storage controller receives the first write operation sent by the first storage controller, the second storage controller is writing data to the second position according to the second write operation command, and at this time, the second storage controller determines that the priority of the first storage controller is higher than that of the second storage controller, then the second storage controller can write data to the second position according to the first write operation command after writing data to the second position according to the second write operation command is completed, so that the second storage controller is ensured to orderly process the write operation command received by the second storage controller.
After writing data to the second location according to the first write operation command, the write operation recording module on the second storage controller may delete the second location recorded in the write operation recording module and the first write operation command corresponding to the second location, generate a finalization message for indicating that the second storage controller finishes writing data to the second location according to the first write operation command, and send the finalization message to the first storage controller. After the first storage controller receives the finishing message sent by the second storage controller, the first storage controller can determine whether the first storage controller finishes writing data to the first position according to the first writing operation command, after determining whether the first storage controller finishes writing data to the first position according to the first writing operation command, a writing operation recording module on the first storage controller can delete the first position recorded in the writing operation recording module and the first writing operation command corresponding to the first position, and generates a notification message for indicating that the dual-activity system finishes writing data to the target storage position according to the first writing operation command, and then sends the notification message to the host.
If the second storage controller is not writing data to the second location according to the second write operation command, then the second storage controller may write data to the second location according to the forward write command and send the forward write command to the first storage controller.
After writing data to the second location according to the first write operation command, the write operation recording module on the second storage controller may delete the second location recorded in the write operation recording module and the first write operation command corresponding to the second location, generate a finalization message for indicating that the second storage controller finishes writing data to the second location according to the first write operation command, and send the finalization message to the first storage controller. After the first storage controller receives the finishing message sent by the second storage controller, the first storage controller can determine whether the first storage controller finishes writing data to the first position according to the first writing operation command, after determining whether the first storage controller finishes writing data to the first position according to the first writing operation command, a writing operation recording module on the first storage controller can delete the first position recorded in the writing operation recording module and the first writing operation command corresponding to the first position, and generates a notification message for indicating that the dual-activity system finishes writing data to the target storage position according to the first writing operation command, and then sends the notification message to the host.
Optionally, the write operation recording module in the embodiment of the present invention may further include a copy PAIR (english: PAIR) and an I/O pool, where the I/O pool may be used to record a write operation command corresponding to a storage location where data is being written, the copy PAIR may query contents recorded in the I/O pool, and the copy PAIR may further manage contents recorded in the I/O pool, that is, delete a certain storage location recorded in the I/O pool and a write operation command corresponding to the storage location, or control the I/O to record a certain storage location and a write operation command corresponding to the storage location. In the embodiment of the present invention, the storage address of each storage block in the storage array set on each storage controller may be a logical unit number (english: logical Unit Number; abbreviated as LUN), and the storage location recorded in the I/O pool may also be a LUN of a certain storage block.
By way of example, the priority of the first storage controller and the priority of the second storage controller described in the embodiments of the present invention may be characterized by the following two methods, for example: the priority of the first storage controller and the priority of the second storage controller, or the priority of the storage position on the first storage controller and the priority of the storage position on the second storage controller, the storage position on the storage controller may be a position corresponding to a logical unit number (English: logical Unit Number; abbreviated: LUN) in the storage array. It should be noted that, the priority of the first storage controller and the priority of the second storage controller may also be characterized in other manners, which is not limited in the embodiment of the present invention.
In summary, in the data writing method provided by the embodiment of the present invention, after the first storage controller sends the first write operation command to the second storage controller, the first storage controller receives the return message sent to the first storage controller when the second storage controller determines that the priority of the second storage controller is higher than that of the first storage controller and the second storage controller is writing data to the second location according to the second write operation command, and then the first storage controller sends the forward write command to the second storage controller, so that the first storage controller and the second storage controller write data to the first location and the second location respectively according to the forward write command. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
If the second storage controller receives the first write operation sent by the first storage controller, the second storage controller is writing data to the second position according to the second write operation command, and at this time, the second storage controller determines that the priority of the first storage controller is higher than that of the second storage controller, then the second storage controller can write data to the second position according to the first write operation command after writing data to the second position according to the second write operation command is completed, so that the second storage controller is ensured to orderly process the write operation command received by the second storage controller.
As shown in fig. 5-1, an embodiment of the present invention provides a data writing device 50, where the data writing device 50 may be used in a first storage controller 01 of a dual-active system 0 shown in fig. 1, and the dual-active system 0 may further include a second storage controller 02, and the data writing device 50 may include:
the first sending module 501 is configured to send a first write operation command to the second storage controller, where the first write operation command is sent to the first storage controller by the host, and the first write operation command is used to instruct writing of data in a target storage location, where the target storage location in the first storage controller is a first location, and where the target storage location in the second storage controller is a second location.
The first receiving module 502 is configured to receive a return message sent by the second storage controller, where the return message is configured to instruct the second storage controller to write data to the second location according to the second write operation command when the second storage controller receives the first write operation command, and generate and send the return message to the first storage controller when the return message determines that the priority of the second storage controller is higher than the priority of the first storage controller for the second storage controller.
The second sending module 503 is configured to send a forwarding write command to the second storage controller, where an operation indicated by the first forwarding write command is the same as an operation indicated by the write operation command.
The second receiving module 504 is configured to receive a forward write command sent by the second storage controller when it is determined to stop writing data to the second location according to the second write operation command, and to start writing data to the second location according to the forward write command.
The writing module 505 is configured to write data to the first location according to the forwarding write command.
In summary, in the data writing device provided by the embodiment of the present invention, after the first sending module sends the first write operation command to the second storage controller, the first receiving module receives the return message sent to the first storage controller when the second storage controller determines that the priority of the second storage controller is higher than that of the first storage controller and the second storage controller is writing data to the second location according to the second write operation command, and then the second sending module sends the forward write command to the second storage controller, so that the first storage controller and the second storage controller write data to the first location and the second location respectively according to the forward write command. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
As shown in fig. 5-2, another data writing device 50 is provided in an embodiment of the present invention, where the data writing device 50 may be used in a first storage controller 01 of a dual active system 0 as shown in fig. 1, and the dual active system 0 may further include a second storage controller 02, and the data writing device 50 may include:
the first sending module 501 is configured to send a first write operation command to the second storage controller, where the first write operation command is sent to the first storage controller by the host, and the first write operation command is used to instruct writing of data in a target storage location, where the target storage location in the first storage controller is a first location, and where the target storage location in the second storage controller is a second location.
The first receiving module 502 is configured to receive a return message sent by the second storage controller, where the return message is configured to instruct the second storage controller to write data to the second location according to the second write operation command when the second storage controller receives the first write operation command, and generate and send the return message to the first storage controller when the return message determines that the priority of the second storage controller is higher than the priority of the first storage controller for the second storage controller.
The second sending module 503 is configured to send a forwarding write command to the second storage controller, where an operation indicated by the first forwarding write command is the same as an operation indicated by the write operation command.
The second receiving module 504 is configured to receive a forward write command sent by the second storage controller when it is determined to stop writing data to the second location according to the second write operation command, and to start writing data to the second location according to the forward write command.
The writing module 505 is configured to write data to the first location according to the forwarding write command.
A fourth receiving module 506, configured to receive the first write operation command sent by the host.
A determining module 507 is configured to determine whether the first storage controller is writing data to the first location according to the third write operation command.
In summary, in the data writing device provided by the embodiment of the present invention, after the first sending module sends the first write operation command to the second storage controller, the first receiving module receives the return message sent to the first storage controller when the second storage controller determines that the priority of the second storage controller is higher than that of the first storage controller and the second storage controller is writing data to the second location according to the second write operation command, and then the second sending module sends the forward write command to the second storage controller, so that the first storage controller and the second storage controller write data to the first location and the second location respectively according to the forward write command. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
The first transmitting module 501 may also be configured to:
when the first memory controller is not writing data to the first location according to the third write operation command, writing data to the first location according to the first write operation command, and sending the first write operation command to the second memory controller.
As shown in fig. 5-3, an embodiment of the present invention provides a further data writing device 50, where the data writing device 50 may be used in a first memory controller 01 of a dual active system 0 as shown in fig. 1, and the dual active system 0 may further include a second memory controller 02, and the data writing device 50 may include:
the first sending module 501 is configured to send a first write operation command to the second storage controller, where the first write operation command is sent to the first storage controller by the host, and the first write operation command is used to instruct writing of data in a target storage location, where the target storage location in the first storage controller is a first location, and where the target storage location in the second storage controller is a second location.
The first receiving module 502 is configured to receive a return message sent by the second storage controller, where the return message is configured to instruct the second storage controller to write data to the second location according to the second write operation command when the second storage controller receives the first write operation command, and generate and send the return message to the first storage controller when the return message determines that the priority of the second storage controller is higher than the priority of the first storage controller for the second storage controller.
The second sending module 503 is configured to send a forwarding write command to the second storage controller, where an operation indicated by the first forwarding write command is the same as an operation indicated by the write operation command.
The second receiving module 504 is configured to receive a forward write command sent by the second storage controller when it is determined to stop writing data to the second location according to the second write operation command, and to start writing data to the second location according to the forward write command.
The writing module 505 is configured to write data to the first location according to the forwarding write command.
A fourth receiving module 506, configured to receive the first write operation command sent by the host.
A determining module 507 is configured to determine whether the first storage controller is writing data to the first location according to the third write operation command.
A stop module 508 for stopping writing data to the first location according to the first write operation command.
In summary, in the data writing device provided by the embodiment of the present invention, after the first sending module sends the first write operation command to the second storage controller, the first receiving module receives the return message sent to the first storage controller when the second storage controller determines that the priority of the second storage controller is higher than that of the first storage controller and the second storage controller is writing data to the second location according to the second write operation command, and then the second sending module sends the forward write command to the second storage controller, so that the first storage controller and the second storage controller write data to the first location and the second location respectively according to the forward write command. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
Optionally, each storage controller is provided with a write operation recording module, and the write operation recording module is used for recording: the determining module 507 may be further configured to determine a storage location of the data being written in the storage controller in which the write operation recording module is located:
judging whether a first position is recorded in a write operation recording module on the first storage controller;
when the first position is recorded in a write operation recording module on the first storage controller, determining that the first storage controller is writing data to the first position according to a third write operation command;
when the first location is not recorded in the write operation recording module on the first storage controller, it is determined that the first storage controller is not writing data to the first location according to the third write operation command.
As shown in fig. 6-1, an embodiment of the present invention provides a further data writing device 60, where the data writing device 60 may be used in a second memory controller 02 of the dual active system 0 shown in fig. 1, and the dual active system 0 may further include a first memory controller 01, and the data writing device 60 may include:
the first receiving module 601 is configured to receive a first write operation command sent by a first storage controller, where the first write operation command is sent to a second storage controller after the first write operation command sent by a host is received, the first write operation command is used to indicate writing of data in a target storage location, and the target storage location in the second storage controller is a second location.
And a sending module 602, configured to send a return message to the first storage controller when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than the priority of the first storage controller, where the return message is used to instruct the second storage controller to write data to the second location according to the second write operation command when the second storage controller receives the first write operation command.
The second receiving module 603 is configured to receive a forwarding write command sent by the first storage controller, where an operation indicated by the forwarding write command is the same as an operation indicated by the write operation command.
The first writing module 604 is configured to, when the second storage controller stops writing data to the second location according to the second write operation command, write data to the second location according to the forward write command, and send the forward write command to the first storage controller.
In summary, in the data writing device provided by the embodiment of the invention, the first receiving module receives the first write operation command sent by the first storage controller, when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than that of the first storage controller, the sending module sends a return message to the first storage controller, then the second receiving module receives the forward write command sent by the first storage controller, and when the second storage controller stops writing data to the second location according to the second write operation command, the first writing module writes data to the second location according to the forward write command and sends the forward write command to the first storage controller. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
As shown in fig. 6-2, another embodiment of the present invention provides a data writing device 60, where the data writing device 60 may be used in a second memory controller 02 of a dual-active system 0 as shown in fig. 1, and the dual-active system 0 may further include a first memory controller 01, and the data writing device 60 may include:
the first receiving module 601 is configured to receive a first write operation command sent by a first storage controller, where the first write operation command is sent to a second storage controller after the first write operation command sent by a host is received, the first write operation command is used to indicate writing of data in a target storage location, and the target storage location in the second storage controller is a second location.
And a sending module 602, configured to send a return message to the first storage controller when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than the priority of the first storage controller, where the return message is used to instruct the second storage controller to write data to the second location according to the second write operation command when the second storage controller receives the first write operation command.
The second receiving module 603 is configured to receive a forwarding write command sent by the first storage controller, where an operation indicated by the forwarding write command is the same as an operation indicated by the write operation command.
The first writing module 604 is configured to, when the second storage controller stops writing data to the second location according to the second write operation command, write data to the second location according to the forward write command, and send the forward write command to the first storage controller.
The second writing module 605 is configured to write data to the second location according to the first writing command when the second storage controller is writing data to the second location according to the second writing command, the priority of the second storage controller is lower than the priority of the first storage controller, and the second storage controller stops writing data to the second location according to the second writing command.
In summary, in the data writing device provided by the embodiment of the invention, the first receiving module receives the first write operation command sent by the first storage controller, when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than that of the first storage controller, the sending module sends a return message to the first storage controller, then the second receiving module receives the forward write command sent by the first storage controller, and when the second storage controller stops writing data to the second location according to the second write operation command, the first writing module writes data to the second location according to the forward write command and sends the forward write command to the first storage controller. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
If the second storage controller receives the first write operation sent by the first storage controller, the second storage controller is writing data to the second position according to the second write operation command, and the priority of the first storage controller is higher than that of the second storage controller, the second write module can write data to the second position according to the first write operation command after writing data to the second position according to the second write operation command is completed, so that the second storage controller is ensured to orderly process the write operation command received by the second storage controller.
Optionally, each storage controller is provided with a write operation recording module, and the write operation recording module is used for recording: the storage location in the storage controller where the write operation recording module is located where data is being written,
when the second storage controller writes data to the second position according to the second write operation command, the second position is recorded in a write operation recording module on the second storage controller;
when the second storage controller is not writing data to the second location according to the second write operation command, the second location is not recorded in the write operation recording module on the second storage controller.
In summary, in the data writing device provided by the embodiment of the invention, the first receiving module receives the first write operation command sent by the first storage controller, when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than that of the first storage controller, the sending module sends a return message to the first storage controller, then the second receiving module receives the forward write command sent by the first storage controller, and when the second storage controller stops writing data to the second location according to the second write operation command, the first writing module writes data to the second location according to the forward write command and sends the forward write command to the first storage controller. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
As shown in fig. 7, another embodiment of the present invention provides another data writing device that may include at least one processor 701 (e.g., a CPU), at least one network interface 702 or other communication interface, a memory 703, and at least one communication bus 704 for enabling connected communications between the devices. The processor 701 is configured to execute executable modules, such as computer programs, stored in the memory 703. The memory 703 may comprise high speed random access memory (RAM: random Access Memory) and may also include non-volatile memory (non-volatile memory), such as at least one disk memory. The communication connection between the data writing means and at least one other network element is achieved via at least one network interface 702 (which may be wired or wireless), which may use the internet, a wide area network, a local network, a metropolitan area network, etc.
In some embodiments, the memory 703 stores a program 7031, the program 7031 being executable by the processor 701, the program 7031 comprising:
transmitting a first write operation command to a second storage controller, wherein the first write operation command is transmitted to the first storage controller by a host, the first write operation command is used for indicating that data is written in a target storage position, the target storage position in the first storage controller is a first position, and the target storage position in the second storage controller is a second position;
Receiving a return message sent by the second storage controller, wherein the return message is used for indicating that the second storage controller is writing data to the second position according to a second write operation command when receiving the first write operation command, and generating and sending the return message to the first storage controller when determining that the priority of the second storage controller is higher than that of the first storage controller for the second storage controller;
transmitting a forwarding write command to the second storage controller, wherein the operation indicated by the first forwarding write command is the same as the operation indicated by the write operation command;
receiving a forwarding write command sent by the second storage controller when the second storage controller determines to stop writing data to the second position according to the second write operation command and starts writing data to the second position according to the forwarding write command;
and writing data into the first position according to the forwarding writing command.
Optionally, before the sending the first write operation command to the second storage controller, the program 7031 may further include:
receiving the first write operation command sent by a host;
Judging whether the first storage controller is writing data to the first position according to a third writing operation command;
the sending a first write operation command to a second storage controller includes:
and if the first storage controller is not writing data to the first position according to a third write operation command, writing data to the first position according to the first write operation command, and sending the first write operation command to the second storage controller.
Optionally, before the forwarding write command is sent to the second storage controller, the method further includes:
and stopping writing data to the first position according to the first write operation command.
Optionally, each storage controller is provided with a write operation recording module, where the write operation recording module is used for recording: the determining whether the first storage controller is writing data to the first location according to a third write operation command includes:
judging whether the first position is recorded in a write operation recording module on the first storage controller or not;
If the first position is recorded in a write operation recording module on the first storage controller, determining that the first storage controller is writing data to the first position according to a third write operation command;
and if the first position is not recorded in the write operation recording module on the first storage controller, determining that the first storage controller is not writing data to the first position according to a third write operation command.
In summary, in the data writing device provided by the embodiment of the invention, after the first storage controller sends the first write operation command to the second storage controller, the first storage controller receives the return message sent to the first storage controller when the second storage controller determines that the priority of the second storage controller is higher than that of the first storage controller and the second storage controller is writing data to the second position according to the second write operation command, and then the first storage controller sends the forward write command to the second storage controller, so that the first storage controller and the second storage controller write data to the first position and the second position respectively according to the forward write command. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
As shown in FIG. 8, another embodiment of the present invention provides a data writing device that may include at least one processor 801 (e.g., CPU), at least one network interface 802 or other communication interface, a memory 803, and at least one communication bus 804 for enabling connected communication between the devices. The processor 801 is configured to execute executable modules, such as computer programs, stored in the memory 803. The memory 803 may comprise a high-speed random access memory (RAM: random Access Memory), and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory. The communication connection between the data writing means and the at least one other network element is realized via at least one network interface 802 (which may be wired or wireless), which may use the internet, a wide area network, a local network, a metropolitan area network, etc.
In some embodiments, the memory 803 stores a program 8031, the program 8031 being executable by the processor 801, the program 8031 comprising:
receiving a first write operation command sent by a first storage controller, wherein the first write operation command is sent to a second storage controller by the first storage controller after receiving the first write operation command sent by a host, the first write operation command is used for indicating to write data in a target storage position, and the target storage position in the second storage controller is a second position;
Sending a return message to the first storage controller when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than the priority of the first storage controller, wherein the return message is used for indicating that the second storage controller is writing data to the second location according to a second write operation command when receiving the first write operation command;
receiving a forwarding write command sent by the first storage controller, wherein the operation indicated by the forwarding write command is the same as the operation indicated by the write operation command;
and when the second storage controller stops writing data to the second position according to the second writing operation command, writing data to the second position according to the forwarding writing command, and sending the forwarding writing command to the first storage controller.
Optionally, the program 8031 may further include: and when the second storage controller is writing data to the second position according to the second write operation command, the priority of the second storage controller is lower than that of the first storage controller, and the second storage controller stops writing data to the second position according to the second write operation command, writing data to the second position according to the first write operation command.
Optionally, each storage controller is provided with a write operation recording module, where the write operation recording module is used for recording: the write operation recording module is located in a storage controller where data is being written,
recording the second position in a write operation recording module on the second storage controller when the second storage controller is writing data to the second position according to the second write operation command;
when the second storage controller is not writing data to the second position according to the second write operation command, the second position is not recorded in a write operation recording module on the second storage controller.
In summary, in the data writing device provided by the embodiment of the invention, the second storage controller receives the first write operation command sent by the first storage controller, when the second storage controller is writing data to the second location according to the second write operation command and the priority of the second storage controller is higher than that of the first storage controller, sends a return message to the first storage controller, then receives the forward write command sent by the first storage controller, and when the second storage controller stops writing data to the second location according to the second write operation command, writes data to the second location according to the forward write command and sends the forward write command to the first storage controller. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
As shown in fig. 9, an embodiment of the present invention provides a dual active system 90, which dual active system 90 may include a first storage controller 901 and a second storage controller 902.
In one aspect, the first memory controller 901 may be the data writing device 50 shown in FIG. 5-1, FIG. 5-2, or FIG. 5-3; the second memory controller 902 may be the data writing device 60 shown in fig. 6-1 or fig. 6-2.
On the other hand, the first memory controller 901 may be a data writing device shown in fig. 7; the second memory controller 902 may be a data writing device as shown in fig. 8.
In summary, in the dual-active system provided by the embodiment of the present invention, after the first storage controller sends the first write operation command to the second storage controller, the first storage controller receives the return message sent to the first storage controller when determining that the priority of the second storage controller is higher than that of the first storage controller and the second storage controller is writing data to the second location according to the second write operation command, and then the first storage controller sends the forward write command to the second storage controller, so that the first storage controller and the second storage controller write data to the first location and the second location according to the forward write command respectively. In the embodiment of the invention, the data is written into the second position in sequence according to the priority order of the first storage controller and the second storage controller, so that the second storage controller is prevented from writing the data into the same storage position according to two writing operation commands at the same time, and the second position is not required to be locked, thereby reducing the communication times between the first storage controller and the second storage controller, shortening the time consumed by data writing in a dual-activity system and improving the data writing efficiency.
It will be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working process of the data writing device and the dual-active system described above may refer to the corresponding process in the foregoing embodiment of the data writing method, which is not described herein again.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any adaptations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
In several embodiments provided in the present application, it should be understood that the disclosed dual active system, data writing apparatus and data writing method may be implemented in other manners. For example, the above-described embodiments of the data writing device are merely illustrative, and for example, the division of units in the data writing device is merely a logical function division, and there may be another division manner in actual implementation, for example, multiple units or components may be combined or may be integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
It is to be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims (8)
1. The data writing method is characterized by being applied to a dual-activity system, wherein the dual-activity system comprises a first storage controller and a second storage controller;
the first storage controller receives a first write operation command sent by a host, wherein the first write operation command is used for indicating writing data in a target storage position;
the first storage controller forwards the first write operation command to the second storage controller;
the second storage controller receives the first write operation command;
the second storage controller determining that the second storage controller has received a second write operation command indicating writing of data at the target storage location and that the second storage controller has a higher priority than the first storage controller;
when the second storage controller determines that the second storage controller has received a second write operation command and that the second storage controller has a higher priority than the first storage controller, the second storage controller does not execute the first write operation command.
2. The method as recited in claim 1, further comprising:
the second storage controller sends a return message to the first storage controller, the return message being used to instruct the second storage controller not to execute the first write operation command;
based on the return message, the first storage controller stops executing the first write operation command.
3. The method as recited in claim 1, further comprising:
the second storage controller forwards the second write operation command to the first storage controller;
the first storage controller receives the second write operation command, determines that the first storage controller has received the first write operation command, and that the first storage controller has a priority lower than the second storage controller;
the first memory controller executes the second write operation command.
4. The method of claim 3, further comprising, after the first memory controller executes the second write operation command:
the first storage controller sends the first write operation command to the second storage controller;
The second memory controller receives and executes the first write operation command.
5. A dual activity system comprising a first storage controller and a second storage controller;
the first storage controller is used for receiving a first write operation command sent by the host, and the first write operation command is used for indicating to write data in a target storage position; forwarding the first write operation command to the second storage controller;
the second storage controller is used for receiving the first write operation command; determining that the second storage controller has received a second write operation command indicating writing of data at the target storage location and that the second storage controller has a higher priority than the first storage controller; when the second storage controller determines that the second storage controller has received a second write operation command and that the second storage controller has a higher priority than the first storage controller, the second storage controller does not execute the first write operation command.
6. A dual activity system according to claim 5, wherein,
The second storage controller is further configured to send a return message to the first storage controller, where the return message is configured to instruct the second storage controller not to execute the first write operation command;
the first memory controller is further configured to stop executing the first write operation command based on the return message.
7. A dual activity system according to claim 5, wherein,
the second storage controller is further configured to forward the second write operation command to the first storage controller;
the first storage controller is further configured to receive the second write operation command, determine that the first storage controller has received the first write operation command, and that the first storage controller has a priority lower than the second storage controller; and executing the second write operation command.
8. A dual activity system according to claim 5, wherein,
the first storage controller is further configured to send the first write operation command to the second storage controller after the first storage controller executes the second write operation command;
the second memory controller is also configured to receive and execute the first write operation command.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911272697.7A CN111176559B (en) | 2015-12-04 | 2015-12-04 | Data writing method and device and dual-activity system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510885958.8A CN106844234B (en) | 2015-12-04 | 2015-12-04 | Data writing method and device and double-active system |
CN201911272697.7A CN111176559B (en) | 2015-12-04 | 2015-12-04 | Data writing method and device and dual-activity system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510885958.8A Division CN106844234B (en) | 2015-12-04 | 2015-12-04 | Data writing method and device and double-active system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111176559A CN111176559A (en) | 2020-05-19 |
CN111176559B true CN111176559B (en) | 2023-07-11 |
Family
ID=59150511
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911272697.7A Active CN111176559B (en) | 2015-12-04 | 2015-12-04 | Data writing method and device and dual-activity system |
CN201510885958.8A Active CN106844234B (en) | 2015-12-04 | 2015-12-04 | Data writing method and device and double-active system |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510885958.8A Active CN106844234B (en) | 2015-12-04 | 2015-12-04 | Data writing method and device and double-active system |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN111176559B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108663971A (en) * | 2018-06-01 | 2018-10-16 | 北京汉能光伏投资有限公司 | Order retransmission method and device, solar energy system and central controller |
CN110881277A (en) * | 2018-07-04 | 2020-03-13 | 华为技术有限公司 | Data storage method, device and related equipment |
CN109445992A (en) * | 2018-11-01 | 2019-03-08 | 郑州云海信息技术有限公司 | A kind of dual-active System data management method and relevant apparatus |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1206147A (en) * | 1989-05-17 | 1999-01-27 | 国际商业机器公司 | Apparatus for submitting fault-tolerant environmental and system structure in data processing system |
EP1400893A2 (en) * | 2002-09-18 | 2004-03-24 | Hitachi, Ltd. | Storage system and control method |
JP2005071100A (en) * | 2003-08-25 | 2005-03-17 | Fujitsu Ltd | Storage controller and its control method |
CN101464781A (en) * | 2008-12-31 | 2009-06-24 | 成都市华为赛门铁克科技有限公司 | Port control method and apparatus, and solid state disk |
CN101719052A (en) * | 2009-12-22 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | Method, device and system for writing data |
CN102331977A (en) * | 2011-09-07 | 2012-01-25 | 上海交通大学 | Memory controller, processor system and memory access control method |
CN103530066A (en) * | 2013-09-16 | 2014-01-22 | 华为技术有限公司 | Data storage method, device and system |
CN103562872A (en) * | 2011-06-01 | 2014-02-05 | 国际商业机器公司 | Resource allocation for a plurality of resources for a dual activity system |
CN103680594A (en) * | 2012-08-29 | 2014-03-26 | 三星电子株式会社 | Memory device for reducing a write fail, a system including the same, and a method thereof |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4993913B2 (en) * | 2006-01-13 | 2012-08-08 | 株式会社日立製作所 | Storage control device and data management method thereof |
KR101497074B1 (en) * | 2008-06-17 | 2015-03-05 | 삼성전자주식회사 | Non-volatile memory system and data manage method thereof |
US8862816B2 (en) * | 2010-01-28 | 2014-10-14 | International Business Machines Corporation | Mirroring multiple writeable storage arrays |
CN103513956B (en) * | 2012-06-26 | 2016-04-06 | 阿里巴巴集团控股有限公司 | A kind of method of processor processes data and device |
US20150261446A1 (en) * | 2014-03-12 | 2015-09-17 | Futurewei Technologies, Inc. | Ddr4-onfi ssd 1-to-n bus adaptation and expansion controller |
CN104407814B (en) * | 2014-11-21 | 2017-10-17 | 华为技术有限公司 | Double method and apparatus for writing data |
-
2015
- 2015-12-04 CN CN201911272697.7A patent/CN111176559B/en active Active
- 2015-12-04 CN CN201510885958.8A patent/CN106844234B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1206147A (en) * | 1989-05-17 | 1999-01-27 | 国际商业机器公司 | Apparatus for submitting fault-tolerant environmental and system structure in data processing system |
EP1400893A2 (en) * | 2002-09-18 | 2004-03-24 | Hitachi, Ltd. | Storage system and control method |
JP2005071100A (en) * | 2003-08-25 | 2005-03-17 | Fujitsu Ltd | Storage controller and its control method |
CN101464781A (en) * | 2008-12-31 | 2009-06-24 | 成都市华为赛门铁克科技有限公司 | Port control method and apparatus, and solid state disk |
CN101719052A (en) * | 2009-12-22 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | Method, device and system for writing data |
CN103562872A (en) * | 2011-06-01 | 2014-02-05 | 国际商业机器公司 | Resource allocation for a plurality of resources for a dual activity system |
CN102331977A (en) * | 2011-09-07 | 2012-01-25 | 上海交通大学 | Memory controller, processor system and memory access control method |
CN103680594A (en) * | 2012-08-29 | 2014-03-26 | 三星电子株式会社 | Memory device for reducing a write fail, a system including the same, and a method thereof |
CN103530066A (en) * | 2013-09-16 | 2014-01-22 | 华为技术有限公司 | Data storage method, device and system |
Non-Patent Citations (2)
Title |
---|
Software-Defined Data Center;Ghazanfar Ali等;《ZTE Communications》;20131205(第04期);151-156 * |
基于FPGA的信号存储控制器的设计;李静梅等;《应用科技》;20090405(第04期);222-227 * |
Also Published As
Publication number | Publication date |
---|---|
CN106844234B (en) | 2020-01-03 |
CN106844234A (en) | 2017-06-13 |
CN111176559A (en) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220309007A1 (en) | Data Write Method, Apparatus, and System | |
US20140181035A1 (en) | Data management method and information processing apparatus | |
CN106527974B (en) | A kind of method that writing data, equipment and system | |
US20160350192A1 (en) | Storage system transactions | |
US10496608B2 (en) | Synchronizing changes in a file system which are initiated by a storage device and a host device | |
CN111176559B (en) | Data writing method and device and dual-activity system | |
CN100530069C (en) | Virtualizing system and method for non-homogeny storage device | |
US20190332540A1 (en) | Storage management method, electronic device and computer readable medium | |
JP5381713B2 (en) | Data storage system for virtual machine, data storage method, and data storage program | |
CN106104515A (en) | Utilize File system design and the fault recovery method of nonvolatile memory | |
CN109213429B (en) | Storage management method and device | |
US20060085598A1 (en) | Storage-device resource allocation method and storage device | |
US20160266808A1 (en) | Information processing device, information processing method, and recording medium | |
US8886597B2 (en) | Synchronizing changes in a file system which are initiated by a storage device and a host device | |
CN105205160A (en) | Data write-in method and device | |
CN113254536A (en) | Database transaction processing method, system, electronic device and storage medium | |
JP5673396B2 (en) | Information processing system, information processing program, and information processing method | |
CN108132759A (en) | A kind of method and apparatus that data are managed in file system | |
CN110647476B (en) | Method, device and equipment for writing data in solid state disk and storage medium | |
JP2015170271A (en) | Storage area management apparatus, storage area management method, and storage area management program | |
CN105335441B (en) | Distributed file system based on local area network | |
US7039659B2 (en) | Method and apparatus for making differential independent data copies in a data processing system | |
US9235349B2 (en) | Data duplication system, data duplication method, and program thereof | |
US20140365736A1 (en) | Hardware Based Cache Scan with Divert Node Handling | |
CN111324668B (en) | Database data synchronous processing method, device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |