WO2020007058A1 - 写数据方法及存储系统 - Google Patents

写数据方法及存储系统 Download PDF

Info

Publication number
WO2020007058A1
WO2020007058A1 PCT/CN2019/076846 CN2019076846W WO2020007058A1 WO 2020007058 A1 WO2020007058 A1 WO 2020007058A1 CN 2019076846 W CN2019076846 W CN 2019076846W WO 2020007058 A1 WO2020007058 A1 WO 2020007058A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
time stamp
instruction message
write data
receiving
Prior art date
Application number
PCT/CN2019/076846
Other languages
English (en)
French (fr)
Inventor
翁文第
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP19831322.3A priority Critical patent/EP3796173A4/en
Publication of WO2020007058A1 publication Critical patent/WO2020007058A1/zh
Priority to US17/141,953 priority patent/US11500741B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Definitions

  • the invention relates to the field of data storage, in particular to a method for writing data and a storage system.
  • Data snapshots are data protection technologies that have emerged to meet such needs.
  • a snapshot is a mirror of a data set at a specific moment, also known as an instant copy, and it is a fully available copy of this data set.
  • the present application provides a method for writing data and a storage system, which ensures time consistency of taking snapshots of logical storage areas and reduces performance fluctuations.
  • the present application provides a method for writing data.
  • the method is applied to a storage system.
  • the storage system includes a first controller and a second controller.
  • the method includes:
  • the second controller After the second controller receives the first write data request, it determines whether the locally saved first time stamp is in the invalid state; when the second controller determines that the locally saved first time stamp is in the expired state, The first controller reads the first time stamp; and saves a correspondence between the first time stamp and the first write data request. This method is used to ensure the time consistency of taking snapshots of logical storage areas and reduce performance fluctuations.
  • the storage system further includes a logical storage area, and the first controller and the second controller can both read and write data from the logical storage area.
  • the method further includes:
  • the first controller When the first controller performs a snapshot operation on the logical storage area, the first controller sends a first instruction message to the second controller, where the first instruction message is used to indicate that the first time stamp saved locally is invalid;
  • the second controller After receiving the first indication message, the second controller sets the first time stamp saved locally to the invalid state.
  • the method further includes:
  • the second controller After receiving the second instruction message, the second controller saves the second time stamp locally;
  • the second controller After receiving the second write data request, the second controller reads the second time stamp from the local controller, and saves the correspondence between the second time stamp and the second write data request.
  • the time stamps corresponding to all the write data requests received are from The first controller.
  • the present application further provides a storage system, where the storage system includes a first controller and a second controller,
  • the second controller is configured to determine whether the first time stamp stored locally is in an invalid state after receiving the first write data request;
  • the second controller is further configured to read the first time stamp from the first controller when it is determined that the locally saved first time stamp is in an invalid state; and save the first time stamp and A correspondence relationship between the first write data requests.
  • the storage system further includes a logical storage area; both the first controller and the second controller can read and write data from the logical storage area
  • the first controller is configured to send a first instruction message to the second controller when performing a snapshot operation on the logical storage area, and the first instruction message is used for The first time stamp indicating the local storage is invalid;
  • the second controller is further configured to set the first time stamp saved locally to the invalid state after receiving the first indication message;
  • the first controller is further configured to send a second instruction message to the second controller, where the second instruction message is used to indicate that the first controller has sent the first controller One time label is modified to a second time label;
  • the second controller is further configured to save the second time stamp locally after receiving the second instruction message
  • the second controller is further configured to, after receiving the second write data request, read the second time stamp from its local storage, and save the correspondence between the second time stamp and the second write data request relationship.
  • the time stamps corresponding to all the write data requests received are from The first controller.
  • FIG. 1 is a schematic structural diagram of a storage system according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a controller according to an embodiment of the present invention.
  • FIG. 3 is a schematic flowchart of a data writing method according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of another data writing method according to an embodiment of the present invention.
  • FIG. 1 is a schematic structural diagram of a storage system according to an embodiment of the present invention.
  • the storage system includes at least two controllers (the first controller 11 and the second controller 22 shown in FIG. 1) and a plurality of logical storage areas 44.
  • the controller 11 and the controller 22 are respectively connected to a host (not shown in the figure) through a storage area network (storage area network, SAN).
  • the controller 11 and the controller 22 can communicate with each other.
  • the controller 11 and the controller 22 have the same physical structure and functions. Taking the controller 11 as an example, it may be a computing device, such as a server, a desktop computer, and so on. An operating system and application programs are installed on the controller 11.
  • the controller 11 may receive input / output (I / O) requests from the host.
  • the controller 11 may also store data (if any) carried in the I / O request, and write the data into the storage device 44.
  • the storage device 44 includes, but is not limited to, storage devices such as solid state disks (SSDs), mobile hard disks, and mechanical hard disks.
  • SSDs solid state disks
  • mobile hard disks mobile hard disks
  • mechanical hard disks mechanical hard disks
  • the above-mentioned SSD is a memory using a flash memory (flash memory) chip as a storage medium, also known as a solid state drive (SSD).
  • flash memory flash memory
  • SSD solid state drive
  • FIG. 1 is only an exemplary illustration.
  • a storage system may include multiple controllers, and the physical structure and functions of each controller are similar to those of the controller 11, and this embodiment does not limit the controller 11 and the controller 22 And between any controller and the storage device 44. As long as the controllers and the controllers and the storage device 44 can communicate with each other.
  • FIG. 2 is a structural example of the controller 11. As shown in FIG. 2, the controller 11 includes an interface card 110, a processor 112, and an interface card 113.
  • the interface card 110 is used to communicate with the host, and the controller 11 may receive an operation instruction of the host through the interface card 110.
  • the processor 112 may be a central processing unit (CPU). In the embodiment of the present invention, the processor 112 may be configured to receive an I / O request from a host and process the I / O request.
  • the I / O request may be a write data request or a read data request, and the processor 112 may also send data in the write data request to the logical storage area 44.
  • the controller 11 may further include a memory 111.
  • the memory 111 is configured to temporarily store data received from the host or data read from the storage device 44.
  • the controller 11 may temporarily store data in the multiple write data requests in the memory 111.
  • the capacity of the memory 111 reaches a certain threshold, the data stored in the memory 111 and the logical address allocated for the data are sent to the storage device 44.
  • the storage device 44 stores the data.
  • the memory 111 includes a volatile memory, a non-volatile memory, or a combination thereof.
  • the volatile memory is, for example, a random access memory (English: random-access memory, RAM).
  • Non-volatile memories such as floppy disks, hard disks, solid state disks (SSDs), optical disks, and other machine-readable media that can store program code.
  • the memory 111 has a power-saving function.
  • the power-saving function means that when the system is powered off and powered on again, the data stored in the memory 111 will not be lost.
  • the interface card 113 is configured to communicate with the storage device 44.
  • the controller 11 may send a write data request (including data and a logical address allocated by the controller 11 to the data) to the storage device 44 for storage through the interface card 113.
  • LUNs logical unit numbers
  • Logical storage areas are the basis for writing data.
  • each logical storage area is a collection of multiple logical addresses, and these logical addresses are continuous.
  • the set size is 1024KB.
  • the logical address range corresponding to one logical storage area N is 0KB-1023KB; the logical address range corresponding to another logical storage area is 1024KB-2047KB; the logical address range corresponding to another logical storage area is 2048KB-3071KB, and so on.
  • one sector includes 520 bytes.
  • 512 bytes are data
  • 8 bytes are data integrity fields (DIF) of 512 bytes of data.
  • DIF data integrity fields
  • the data written each time must be an integer multiple of 512 bytes. If the size of the data does not satisfy an integer multiple of 512 bytes, zeros may be added to make up.
  • reading data from the logical storage area it is also read in units of sectors.
  • FIG. 3 is a schematic flowchart of a data writing method according to an embodiment of the present invention.
  • the data writing method is applied to a storage system, and the storage system includes a first controller and a second controller. As shown in Figure 3, the method includes:
  • the second controller determines whether the first time stamp stored locally is in an invalid state.
  • the storage system further includes a logical storage area, and the first controller and the second controller can both read and write data from the logical storage area.
  • the first write data request carries first data, and the first write data request is used to request the second controller to write the first data into the logical storage area.
  • the first time stamp is stored locally in the second controller, and after the second controller receives the first write data request, the second controller determines whether the first time stamp stored locally is in an invalid state. ; When the second controller determines that the first time stamp saved locally is not in the invalid state, the second controller saves the correspondence between the first time stamp and the first write data request, and The first data is labeled with a first time tag, and the first data labeled with the first time tag is written into the logical buffer area.
  • the method further includes:
  • the first controller When the first controller performs a snapshot operation on the logical storage area, the first controller sends a first instruction message to the second controller, where the first instruction message is used to indicate that the first time stamp saved locally is invalid;
  • the second controller After receiving the first indication message, the second controller sets the first time stamp saved locally to the invalid state.
  • the first controller when the first controller performs a snapshot operation on the logical storage area, the first controller stores the first time stamp in the memory M, and broadcasts the first instruction message, where the first instruction message carries the memory.
  • the first indication message is used to indicate that the first time stamp saved locally is invalid.
  • the memory M is a part of the storage space of the memory of the first controller.
  • the second controller After receiving the first indication message, the second controller sets the first time stamp saved locally to the invalid state.
  • the second controller After the second controller receives the first write data request, when it is determined that the first time stamp saved locally is in an invalid state, the second controller reads from the memory M according to an address carried in the first instruction message. The first time tag above.
  • the snapshot operation performed by the first controller on the logical storage area refers to backing up data stored in the logical storage area before the current time.
  • the second controller saves a correspondence between the first time stamp and the first write data request.
  • the second controller saves the correspondence between the first time stamp and the first write data request, stamps the first data carried in the first write data request with the first time tag, and adds the first time tag.
  • the first data of the time stamp is written into the above-mentioned logical buffer area.
  • the above method further includes:
  • the second controller After receiving the second instruction message, the second controller saves the second time stamp locally;
  • the second controller After receiving the second write data request, the second controller reads the second time stamp from the local controller, and saves the correspondence between the second time stamp and the second write data request.
  • the first controller broadcasts the first instruction message, that is, after sending the first instruction message to the second controller, the first controller modifies the first time stamp stored in the memory M to a second time stamp. Time label. Then, the first controller broadcasts the second instruction message, that is, sends the second instruction message to the second controller, where the second instruction message is used to indicate that the first controller has modified the first time stamp to the second A time stamp, and the second indication message carries the second time stamp described above.
  • the second controller After receiving the second instruction message, the second controller saves the second time stamp carried in the second instruction message to the second controller locally.
  • the second controller When the second controller receives the second write data request, the second controller reads the second time stamp from the local controller, and saves the correspondence between the second write data request and the second time stamp.
  • the second controller marks the second data carried in the second write data request with a second time tag, and writes the second data marked with the second time tag into the logical storage area.
  • the time stamps corresponding to all the write data requests received are from The first controller.
  • the second controller before the second controller receives the second instruction message, and after receiving the first instruction message, after receiving the data write request, the second controller receives the data from the first instruction message according to the address in the first instruction message.
  • the memory M of the first controller acquires the first time stamp, and saves the correspondence between the write data request and the first time stamp.
  • the second controller determines whether the first time stamp saved locally is in the invalid state; when it is determined that the first time stamp saved locally is in the invalid state
  • the second controller reads the first time stamp from the first controller; and saves the correspondence between the first time stamp and the first write data request to ensure the consistency of the time in the snapshot of the logical storage area and reduce Performance fluctuations.
  • FIG. 4 Participating in FIG. 4 is a schematic diagram of an interactive flow of another data writing method according to an embodiment of the present invention.
  • the method is applied to a storage system that includes a first controller, a second controller, and a logical storage area. As shown in Figure 4, the method includes:
  • the first controller performs a snapshot operation on the logical storage area.
  • the snapshot operation performed by the first controller on the logical storage area specifically means that the first controller backs up data stored in the logical storage area before the current time.
  • the first controller After the first controller performs a snapshot operation on the logical storage area, the first controller sets the first time stamp saved locally to the invalid state.
  • the first controller applies for a memory M from its memory, and stores the first time stamp in the memory M.
  • the first controller modifies the first time stamp saved locally to the second time stamp
  • the first controller obtains the first time stamp from the memory M. A time stamp, and the correspondence between the write data request and the first time stamp is saved.
  • the first controller sends a first instruction message to the second controller, where the first instruction message is used to indicate that the first time stamp saved locally is invalid.
  • the first controller broadcasts the first instruction message, so that the second controller can receive the first instruction message.
  • the first instruction message carries a first address of the memory M.
  • the second controller After receiving the first indication message, the second controller sets the first time stamp saved locally to the invalid state.
  • the second controller determines whether the first time stamp saved locally is in the invalid state.
  • the first write data request carries the first data.
  • the second controller obtains the first time stamp from the local controller, and saves the time between the first time stamp and the first write data request. Correspondence.
  • the second controller obtains the first time stamp from the memory M of the first controller according to a first address of the memory M, and stores the first time stamp and Correspondence between the first write data requests.
  • the second controller marks the first data carried in the first write data request with a first time tag, and writes the first data marked with the first time tag into the logical storage area.
  • the first controller modifies the first time stamp saved locally to the second time stamp.
  • the first controller modifies the first time stamp saved locally to the second time stamp
  • the first controller receives the data write request, it reads the second time stamp from its local and saves the Correspondence between the write data request and the second time stamp.
  • the first controller adds a second time tag to the data carried in the write data request, and stores the data marked with the second time tag into the logical storage area.
  • the first controller sends a second instruction message to the second controller, where the second instruction message is used to indicate that the first controller has modified the first time stamp saved locally to the second time stamp.
  • the second controller After receiving the second instruction message, the second controller saves the second time stamp to the local time stamp.
  • the second instruction message carries the second time stamp. After receiving the second instruction message, the second controller saves the second time stamp to its local area.
  • the second controller receives the first instruction message and before the second controller receives the second instruction message, after the second controller receives the write data request, the second controller A first address of the memory M carried in the instruction message obtains a first time stamp from the first controller, and saves a correspondence between the first time stamp and a write data request.
  • the second controller After receiving the second write data request, the second controller reads the second time tag from the local controller and saves the correspondence between the second time tag and the second write data request.
  • the second write data request carries second data
  • the second controller receives the second write data request
  • the second controller reads the second time tag locally from the second controller, and adds the second data to the second data.
  • the second time tag and write the second data marked with the second time tag into the logical storage area.
  • the disclosed device may be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the unit is only a logical function division.
  • multiple units or components may be combined or may be combined. Integration into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, the indirect coupling or communication connection of the device or unit, and may be electrical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objective of the solution of this embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above integrated unit may be implemented in the form of hardware or in the form of software functional unit.
  • the integrated unit When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable memory.
  • the technical solution of the present invention essentially or part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, which is stored in a memory.
  • a computer device which may be a personal computer, a server, or a network device, etc.
  • the foregoing memories include: U-disks, Read-Only Memory (ROM), Random Access Memory (RAM), or mobile hard disks and other media that can store program codes.
  • the program may be stored in a computer-readable memory, and the memory may include: a flash disk , Read-only memory (English: Read-Only Memory, referred to as ROM), random access device (English: Random Access Memory, referred to as RAM), magnetic disk or optical disk, etc.
  • ROM Read-only memory
  • RAM Random Access Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明公开了一种写数据方法,该方法应用于存储系统中,该存储系统包括第一控制器和第二控制器,该方法包括:第二控制器接收第一写数据请求后,判断本地保存的第一时间标签是否处于失效状态;当所述第二控制器确定本地保存到的第一时间标签处于失效状态时,从第一控制器中读取第一时间标签;第二控制器保存第一时间标签和第一写数据请求之间的对应关系。采用本发明实施例保证了对逻辑存储区域打快照的时间一致性,降低了性能波动。

