CN111813344A - IO processing method, device, equipment and storage medium in remote copy - Google Patents

IO processing method, device, equipment and storage medium in remote copy Download PDF

Info

Publication number
CN111813344A
CN111813344A CN202010687051.1A CN202010687051A CN111813344A CN 111813344 A CN111813344 A CN 111813344A CN 202010687051 A CN202010687051 A CN 202010687051A CN 111813344 A CN111813344 A CN 111813344A
Authority
CN
China
Prior art keywords
target
stack
space
module
block
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.)
Granted
Application number
CN202010687051.1A
Other languages
Chinese (zh)
Other versions
CN111813344B (en
Inventor
张刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202010687051.1A priority Critical patent/CN111813344B/en
Publication of CN111813344A publication Critical patent/CN111813344A/en
Application granted granted Critical
Publication of CN111813344B publication Critical patent/CN111813344B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance

Abstract

The application discloses an IO processing method in remote copy, which is applied to a remote copy module of an IO stack and comprises the following steps: receiving a target IO issued by an upper module through a main terminal; if the target IO is a space recovery IO, marking the target IO using space recovery marking information through the main end; sending the target IO and the space recycling mark information to the auxiliary end through the main end; when the main terminal and the auxiliary terminal respectively issue the target IO to the lower module, the IO block of the target IO is replaced by the IO block with the set address, and then the target IO block is issued to the lower module. By applying the technical scheme provided by the application, the lower-layer module of the IO stack can accurately identify the space recovery IO, and the phenomenon that the space recovery IO occupies too much physical space when the lower-layer module is used as a normal read/write IO process is avoided. The application also discloses a processing device, equipment and storage medium of IO in remote copy, and the method and the equipment have corresponding technical effects.

Description

IO processing method, device, equipment and storage medium in remote copy
Technical Field
The present application relates to the field of computer application technologies, and in particular, to a method, an apparatus, a device, and a storage medium for IO processing in remote copy.
Background
The storage system may map disks for use by the host. In the remote copy of the storage backup, a host issues an IO (Input and Output) to a disk, where the issued IO may be a normal read/write IO or a space recovery IO, that is, an unmamap IO. The space recovery IO is a special IO, and if the space recovery IO can be normally identified by each layer of an IO stack, more physical space of a disk is not required to be occupied.
At present, for space recovery IO, the host computer sends down and then is received by the upper module of the IO stack, the upper module carries out special marking, after the main end of the Remote Copy (Remote Copy, RC) module passing through the IO stack is split, converted and the like, the upper module can disappear the special marking carried out on the upper module, the lower module of the IO stack cannot normally identify the IO stack as space recovery IO, and the IO stack can be treated as normal reading/writing and the like, and occupies more physical space of the disk.
In summary, how to correctly identify the IO by each layer of the IO stack and avoid the space recovery IO from occupying too much physical space of the disk is a technical problem that needs to be solved by those skilled in the art.
Disclosure of Invention
The application aims to provide an IO processing method, device, equipment and storage medium in remote copy, so that each layer of an IO stack can correctly identify IO, and excessive disk physical space occupied by space recovery IO is avoided.
In order to solve the technical problem, the application provides the following technical scheme:
a processing method of IO in remote copy is applied to a remote copy module of an IO stack, and comprises the following steps:
receiving a target IO transmitted by an upper module of the IO stack through a main terminal;
if the target IO is a space recovery IO, marking the target IO using space recovery marking information through the main end;
when the main end synchronizes to the auxiliary end, the main end sends the target IO and the space recycling mark information to the auxiliary end;
when the target IO is issued to the lower module of the IO stack through the main terminal and the auxiliary terminal, replacing the IO block of the target IO with the IO block with a set address, and then issuing the IO block to the lower module of the IO stack.
In a specific embodiment of the present application, the marking, by the master, the target IO usage space recycling marking information includes:
if the size of the target IO is larger than a preset value, splitting the target IO through the host;
and marking each split small IO by using space recycling marking information through the main terminal.
In a specific embodiment of the present application, the marking, by the master, the target IO usage space recycling marking information includes:
and adding space recycling mark information on the flag bit of the structural body where the IO block of the target IO is located through the main end.
In a specific embodiment of the present application, the sending, by the primary end, the target IO and the space recycling flag information to the secondary end includes:
reading the target IO in the IO block of the target IO through the main end;
reading the space recovery mark information on the flag bit of the structure;
and sending the target IO and the space mark information to the auxiliary terminal.
In one embodiment of the present application, the method further includes:
if the target IO is not the space recovery IO, the target IO is sent to the auxiliary end through the main end when the main end synchronizes to the auxiliary end;
and when the target IO is respectively issued to the lower-layer module of the IO stack through the main end and the auxiliary end, issuing the IO block of the target IO to the lower-layer module of the IO stack.
An apparatus for processing IO in remote copy, applied to a remote copy module of an IO stack, the apparatus comprising:
the receiving unit is used for receiving the target IO transmitted by the upper layer module of the IO stack through the main terminal;
the marking unit is used for marking the target IO usage space recycling marking information through the main terminal if the target IO is a space recycling IO;
the synchronization unit is used for sending the target IO and the space recycling mark information to the auxiliary end through the main end when the main end synchronizes to the auxiliary end;
and the issuing unit is used for replacing the IO block of the target IO with the IO block with a set address and then issuing the IO block to the lower module of the IO stack when the target IO is issued to the lower module of the IO stack through the main terminal and the auxiliary terminal.
In one embodiment of the present application, the marking unit is configured to:
if the size of the target IO is larger than a preset value, splitting the target IO through the host;
and marking each split small IO by using space recycling marking information through the main terminal.
In one embodiment of the present application, the marking unit is configured to:
and adding space recycling mark information on the flag bit of the structural body where the IO block of the target IO is located through the main end.
A processing device of an IO in remote copy, comprising:
a memory for storing a computer program;
and the processor is used for realizing the steps of the IO processing method in the remote copy when the computer program is executed.
A computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of any one of the methods for processing IO in remote copy described above.
By applying the technical scheme provided by the embodiment of the application, after the target IO issued by the upper module is received by the remote copying module of the IO stack through the main terminal, if the target IO is a space recovery IO, the remote copying module marks the use space recovery marking information through the main terminal, the target IO and the space recovery marking information are sent to the auxiliary terminal together, when the main terminal and the auxiliary terminal respectively issue the IO to the lower module of the IO stack, the IO block of the target IO is replaced by the IO block with the set address, and then the IO block is issued to the lower module of the IO stack, so that the lower module of the IO stack can accurately identify the space recovery IO, and the condition that the space recovery IO occupies too much physical space when the IO is treated as a normal read/write IO is avoided.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a flowchart illustrating an implementation of an IO processing method in remote copy according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of an IO processing apparatus in remote copy according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of an IO processing device in remote copy in an embodiment of the present application.
Detailed Description
The core of the application is to provide an IO processing method in remote copy, and the method can be applied to a remote copy module of an IO stack, namely an RC module.
After the host issues the IO to the disk, the IO is received by the upper module of the IO stack, and then the upper module of the IO stack issues the IO to the master of the RC module of the IO stack. The RC module may include a Master terminal Master and an Aux terminal. The host performs conversion (transfer) and other processing on the IO, and then sends the IO to a lower module of the IO stack, and the lower module performs corresponding processing in the disk of the host. Meanwhile, the main terminal sends the IO to the auxiliary terminal, the auxiliary terminal sends the IO to the lower module of the corresponding IO stack, and the lower module performs corresponding processing in the auxiliary disk. The auxiliary disk is a remote disk of the main disk. In the remote copy relationship, the main disk may be mapped to the host for reading and writing IO, and the auxiliary disk is used for synchronizing data from the main disk and performing data backup.
When the lower module of the IO stack processes normal read/write IO, it needs to occupy the physical space of the disk. However, if the IO sent by the host is not a normal read/write IO but a space recovery IO, that is, an UNMAP IO, the upper module of the IO stack marks the IO after receiving the IO, and then sends the IO to the master of the remote copy module. In the related art, after the conversion and the like of the master end of the remote copy module, the mark of the IO by the upper layer module will disappear. Because the main terminal can store the IO into the IO block, the IO is read out from the IO block for storing the IO and sent to the auxiliary terminal, and the IO block is sent to the lower module of the IO stack without related marking information. Under the condition, the lower layer module of the IO stack cannot correctly identify the space recovery IO, and can process the space recovery IO according to the normal read/write IO, so that more physical space of the disk is occupied.
In the embodiment of the application, IO is recycled to the space, the remote copying module marks the IO through the host, the IO and the space recycling mark information are sent to the auxiliary end together, when the host and the auxiliary end send the IO to the lower layer module of the IO stack respectively, the IO block of the target IO is replaced by the IO block with the set address, and then the IO block is sent to the lower layer module of the IO stack, so that the lower layer module of the IO stack can accurately identify the space recycling IO, and the phenomenon that the IO is used as normal read/write IO to occupy too much disk physical space is avoided.
In order that those skilled in the art will better understand the disclosure, the following detailed description will be given with reference to the accompanying drawings. It is to be understood that the embodiments described are only a few embodiments of the present application and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Referring to fig. 1, an implementation flowchart of an IO processing method in remote copy provided in an embodiment of the present application is shown, where the method may include the following steps:
s110: and receiving the target IO issued by the upper module of the IO stack through the main terminal.
When the host sends the IO to the disk, the upper module of the IO stack receives the IO first, and then the host sends the IO to the main end of the remote copy module of the IO stack. If the IO is the space recovery IO, the upper layer module performs special marking on the IO and then sends the IO to the main end of the remote copying module.
After the remote copy module of the IO stack receives the target IO issued by the upper module of the IO stack through the master, the operation of step S120 may be continuously executed.
S120: and if the target IO is the space recovery IO, marking the target IO using the space recovery marking information through the main end.
After the remote copy module of the IO stack receives the target IO issued by the upper module of the IO stack through the master, the target IO can be identified, and whether the target IO is a space recycling IO or not is determined.
Specifically, if the received target IO issued by the upper module carries a special mark, the IO may be determined as a space recycling IO, otherwise, the non-space recycling IO may be determined.
If the target IO is a space recovery IO, the target IO can be marked by the main end by using the space recovery marking information.
Specifically, the main terminal may add space recycling flag information to a flag bit of a structure where an IO block of the target IO is located.
In this embodiment of the present application, after receiving a target IO through a master, a remote copy module may put the target IO into a structure, where the structure may include an IO Block (Input and Output Block, IOB) and a flag bit, and the IO Block is used to store the target IO. The main end can add space recovery mark information on the flag bit of the structure.
S130: and when the main end synchronizes to the auxiliary end, the target IO and the space recycling mark information are sent to the auxiliary end through the main end.
When the main end synchronizes to the auxiliary end, the remote copy module can send the target IO and the space recycling mark information to the auxiliary end through the main end.
Specifically, the remote copy module may read a target IO from an IO block of the structure through the master end, read space recycling flag information on a flag bit of the structure, and then send the target IO and the space recycling flag information to the auxiliary end together.
Therefore, the auxiliary end can obtain the target IO and the space recovery mark information, and accordingly the target IO can be identified as the space recovery IO.
S140: when the main terminal and the auxiliary terminal respectively issue the target IO to the lower module of the IO stack, the IO block of the target IO is replaced by the IO block with the set address, and then the target IO is issued to the lower module of the IO stack.
When IO is to be issued, the main terminal and the auxiliary terminal respectively issue the IO to the corresponding lower layer module of the IO stack.
Because the target IO is a space recovery IO, when the target IO is respectively issued to the lower module of the IO stack through the main terminal and the auxiliary terminal, the IO block of the target IO can be replaced by the IO block with the set address, and then the target IO block is issued to the lower module of the IO stack.
In this embodiment, an address may be preset, and if an IO block has the set address, it may be identified as a space reclamation IO block, i.e., UNMAP IOB. The main end and the auxiliary end replace the IO block of the target IO with the IO block with the set address and then send the IO block to the lower layer module of the IO stack, so that the lower layer module of the IO stack can identify the IO block as a space recovery IO block after receiving the IO block, and the stored IO is determined as the space recovery IO. Therefore, corresponding processing is carried out on the space recovery IO, and the phenomenon that the space recovery IO occupies too much disk physical space when the space recovery IO is taken as normal read/write IO can be avoided.
By applying the method provided by the embodiment of the application, after the remote copying module of the IO stack receives the target IO issued by the upper module through the main terminal, if the target IO is the space recovery IO, the remote copying module marks the use space recovery marking information through the main terminal, and sends the target IO and the space recovery marking information to the auxiliary terminal together, when the main terminal and the auxiliary terminal respectively issue the IO to the lower module of the IO stack, the IO block of the target IO is replaced by the IO block with the set address, and then the IO block is issued to the lower module of the IO stack, so that the lower module of the IO stack can accurately identify the space recovery IO, and the phenomenon that the space recovery IO occupies too much physical space when the IO is treated as normal read/write IO is avoided.
In one embodiment of the present application, step S120 may include the steps of:
the method comprises the following steps: if the size of the target IO is larger than a preset value, splitting the target IO through the main end;
step two: and marking each split small IO by using space recycling marking information through the main terminal.
For convenience of description, the above two steps are combined for illustration.
In the embodiment of the application, when the remote copy module of the IO stack receives the target IO issued by the upper module of the IO stack through the master, the size of the target IO can be determined.
In practical applications, the remote copy module may have a certain limit on the size of the IO that it can handle, such as only being able to handle an IO of 32KB size. A preset value can be set according to actual conditions.
If the size of the target IO is larger than the preset value, the target IO can be split through the main terminal and split into a plurality of small IOs, and the size of each small IO can be smaller than or equal to the preset value.
If the target IO is a space recovery IO, the upper module of the IO stack performs special marking on the target IO when the target IO is issued, and when the target IO is split into a plurality of small IOs, the special marking disappears. Therefore, after the remote copy module splits the small IO usage space through the host, the small IO usage space recovery marking information can be marked.
Specifically, the space recycling flag information may be added to the flag bit of the structure where the IO block of each small IO is located.
Correspondingly, the target IO can be processed for each small IO by referring to the above description. I.e. each small IO may be considered as one target IO. When each small IO is issued to the lower module of the IO stack through the main terminal and the auxiliary terminal, the IO block of each small IO is replaced by the IO block with the set address, and then the IO block is issued to the lower module of the IO stack. So that the lower layer module can accurately identify each small IO as a space recovery IO.
In one embodiment of the present application, the method may further comprise the steps of:
the first step is as follows: if the target IO is not the space recovery IO, the target IO is sent to the auxiliary end through the main end when the main end synchronizes to the auxiliary end;
the second step is that: when the main terminal and the auxiliary terminal respectively issue the target IO to the lower module of the IO stack, the IO block of the target IO is issued to the lower module of the IO stack.
For convenience of description, the above two steps are combined for illustration.
And the remote copying module identifies the target IO after receiving the target IO transmitted by the upper layer module of the IO stack through the main terminal. If the target IO is not a space recycle IO, the target IO can be considered as a normal read/write IO.
When the main end synchronizes to the auxiliary end, the target IO can be sent to the auxiliary end through the main end. Because there is no space reclamation flag information, the auxiliary terminal may identify the target IO as a non-space reclamation IO when it receives it.
When the target IO is respectively sent to the lower module of the IO stack through the main terminal and the auxiliary terminal, the IO block of the target IO can be directly sent to the lower module of the IO stack, and the lower module can process the target IO as normal read/write IO.
Corresponding to the above method embodiment, an embodiment of the present application further provides a processing device for IO in remote copy, which is applied to a remote copy module of an IO stack, and the processing device for IO in remote copy described below and the processing method for IO in remote copy described above may be referred to correspondingly.
Referring to fig. 2, the apparatus may include the following units:
a receiving unit 210, configured to receive, through a master, a target IO issued by an upper module of an IO stack;
the marking unit 220 is configured to mark, by the master, the target IO usage space recycling marking information if the target IO is a space recycling IO;
the synchronization unit 230 is configured to send the target IO and the space recycling flag information to the auxiliary end through the main end when the main end synchronizes with the auxiliary end;
the issuing unit 240 is configured to, when the target IO is issued to the lower module of the IO stack through the main terminal and the auxiliary terminal, replace an IO block of the target IO with an IO block having a set address, and then issue the IO block to the lower module of the IO stack.
By applying the device provided by the embodiment of the application, after the target IO issued by the upper module is received by the remote copying module of the IO stack through the main terminal, if the target IO is the space recovery IO, the remote copying module marks the use space recovery marking information through the main terminal, the target IO and the space recovery marking information are sent to the auxiliary terminal together, when the main terminal and the auxiliary terminal respectively issue the IO to the lower module of the IO stack, the IO block of the target IO is replaced by the IO block with the set address, and then the IO block is issued to the lower module of the IO stack, so that the lower module of the IO stack can accurately identify the space recovery IO, and the phenomenon that the space recovery IO occupies too much disk physical space when the IO is treated as normal read/write IO is avoided.
In one embodiment of the present application, the marking unit 220 is configured to:
if the size of the target IO is larger than a preset value, splitting the target IO through the main end;
and marking each split small IO by using space recycling marking information through the main terminal.
In one embodiment of the present application, the marking unit 220 is configured to:
and adding space recycling mark information on the flag bit of the structure body where the IO block of the target IO is located through the main terminal.
In an embodiment of the present application, the synchronization unit 230 is configured to:
reading a target IO in an IO block of the target IO through a main end;
reading space recovery mark information on a flag bit of the structure body;
and sending the target IO and the space mark information to the auxiliary terminal.
In one embodiment of the present application,
the synchronization unit 230 is further configured to, if the target IO is not a space-recycling IO, send the target IO to the auxiliary end through the main end when the main end synchronizes with the auxiliary end;
the issuing unit 240 is further configured to issue the IO block of the target IO to the lower module of the IO stack when the target IO is issued to the lower module of the IO stack through the main terminal and the auxiliary terminal.
Corresponding to the above method embodiment, an embodiment of the present application further provides an IO processing device in remote copy, including:
a memory for storing a computer program;
and the processor is used for realizing the steps of the IO processing method in the remote copy when executing the computer program.
As shown in fig. 3, which is a schematic view of a composition structure of an IO processing device in remote copy, the IO processing device in remote copy may include: a processor 10, a memory 11, a communication interface 12 and a communication bus 13. The processor 10, the memory 11 and the communication interface 12 all communicate with each other through a communication bus 13.
In the embodiment of the present application, the processor 10 may be a Central Processing Unit (CPU), an application specific integrated circuit, a digital signal processor, a field programmable gate array or other programmable logic device, etc.
The processor 10 may call a program stored in the memory 11, and in particular, the processor 10 may perform an operation in an embodiment of a method of processing an IO in remote copy.
The memory 11 is used for storing one or more programs, the program may include program codes, the program codes include computer operation instructions, in this embodiment, the memory 11 stores at least the program for implementing the following functions:
receiving a target IO issued by an upper module of an IO stack through a main terminal;
if the target IO is a space recovery IO, marking the target IO using space recovery marking information through the main end;
when the main end synchronizes to the auxiliary end, the target IO and the space recycling mark information are sent to the auxiliary end through the main end;
when the main terminal and the auxiliary terminal respectively issue the target IO to the lower module of the IO stack, the IO block of the target IO is replaced by the IO block with the set address, and then the target IO is issued to the lower module of the IO stack.
In one possible implementation, the memory 11 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application program required by at least one function (e.g., an IO identification function, a data synchronization function), and the like; the storage data area may store data created during use, such as tag information data, identification data, and the like.
Further, the memory 11 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device or other volatile solid state storage device.
The communication interface 13 may be an interface of a communication module for connecting with other devices or systems.
Of course, it should be noted that the structure shown in fig. 3 does not constitute a limitation to the processing device of the IO in remote copy in the embodiment of the present application, and in practical applications, the processing device of the IO in remote copy may include more or less components than those shown in fig. 3, or some components may be combined.
Corresponding to the above method embodiment, an embodiment of the present application further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when being executed by a processor, the computer program implements the steps of the IO processing method in remote copy.
The embodiments are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same or similar parts among the embodiments are referred to each other.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The principle and the implementation of the present application are explained in the present application by using specific examples, and the above description of the embodiments is only used to help understanding the technical solution and the core idea of the present application. It should be noted that, for those skilled in the art, it is possible to make several improvements and modifications to the present application without departing from the principle of the present application, and such improvements and modifications also fall within the scope of the claims of the present application.

Claims (10)

1. A method for processing IO in remote copy is characterized in that the method is applied to a remote copy module of an IO stack, and comprises the following steps:
receiving a target IO transmitted by an upper module of the IO stack through a main terminal;
if the target IO is a space recovery IO, marking the target IO using space recovery marking information through the main end;
when the main end synchronizes to the auxiliary end, the main end sends the target IO and the space recycling mark information to the auxiliary end;
when the target IO is issued to the lower module of the IO stack through the main terminal and the auxiliary terminal, replacing the IO block of the target IO with the IO block with a set address, and then issuing the IO block to the lower module of the IO stack.
2. The method of claim 1, wherein the tagging, by the master, the target IO usage space reclamation tagging information comprises:
if the size of the target IO is larger than a preset value, splitting the target IO through the host;
and marking each split small IO by using space recycling marking information through the main terminal.
3. The method of claim 1, wherein the tagging, by the master, the target IO usage space reclamation tagging information comprises:
and adding space recycling mark information on the flag bit of the structural body where the IO block of the target IO is located through the main end.
4. The method according to claim 3, wherein the sending, by the primary side, the target IO and the space reclamation flag information to the secondary side comprises:
reading the target IO in the IO block of the target IO through the main end;
reading the space recovery mark information on the flag bit of the structure;
and sending the target IO and the space mark information to the auxiliary terminal.
5. The method of any one of claims 1 to 4, further comprising:
if the target IO is not the space recovery IO, the target IO is sent to the auxiliary end through the main end when the main end synchronizes to the auxiliary end;
and when the target IO is respectively issued to the lower-layer module of the IO stack through the main end and the auxiliary end, issuing the IO block of the target IO to the lower-layer module of the IO stack.
6. An apparatus for processing IO in remote copy, the apparatus being applied to a remote copy module of an IO stack, the apparatus comprising:
the receiving unit is used for receiving the target IO transmitted by the upper layer module of the IO stack through the main terminal;
the marking unit is used for marking the target IO usage space recycling marking information through the main terminal if the target IO is a space recycling IO;
the synchronization unit is used for sending the target IO and the space recycling mark information to the auxiliary end through the main end when the main end synchronizes to the auxiliary end;
and the issuing unit is used for replacing the IO block of the target IO with the IO block with a set address and then issuing the IO block to the lower module of the IO stack when the target IO is issued to the lower module of the IO stack through the main terminal and the auxiliary terminal.
7. The apparatus of claim 6, wherein the marking unit is configured to:
if the size of the target IO is larger than a preset value, splitting the target IO through the host;
and marking each split small IO by using space recycling marking information through the main terminal.
8. The apparatus of claim 6, wherein the marking unit is configured to:
and adding space recycling mark information on the flag bit of the structural body where the IO block of the target IO is located through the main end.
9. A device for processing IO in remote copy, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the method for processing IO in remote copy as claimed in any one of claims 1 to 5 when executing the computer program.
10. A computer-readable storage medium, having stored thereon a computer program which, when being executed by a processor, carries out the steps of the method for IO handling in remote copy according to any one of claims 1 to 5.
CN202010687051.1A 2020-07-16 2020-07-16 IO processing method, device, equipment and storage medium in remote copy Active CN111813344B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010687051.1A CN111813344B (en) 2020-07-16 2020-07-16 IO processing method, device, equipment and storage medium in remote copy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010687051.1A CN111813344B (en) 2020-07-16 2020-07-16 IO processing method, device, equipment and storage medium in remote copy

Publications (2)

Publication Number Publication Date
CN111813344A true CN111813344A (en) 2020-10-23
CN111813344B CN111813344B (en) 2022-06-17

Family

ID=72865267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010687051.1A Active CN111813344B (en) 2020-07-16 2020-07-16 IO processing method, device, equipment and storage medium in remote copy

Country Status (1)

Country Link
CN (1) CN111813344B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984641A (en) * 2014-05-22 2014-08-13 华为技术有限公司 Storage space recycling method and storage space recycling device based on thin provisioning technology
CN109240941A (en) * 2018-09-21 2019-01-18 郑州云海信息技术有限公司 A kind of rubbish recovering method and relevant apparatus of storage system
US10346260B1 (en) * 2015-09-30 2019-07-09 EMC IP Holding Company LLC Replication based security
CN110502453A (en) * 2019-08-16 2019-11-26 北京浪潮数据技术有限公司 A kind of memory space recovery method and device
CN110515551A (en) * 2019-08-22 2019-11-29 苏州浪潮智能科技有限公司 A kind of method and apparatus handling host IO and garbage reclamation
CN111007985A (en) * 2019-10-31 2020-04-14 苏州浪潮智能科技有限公司 Compatible processing method, system and equipment for space recovery of storage system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984641A (en) * 2014-05-22 2014-08-13 华为技术有限公司 Storage space recycling method and storage space recycling device based on thin provisioning technology
US10346260B1 (en) * 2015-09-30 2019-07-09 EMC IP Holding Company LLC Replication based security
CN109240941A (en) * 2018-09-21 2019-01-18 郑州云海信息技术有限公司 A kind of rubbish recovering method and relevant apparatus of storage system
CN110502453A (en) * 2019-08-16 2019-11-26 北京浪潮数据技术有限公司 A kind of memory space recovery method and device
CN110515551A (en) * 2019-08-22 2019-11-29 苏州浪潮智能科技有限公司 A kind of method and apparatus handling host IO and garbage reclamation
CN111007985A (en) * 2019-10-31 2020-04-14 苏州浪潮智能科技有限公司 Compatible processing method, system and equipment for space recovery of storage system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
THOMAS SCHWARZ等: "Combining Low IO-Operations During Data Recovery with Low Parity Overhead in Two-Failure Tolerant Archival Storage Systems", 《2015 IEEE 21ST PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING (PRDC)》 *
李劲: "数据复制系统的主端IO策略研究", 《微计算机信息》 *
牟虹燕等: "远程数据复制系统的性能优化策略", 《微处理机》 *

Also Published As

Publication number Publication date
CN111813344B (en) 2022-06-17

Similar Documents

Publication Publication Date Title
EP2908254A1 (en) Data redundancy implementation method and device
CN109783017B (en) Storage device bad block processing method and device and storage device
US10459837B2 (en) Data storage device with production state awareness and non-volatile memory operating method with production state awareness
CN104077197A (en) System recovery method, system recovery device, solid state disk and electronic equipment
CN109446147B (en) Data interaction method of network storage device and pcie device
CN103617260A (en) Index generation method and device for repeated data deletion
CN107992268B (en) Bad block marking method and related device
CN104965835A (en) Method and apparatus for reading and writing files of a distributed file system
CN111813344B (en) IO processing method, device, equipment and storage medium in remote copy
CN110019347B (en) Data processing method and device of block chain and terminal equipment
CN104346238A (en) Data backup method and device and terminal
CN104391760A (en) Data backup method, server and system
CN106302625A (en) Data-updating method, device and related system
CN112269772A (en) File deployment method, system, equipment and computer readable storage medium
CN113704177B (en) Storage method, system and related components of server firmware upgrade file
CN110720126B (en) Method for transmitting data mask, memory controller, memory chip and computer system
US10387054B2 (en) Secure element including a non-volatile memory and methods for saving and restoring data including defragmenting and compressing data stored in occupied and free regions
US20180081796A1 (en) Data Storage Device and Data Writing Method Thereof
CN112162699B (en) Data reading and writing method, device, equipment and computer readable storage medium
JPH0126099B2 (en)
CN111767339B (en) Data synchronization method and device, electronic equipment and storage medium
CN112162701B (en) Storage space recycling method, device, equipment and computer storage medium
CN106155916B (en) Data storage device and data reading method
CN110795283A (en) Cascade backup method, system, equipment and computer readable storage medium
CN110795043A (en) Distributed storage block zero setting method and device, electronic equipment 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