Methods, devices and computer readable mediums for data synchronization

US10812584B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10812584-B2
Application numberUS-201815954902-A
CountryUS
Kind codeB2
Filing dateApr 17, 2018
Priority dateApr 17, 2017
Publication dateOct 20, 2020
Grant dateOct 20, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments of the present disclosure relate to methods, devices and computer readable mediums for data synchronization. A method comprises in response to receiving, at a first processor, a first request to synchronize data, initiating, to a second processor, a first remote direct memory access (RDMA) operation for transmitting the data between a first cache in the first processor and a second cache in the second processor. The method further comprises in response to completion of the first RDMA operation, writing the data into a first persistent storage device coupled to the first processor. The method further comprises transmitting, to the second processor, a command to instruct the second processor to commit the data to a second persistent storage device coupled to the second processor. Moreover, the method further comprises detecting, from the second processor, an acknowledgement for the command, the acknowledgement indicating that the data is synchronized between the first and second processors.

First claim

Opening claim text (preview).

We claim: 1. A method of data synchronization, comprising: in response to receiving, at a first processor, a first request to synchronize data, initiating a first remote direct memory access (RDMA) operation to a second processor, wherein the first RDMA operation comprises either an RDMA write operation that is configured to cause the data to be written from a first cache in the first processor into a second cache in the second processor, or an RDMA read operation that is configured to cause the data to be read from the second cache into the first cache; in response to completion of the first RDMA operation, writing the data from the first cache into a first persistent storage device coupled to the first processor; in response to writing the data into the first persistent storage device, transmitting a commit command to the second processor, wherein the commit command is configured to cause the second processor to write the data from the second cache into a second persistent storage device coupled to the second processor; and detecting, at the first processor, an acknowledgement from the second processor, the acknowledgement indicating that the second processor has written the data from the second cache into the second persistent storage device. 2. The method according to claim 1 , wherein the first RDMA operation is initiated via a network connecting the first and second processors, and the network is an Infiniband network. 3. The method according to claim 1 , wherein the first RDMA operation comprises an RDMA write operation, and wherein initiating the first RDMA operation to the second processor comprises: initiating the RDMA write operation to the second processor such that the data is transmitted from the first cache to the second cache. 4. The method according to claim 3 , wherein writing the data into the first persistent storage device coupled to the first processor comprises: in response to receiving, from the second processor, an acknowledgement for the RDMA write operation, writing the data from the first cache into the first persistent storage device. 5. The method according to claim 1 , wherein the first RDMA operation comprises an RDMA read operation, and wherein initiating the first RDMA operation to the second processor comprises: initiating the RDMA read operation to the second processor such that the data is transmitted from the second cache to the first cache. 6. The method according to claim 2 , wherein transmitting the commit command to the second processor comprises: initiating, to the second processor and via the network, a second RDMA operation; and wherein detecting the acknowledgement for the command comprises: detecting, from the second processor, an acknowledgement for the second RDMA operation. 7. The method according to claim 6 , wherein the second RDMA operation is an RDMA write operation. 8. The method according to claim 1 , further comprising: receiving, at the first processor, a first RDMA operation acknowledgement from the second processor, the first RDMA operation acknowledgement indicating that the second processor has received the data within the second cache; and wherein detecting the acknowledgement includes: receiving the acknowledgement, at the first processor, the acknowledgement having been sent from the second processor to the first processor prior to the second processor writing the data from the second cache into the persistent storage device coupled to the second processor. 9. The method according to claim 1 , wherein the first persistent storage device includes shared disk storage; and wherein writing the data into the first persistent storage device includes: in response to completion of the first RDMA operation, writing the data into the shared disk storage. 10. The method according to claim 1 , wherein the first processor and the first persistent storage device form at least a portion of a first array that processes input/output (I/O) commands on behalf of a set of hosts; wherein the second processor and the second persistent storage device form at least a portion of a second array that communicates with the first array through a network; and wherein the first array and the second array operate to replicate data from the set of hosts. 11. A device for data synchronization, comprising: at least one processing unit; and at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform acts comprising: in response to receiving, at a first processor, a first request to synchronize data initiating a first remote direct memory access (RDMA) operation to a second processor, wherein the first RDMA operation comprises either an RDMA write operation that is configured to cause the data to be written from a first cache in the first processor into a second cache in the second processor, or an RDMA read operation that is configured to cause the data to be read from the second cache into the first cache; in response to completion of the first RDMA operation, writing the data from the first cache into a first persistent storage device coupled to the first processor; in response to writing the data into the first persistent storage device, transmitting a commit command to the second processor, wherein the commit command is configured to cause the second processor to write the data from the second cache into to a second persistent storage device coupled to the second processor; and detecting, at the first processor, an acknowledgement from the second processor, the acknowledgement indicating that the second processor has written the data from the second cache into the second persistent storage device. 12. The device according to claim 11 , wherein the first RDMA operation is initiated via a network connecting the first and second processors, and the network is an Infiniband network. 13. The device according to claim 11 , wherein the first RDMA operation comprises an RDMA write operation, and wherein initiating the first RDMA operation to the second processor comprises: initiating the RDMA write operation to the second processor such that the data is transmitted from the first cache to the second cache. 14. The device according to claim 13 , wherein writing the data into the first persistent storage device coupled to the first processor comprises: in response to receiving, from the second processor, an acknowledgement for the RDMA write operation, writing the data from the first cache into the first persistent storage device. 15. The device according to claim 11 , wherein the first RDMA operation comprises an RDMA read operation, and wherein initiating the first RDMA operation to the second processor comprises: initiating the RDMA read operation to the second processor such that the data is transmitted from the second cache to the first cache. 16. The device according to claim 12 , wherein transmitting the commit command to the second processor comprises: initiating, to the second processor and via the network, a second RDMA operation; and wherein detecting the acknowledgement for the command comprises: detecting, from the second processor, an acknowledgement for the second RDMA operation. 17. The device according to claim 16 , wherein the second RDMA operation is an RDMA write operation. 18. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform dat

Assignees

Inventors

Classifications

  • Storing data temporarily at an intermediate stage, e.g. caching · CPC title

  • Architectures of general purpose stored program computers (with program plugboard G06F15/08; multicomputers G06F15/16) · CPC title

  • Distributed shared memory [DSM], e.g. remote direct memory access [RDMA] · CPC title

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

  • Backup restoration techniques · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10812584B2 cover?
Embodiments of the present disclosure relate to methods, devices and computer readable mediums for data synchronization. A method comprises in response to receiving, at a first processor, a first request to synchronize data, initiating, to a second processor, a first remote direct memory access (RDMA) operation for transmitting the data between a first cache in the first processor and a second …
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification H04L67/1095. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Oct 20 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).