Description

写数据方法及存储系统 技术领域
本发明涉及数据存储领域,尤其涉及一种写数据方法及存储系统。
背景技术
伴随计算机技术的巨大发展,数据备份的重要性也逐渐凸显出来。传统地,人们一直采用数据复制、备份、恢复等技术来保护重要的数据信息,定期对数据进行备份或复制。由于数据备份过程会影响应用性能,并且非常耗时,因此数据备份通常被安排在系统负载较轻时(如夜间)进行。
在数据备份期间,企业需要暂时停止对外提供服务。随着企业数据量和数据增长速度的加快,备份窗口可能会要求越来越长,这对于关键性业务系统来说是无法接受的。诸如银行、电信等机构,信息系统要求24x7不间断运行,短时的停机或者少量数据的丢失都会导致巨大的损失。因此,就需要将数据备份窗口尽可能地缩小,甚至缩小为零。数据快照就是为了满足这样的需求而出现的数据保护技术。快照是某个数据集在某一特定时刻的镜像,也称为即时拷贝,它是这个数据集的一个完整可用的副本。
在对数据集打快照过程中,为保证数据一致性需要阻塞所有节点的IO,完成时间标签变更后再对IO解除阻塞,但是由于整个过程需要完成多次消息广播、时间点持久化等操作,时延可能达到数百毫秒,导致性能波动。在秒级恢复点目标(recovery point object,RPO)的快照、异步复制等场景下,更是会打秒级快照,而通过阻塞IO来保证快照数据一致性的方案无疑会导致性能波动巨大。
发明内容
本申请提供一种写数据方法及存储系统,保证了对逻辑存储区域打快照的时间一致性,降低了性能波动。
第一方面,本申请提供了一种写数据方法,该方法应用于存储系统,所述存储系统包括第一控制器和第二控制器,该方法包括:
所述第二控制器接收第一写数据请求之后,判断本地保存的第一时间标签是否处于失效状态;当所述第二控制器确定本地保存的第一时间标签处于失效状态时,从所述第一控制器中读取所述第一时间标签;并保存所述第一时间标签与所述第一写数据请求之间的对应关系。采用该方法保证了对逻辑存储区域打快照的时间一致性,降低了性能波动。
在一种可行的实现方式中,所述存储系统还包括逻辑存储区域,所述第一控制器和所述第二控制器均能从所述逻辑存储区域读写数据。
在一种可行的实现方式中,所述方法还包括:
所述第一控制器在对所述逻辑存储区域执行快照操作时,向所述第二控制器发送第一指示消息,所述第一指示消息用于指示本地保存的第一时间标签失效;
所述第二控制器接收所述第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
在一种可行的实现方式中,所述方法还包括:
所述第一控制器向所述第二控制器发送第二指示消息,所述第二指示消息用于指示所述第一控制器已将第一时间标签修改为第二时间标签;
所述第二控制器接收所述第二指示消息后,将所述第二时间标签保存在本地;
所述第二控制器在接收第二写数据请求之后,从其本地读取所述第二时间标签,保存所述第二时间标签与所述第二写数据请求之间的对应关系。
在一种可行的实现方式中,在所述第二控制器接收所述第二指示消息之前,并且在接收所述第一指示消息之后,接收的所有的写数据请求所对应的时间标签均来自所述第一控制器。
第二方面,本申请还提供了一种存储系统,该存储系统包括第一控制器和第二控制器,
所述第二控制器,用于接收第一写数据请求之后,判断本地保存的第一时间标签是否处于失效状态;
所述第二控制器,还用于当确定本地保存的第一时间标签处于失效状态时,从所述第一控制器中读取所述第一时间标签;并保存所述第一时间标签与所述第一写数据请求之间的对应关系。
在一种可行的实现方式中,所述存储系统还包括逻辑存储区域;所述第一控制器和所述第二控制器均能从所述逻辑存储区域读写数据
在一种可行的实现方式中,所述第一控制器,用于在对所述逻辑存储区域执行快照操作时,向所述第二控制器发送第一指示消息,所述第一指示消息用于指示本地保存的第一时间标签失效;
所述第二控制器,还用于接收所述第一指示消息后,将其本地保存的第一时间标签设置为失效状态;
在一种可行的实现方式中,所述第一控制器,还用于向所述第二控制器发送第二指示消息,所述第二指示消息用于指示所述第一控制器已将第一时间标签修改为第二时间标签;
所述第二控制器,还用于接收所述第二指示消息后,将所述第二时间标签保存在本地;
所述第二控制器,还用于在接收第二写数据请求之后,从其本地读取所述第二时间标签,保存所述第二时间标签与所述第二写数据请求之间的对应关系。
在一种可行的实现方式中,在所述第二控制器接收所述第二指示消息之前,并且在接收所述第一指示消息之后,接收的所有的写数据请求所对应的时间标签均来自所述第一控制器。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种存储系统的结构示意图;
图2为本发明实施例提供的一种控制器的结构示意图;
图3为本发明实施例提供的一种写数据方法的流程示意图;
图4为本发明实施例提供的另一种写数据方法的流程示意图。
具体实施方式
下面结合附图对本申请的实施例进行描述。
参见图1,图1为本发明实施例提供的存储系统的结构示意图。如图1所示,该存储系统包括至少两个控制器(如图1所示的第一控制器11以及第二控制器22)和多个逻辑存储区域44。
控制器11和控制器22分别通过存储区域网络(storage area network,SAN)与主机(图中未示出)连接。控制器11与控制器22之间可以通信。控制器11和控制器22具有相同的物理结构和功能。以控制器11为例,它可以是一种计算设备,如服务器、台式计算机等等。在控制器11上安装有操作系统以及应用程序。控制器11可以接收来自主机的输入输出(I/O)请求。控制器11还可以存储I/O请求中携带的数据(如果有的话),并且将该数据写入存储设备44中。
其中,上述存储设备44包括但不限定于固态硬盘(solid state disk,SSD)、移动硬盘、机械硬盘等存储设备。
上述SSD是以闪存(flash memory)芯片为存储介质的存储器,又名固态驱动器(solid state drive,SSD)。
图1仅是示例性说明,在实际应用中存储系统可包含多个控制器,每个控制器的物理结构和功能与控制器11类似,并且本实施例并不限定控制器11与控制器22之间,以及任意一个控制器与存储设备44之间的连接方式。只要各个控制器之间,以及各个控制器和存储设备44之间能够相互通信。
图2是控制器11的结构示例图,如图2所示,控制器11包括接口卡110、处理器112 和接口卡113。
接口卡110用于和主机通信,控制器11可以通过接口卡110接收主机的操作指令。处理器112可能是一个中央处理器(central processing unit,CPU)。在本发明实施例中,处理器112可以用于接收来自主机的I/O请求、处理所述I/O请求。所述I/O请求可以是写数据请求或者读数据请求,处理器112还可以将写数据请求中的数据发送给逻辑存储区域44。
可选地,控制器11还可以包括存储器111。存储器111用于临时存储从主机接收的数据或从存储设备44读取的数据。控制器11接收主机发送的多个写数据请求时,可以将所述多个写数据请求中的数据暂时保存在存储器111中。当存储器111的容量达到一定阈值时,将存储器111存储的数据以及为所述数据分配的逻辑地址发送给存储设备44。存储设备44存储所述数据。存储器111包括易失性存储器,非易失性存储器或其组合。易失性存储器例如为随机访问存储器(英文:random-access memory,RAM)。非易失性存储器例如软盘、硬盘、固态硬盘(solid state disk,SSD)、光盘等各种可以存储程序代码的机器可读介质。存储器111具有保电功能,保电功能是指系统发生掉电又重新上电时,存储器111中存储的数据也不会丢失。
接口卡113,用于和存储设备44通信,控制器11可以通过接口卡113将写数据请求(包括数据以及控制器11为所述数据分配的逻辑地址)发送给存储设备44存储。
在此需要说明的是控制器22的结构,以及各个部件的功能与控制器11类似,这里不再赘述。
存储设备中的块、页以及实际地址对控制器来说是不可见的,因此控制器不能直接访问逻辑存储区域中的块和页。为了进行写数据,系统控制器将存储设备的存储空间按照设定大小划分为若干个逻辑单元号(logic unit number,LUN),LUN也可称为逻辑存储区域,逻辑存储区域是写数据的基本单位,每个逻辑存储区域均是多个逻辑地址的集合,并且这些逻辑地址是连续的。例如,所述设定大小是1024KB。一个逻辑存储区域N对应的逻辑地址区间是0KB-1023KB;另一个逻辑存储区域对应的逻辑地址区间是1024KB-2047KB;再一个逻辑存储区域对应的逻辑地址区间是2048KB-3071KB,依此类推。
在将数据写入逻辑存储区域时,可以以扇区为单位写入。例如,一个扇区包括520个字节。其中512个字节是数据,8个字节是512字节的数据的数据完整性字段(data integrity field,DIF)。也就是说,每次写入的数据须是512个字节的整数倍。如果所述数据的大小不满足512个字节的整数倍,可以添零补足。同样的,从逻辑存储区域中读取数据时,也是以扇区为单位读取。
参见图3,图3为本发明实施例提供的一种写数据方法的流程示意图。该写数据方法应用于存储系统,该存储系统包括第一控制器和第二控制器。如图3所示,该方法包括:
S301、所述第二控制器接收第一写数据请求之后,判断本地保存的第一时间标签是否处于失效状态。
其中,上述存储系统还包括逻辑存储区域,上述第一控制器和第二控制器均能从该逻辑存储区域中读写数据。
其中,上述第一写数据请求携带有第一数据,该第一写数据请求用于请求上述第二控制器将该第一数据写入上述逻辑存储区域中。
具体地,上述第二控制器的本地保存有上述第一时间标签,该第二控制器接收到上述第一写数据请求后,上述第二控制器判断其本地保存第一时间标签是否处于失效状态;该第二控制器确定其本地保存的第一时间标签未处于失效状态时,保存该第一时间标签与上述第一写数据请求之间的对应关系,并对第一写数据请求中携带的第一数据打上第一时间标签,将打上第一时间标签的第一数据写入上述逻辑缓存区域中。
S302、当所述第二控制器确定本地保存的第一时间标签处于失效状态时,从所述第一控制器中读取所述第一时间标签。
在一种可行的实施例中,所述方法还包括:
所述第一控制器在对所述逻辑存储区域执行快照操作时,向所述第二控制器发送第一指示消息,所述第一指示消息用于指示本地保存的第一时间标签失效;
所述第二控制器接收所述第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
具体地,上述第一控制器对上述逻辑存储区域执行快照操作时,该第一控制器在内存M中存储上述第一时间标签,并广播上述第一指示消息,该第一指示消息携带上述内存A的首地址,该第一指示消息用于指示本地保存的第一时间标签失效。其中,上述内存M为上述第一控制器的存储器的一部分存储空间。上述第二控制器接收到上述第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
上述第二控制器接收到上述第一写数据请求后,当确定其本地保存的第一时间标签处于失效状态时,上述第二控制器根据第一指示消息携带的地址从上述内存M中读取上述第一时间标签。
在此需要说明的是,上述第一控制器对上述逻辑存储区域执行快照操作是指对在当前时刻之前上述逻辑存储区域中存储的数据进行备份。
S303、所述第二控制器保存所述第一时间标签与所述第一写数据请求之间的对应关系。
具体地,上述第二控制器保存上述第一时间标签与上述第一写数据请求之间的对应关系,并对第一写数据请求中携带的第一数据打上第一时间标签,将打上第一时间标签的第一数据写入上述逻辑缓存区域中。
在一种可行的实施例中,上述方法还包括:
所述第一控制器向所述第二控制器发送第二指示消息,所述第二指示消息用于指示所述第一控制器已将第一时间标签修改为第二时间标签;
所述第二控制器接收所述第二指示消息后,将所述第二时间标签保存在本地;
所述第二控制器在接收第二写数据请求之后,从其本地读取所述第二时间标签,保存所述第二时间标签与所述第二写数据请求之间的对应关系。
具体地,上述第一控制器广播上述第一指示消息,即向上述第二控制器发送该第一指示消息后,上述第一控制器将上述内存M中存储的第一时间标签修改为第二时间标签。然后,上述第一控制器广播上述第二指示消息,即向上述第二控制器发送第二指示消息,该第二指示消息用于指示上述第一控制器已将第一时间标签修改为第二时间标签,且该第二指示消息携带上述第二时间标签。
上述第二控制器接收到上述第二指示消息后,将该第二指示消息中携带的第二时间标签保存至上述第二控制器本地。
当上述第二控制器接收到上述第二写数据请求后,该第二控制器从其本地读取上述第二时间标签,保存上述第二写数据请求与第二时间标签之间的对应关系。上述第二控制器将该第二写数据请求中携带的第二数据打上第二时间标签,并将打上第二时间标签的第二数据写入上述逻辑存储区域中。
在一种可行的实施例中,在所述第二控制器接收所述第二指示消息之前,并且在接收所述第一指示消息之后,接收的所有的写数据请求所对应的时间标签均来自所述第一控制器。
具体地,在上述第二控制器接收到第二指示消息之前,且在接收到第一指示消息之后,上述第二控制器接收到写数据请求后,根据上述第一指示消息中的地址从上述第一控制器的内存M中获取上述第一时间标签,并保存上述写数据请求与第一时间标签的对应关系。
可以看出,在发明实施例的方案中,第二控制器接收第一写数据请求之后,判断本地保存的第一时间标签是否处于失效状态;当确定本地保存的第一时间标签处于失效状态时,第二控制器从第一控制器中读取第一时间标签;保存第一时间标签与第一写数据请求之间的对应关系,保证了在对逻辑存储区域打快照的时间一致性,降低了性能波动。
参加图4,图4为本发明实施例提供的另一种写数据方法的交互式流程示意图。该方法应用于存储系统,该存储系统包括第一控制器、第二控制器和逻辑存储区域。如图4所示,该方法包括:
S401、第一控制器对逻辑存储区域进行快照操作。
其中,上述第一控制器对上述逻辑存储区域进行快照操作具体是指该第一控制器在对当前时刻之前上述逻辑存储区域存储的数据进行备份。
进一步地,上述第一控制器对上述逻辑存储区域进行快照操作后,该第一控制器将其本地保存的第一时间标签设置为失效状态。上述第一控制器从其存储器中申请一块内存M,在该内存M中存储上述第一时间标签。
进一步地,在第一控制器将其本地保存的第一时间标签修改为第二时间标签之前,该第 一控制器接收到写数据请求后,上述第一控制器从上述内存M中获取上述第一时间标签,并保存上述写数据请求与第一时间标签之间的对应关系。
S402、第一控制器向第二控制器发送第一指示消息,该第一指示消息用于指示本地保存的第一时间标签失效。
具体地,上述第一控制器广播上述第一指示消息,使得上述第二控制器可接收到该第一指示消息。其中,上述第一指示消息携带上述内存M的首地址。
S403、第二控制器接收到第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
S404、第二控制器接收到第一写数据请求后,判断其本地保存的第一时间标签是否处于失效状态。
其中,上述第一写数据请求携带第一数据。
具体地,当确定其本地保存的第一时间标签未处于失效状态时,上述第二控制器从其本地获取上述第一时间标签,保存该第一时间标签和上述第一写数据请求之间的对应关系。
当确定其本地保存的第一时间标签处于失效状态时,上述第二控制器根据内存M的首地址从上述第一控制器的内存M中获取上述第一时间标签,保存该第一时间标签和上述第一写数据请求之间的对应关系。
上述第二控制器将上述第一写数据请求中携带的第一数据打上第一时间标签,并将打上第一时间标签的第一数据写入上述逻辑存储区域中。
S405、第一控制器将其本地保存的第一时间标签修改为第二时间标签。
需要指出的是,上述第一控制器将本地保存的第一时间标签修改为第二时间标签后,上述第一控制器接收到写数据请求时,从其本地读取第二时间标签,保存该写数据请求与第二时间标签之间的对应关系。
上述第一控制器为上述写数据请求中携带的数据打上第二时间标签,并将打上第二时间标签的数据存储至上述逻辑存储区域中。
S406、第一控制器向第二控制器发送第二指示消息,该第二指示消息用于指示上述第一控制器已将其本地保存的第一时间标签修改为第二时间标签。
S407、第二控制器接收第二指示消息后,将第二时间标签保存至其本地。
其中,上述第二指示消息携带上述第二时间标签,上述第二控制器接收到该第二指示消息后,将上述第二时间标签保存至其本地。
需要指出的是,在上述第二控制器接收到上述第一指示消息之后,且在该第二控制器接收到第二指示消息之前,上述第二控制器接收到写数据请求后,从根据第一指示消息中携带的内存M的首地址从上述第一控制器中获取第一时间标签,并保存该第一时间标签与写数据请求之间的对应关系。
S408、第二控制器接收第二写数据请求后,从其本地读取第二时间标签,并保存第二时间标签和第二写数据请求之间的对应关系。
具体地,上述第二写数据请求携带第二数据,上述第二控制器接收到该第二写数据请求后,从第二控制器本地读取上述第二时间标签,为上述第二数据打上该第二时间标签,并将打上第二时间标签的第二数据写入上述逻辑存储区域。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)或者移动硬盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本发明的限制。。

Claims (10)

  1. 一种写数据方法,其特征在于,所述方法应用于存储系统中,所述存储系统包括第一控制器、第二控制器,所述方法包括:
    所述第二控制器接收第一写数据请求之后,判断本地保存的第一时间标签是否处于失效状态;
    当所述第二控制器确定本地保存的第一时间标签处于失效状态时,从所述第一控制器中读取所述第一时间标签;
    所述第二控制器保存所述第一时间标签与所述第一写数据请求之间的对应关系。
  2. 根据权利要求1所述的方法,其特征在于,所述存储系统还包括逻辑存储区域,所述第一控制器和所述第二控制器均能从所述逻辑存储区域读写数据。
  3. 根据权利要求2所述的方法,其特征在于,所述方法还包括:
    所述第一控制器在对所述逻辑存储区域执行快照操作时,向所述第二控制器发送第一指示消息,所述第一指示消息用于指示本地保存的第一时间标签失效;
    所述第二控制器接收所述第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
  4. 根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
    所述第一控制器向所述第二控制器发送第二指示消息,所述第二指示消息用于指示所述第一控制器已将所述第一时间标签修改为所述第二时间标签;
    所述第二控制器接收所述第二指示消息后,将所述第二时间标签保存在本地;
    所述第二控制器在接收第二写数据请求之后,从其本地读取所述第二时间标签,保存所述第二时间标签与所述第二写数据请求之间的对应关系。
  5. 根据权利要求4所述的方法,其特征在于,在所述第二控制器接收所述第二指示消息之前,并且在接收所述第一指示消息之后,接收的所有的写数据请求所对应的时间标签均来自所述第一控制器。
  6. 一种存储系统,其特征在于,包括第一控制器和第二控制器;
    所述第二控制器,用于接收第一写数据请求之后,判断本地保存的第一时间标签是否处 于失效状态;
    所述第二控制器,还用于当确定本地保存的第一时间标签处于失效状态时,从所述第一控制器中读取所述第一时间标签;并保存所述第一时间标签与所述第一写数据请求之间的对应关系。
  7. 根据权利要求6所述的存储系统,其特征在于,所述存储系统还包括逻辑存储区域;
    所述第一控制器和所述第二控制器均能从所述逻辑存储区域读写数据。
  8. 根据权利要求7所述的存储系统,其特征在于,
    所述第一控制器,用于在对所述逻辑存储区域执行快照操作时,向所述第二控制器发送第一指示消息,所述第一指示消息用于指示本地保存的第一时间标签失效;
    所述第二控制器,还用于接收所述第一指示消息后,将其本地保存的第一时间标签设置为失效状态。
  9. 根据权利要求7或8所述的存储系统,其特征在于,
    所述第一控制器,还用于向所述第二控制器发送第二指示消息,所述第二指示消息用于指示所述第一控制器已将所述第一时间标签修改为所述第二时间标签;
    所述第二控制器,还用于接收所述第二指示消息后,将所述第二时间标签保存在本地;
    所述第二控制器,还用于在接收第二写数据请求之后,从其本地读取所述第二时间标签,保存所述第二时间标签与所述第二写数据请求之间的对应关系。
  10. 根据权利要求9所述的存储系统,其特征在于,在所述第二控制器接收所述第二指示消息之前,并且在接收所述第一指示消息之后,接收的所有的写数据请求所对应的时间标签均来自所述第一控制器。
PCT/CN2019/076846 2018-07-05 2019-03-04 写数据方法及存储系统 WO2020007058A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19831322.3A EP3796173A4 (en) 2018-07-05 2019-03-04 DATA WRITING PROCESS AND STORAGE SYSTEM
US17/141,953 US11500741B2 (en) 2018-07-05 2021-01-05 Data write method and storage system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810735737.6 2018-07-05
CN201810735737.6A CN110688251B (zh) 2018-07-05 2018-07-05 写数据方法及存储系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/141,953 Continuation US11500741B2 (en) 2018-07-05 2021-01-05 Data write method and storage system

Publications (1)

Publication Number Publication Date
WO2020007058A1 true WO2020007058A1 (zh) 2020-01-09

Family

ID=69060050

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/076846 WO2020007058A1 (zh) 2018-07-05 2019-03-04 写数据方法及存储系统

Country Status (4)

Country Link
US (1) US11500741B2 (zh)
EP (1) EP3796173A4 (zh)
CN (1) CN110688251B (zh)
WO (1) WO2020007058A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949220B (zh) * 2020-09-03 2023-12-08 合肥沛睿微电子股份有限公司 存储设备异常断电恢复方法及存储设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090210458A1 (en) * 2008-02-19 2009-08-20 Oracle International Corp. Tag based backup and recovery
CN101526925A (zh) * 2009-04-15 2009-09-09 成都市华为赛门铁克科技有限公司 一种缓存数据的处理方法及数据存储系统
CN103488431A (zh) * 2013-09-10 2014-01-01 华为技术有限公司 一种写数据方法及存储设备
CN103842954A (zh) * 2013-12-05 2014-06-04 华为技术有限公司 一种存储系统中的数据处理方法、装置和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006113667A (ja) * 2004-10-12 2006-04-27 Hitachi Ltd ストレージ装置およびその制御方法
US8615633B2 (en) * 2009-04-23 2013-12-24 Empire Technology Development Llc Multi-core processor cache coherence for reduced off-chip traffic
US9336090B2 (en) * 2012-10-10 2016-05-10 Hitachi, Ltd. Storage apparatus comprising snapshot function, and storage control method
US9280296B2 (en) * 2013-05-23 2016-03-08 Globalfoundries Inc. Recovery from failure of primary storage volumes by using mirrored data maintained with host timestamps
CN105450687B (zh) * 2014-08-19 2019-06-07 华为技术有限公司 一种标签转换方法、装置及sas存储器
KR20170061218A (ko) * 2015-11-25 2017-06-05 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JP6734536B2 (ja) * 2016-07-29 2020-08-05 富士通株式会社 情報処理装置及びメモリコントローラ
KR101716861B1 (ko) * 2016-10-04 2017-03-15 (주)볼트마이크로 영상데이터 관리 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090210458A1 (en) * 2008-02-19 2009-08-20 Oracle International Corp. Tag based backup and recovery
CN101526925A (zh) * 2009-04-15 2009-09-09 成都市华为赛门铁克科技有限公司 一种缓存数据的处理方法及数据存储系统
CN103488431A (zh) * 2013-09-10 2014-01-01 华为技术有限公司 一种写数据方法及存储设备
CN103842954A (zh) * 2013-12-05 2014-06-04 华为技术有限公司 一种存储系统中的数据处理方法、装置和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3796173A4 *

Also Published As

Publication number Publication date
US11500741B2 (en) 2022-11-15
EP3796173A1 (en) 2021-03-24
CN110688251B (zh) 2021-12-31
CN110688251A (zh) 2020-01-14
EP3796173A4 (en) 2021-08-04
US20210124653A1 (en) 2021-04-29

Similar Documents

Publication Publication Date Title
US10140039B1 (en) I/O alignment for continuous replication in a storage system
US9405481B1 (en) Replicating using volume multiplexing with consistency group file
US7594137B2 (en) Storage system and data restoration method thereof
US8112600B2 (en) Creating a snapshot based on a marker transferred from a first storage system to a second storage system
US9733862B1 (en) Systems and methods for reverse point-in-time copy management in a storage system
US9367260B1 (en) Dynamic replication system
US8417907B2 (en) Synchronizing snapshot volumes across hosts
US8689047B2 (en) Virtual disk replication using log files
US9146878B1 (en) Storage recovery from total cache loss using journal-based replication
US9110914B1 (en) Continuous data protection using deduplication-based storage
US10162722B2 (en) Virtual machine aware replication method and system
US9501231B2 (en) Storage system and storage control method
US10152267B1 (en) Replication data pull
US10452286B2 (en) Leveraging continuous replication to copy snapshot backup image
US7979651B1 (en) Method, system, and computer readable medium for asynchronously processing write operations for a data storage volume having a copy-on-write snapshot
WO2015054897A1 (zh) 数据存储方法、数据存储装置和存储设备
US7937548B2 (en) System and method for improved snapclone performance in a virtualized storage system
WO2020007058A1 (zh) 写数据方法及存储系统
US11281540B2 (en) Remote data forwarding using a nocopy clone of a production volume
US8281096B1 (en) Systems and methods for creating snapshots
CN116339609A (zh) 一种数据处理方法以及存储设备
WO2018055686A1 (ja) 情報処理システム
US11074003B2 (en) Storage system and restoration method
US11467929B2 (en) Reducing failover time between data nodes
US20210271503A1 (en) Achieving near-zero added latency for modern any point in time vm replication

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19831322

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019831322

Country of ref document: EP

Effective date: 20201217

NENP Non-entry into the national phase

Ref country code: DE