Data transfer techniques with data replication

US9880946B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9880946-B1
Application numberUS-201514755210-A
CountryUS
Kind codeB1
Filing dateJun 30, 2015
Priority dateJun 30, 2015
Publication dateJan 30, 2018
Grant dateJan 30, 2018

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.

Described are data replication techniques. Y cycles of writes directed to a first storage device of a first data storage system are collected, Y>2. Each of the Y cycles denotes writes directed to the first storage device at an occurrence of a fixed time interval. Writes of cycle N−1 directed to the first storage device are transmitted from the first data storage system to a second data storage system. Writes of cycle N−2 are applied to a second storage device. An acknowledgement regarding cycle N−1 is sent from the second data storage system to the first data storage system responsive to determining that the writes of cycle N−1 directed to the first storage device have been received by the second data storage system and that the writes of cycle N−2 directed to the first storage device have been applied to the second storage device.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of performing data replication comprising: collecting Y cycles of writes directed to a first storage device of a first data storage system, Y being an integer greater than two denoting a count of a number of cycles of writes collected, wherein each of the Y cycles of writes denotes writes directed to the first storage device at an occurrence of a fixed time interval, wherein writes of cycle N denotes a most recent one of the Y cycles of writes collected, N being an integer identifying a particular fixed interval occurrence during which writes directed to the first storage device are received; transmitting writes of cycle N−1 directed to the first storage device from the first data storage system to a second data storage system; applying writes of cycle N−2 directed to the first storage device to a second storage device of the second data storage system; determining when the writes of cycle N−1 directed to the first storage device have been received by the second data storage system and when the writes of cycle N−2 directed to the first storage device have been applied to the second storage device; sending, from the second data storage system to the first data storage system, an acknowledgement regarding cycle N−1 responsive to determining that the writes of cycle N−1 directed to the first storage device have been received by the second data storage system and that the writes of cycle N−2 directed to the first storage device have been applied to the second storage device; and determining whether it is time to commence preparation processing to transmit writes for a first of the Y cycles from the first data storage system to the second data storage system, and wherein, prior to performing said preparation processing, a first portion of writes of the first cycle are stored on one or more secondary storage devices in a packed format and a remaining portion of the writes of the first cycle are stored in a first cache of the first data storage system, and wherein said preparation processing includes storing the first portion of writes of the first cycle in the first cache in the packed format. 2. The method of claim 1 , further comprising: transmitting at least some of the writes of cycle N directed to the first storage device from the first data storage system to the second data storage system prior to the first data storage system receiving the acknowledgement regarding cycle N−1. 3. The method of claim 1 , wherein the first storage device and the second storage device are logical devices. 4. The method of claim 1 , wherein no write from cycle N−1 directed to the first storage device is applied to the second storage device until all writes of cycle N−2 directed to the first storage device are applied to the second storage device. 5. The method of claim 4 , wherein no write from cycle N directed to the first storage device is applied to the second storage device until all writes of cycle N−1 directed to the first storage device are applied to the second storage device. 6. The method of claim 1 , further comprising: performing a cycle switch to set a current cycle number to N responsive to the first data storage system receiving the acknowledgement regarding cycle N−1, wherein transmitting at least some of the writes of cycle N that are directed to the first storage device to the second data storage system is performed prior to performing the cycle switch to cycle N. 7. The method of claim 1 , wherein the second data storage system determines that writes of cycle N−1 directed to the first storage device have been applied to the second storage device when write data of each write included in cycle N−1 directed to the first storage device is any of: stored as write pending data in a cache of the second data storage system, and destaged to a location on a physical storage device provisioned for the second storage device. 8. The method of claim 1 , wherein at least some writes of the Y cycles are stored in the first cache of the first data storage system and the method further comprising: determining that a maximum threshold amount of the first cache of the first data storage system has been consumed; and responsive to determining that the maximum threshold amount of the first cache has been consumed, performing spillover processing to move a portion of writes of the Y cycles from the first cache to the one or more secondary storage devices. 9. The method of claim 8 , wherein said spillover processing further comprises: selecting a plurality of cache slots from the first cache including the portion of writes; storing write data for the portion of writes in the packed format in a first set of one or more packed slots on the one or more secondary storage devices; and denoting the plurality of cache slots of the first cache as free and available for reuse. 10. The method of claim 9 , further comprising: responsive to determining it is time to commence said preparation processing to transmit writes for the first cycle, performing said preparation processing comprising: determining whether any writes of the first cycle are currently stored on the one or more secondary storage devices thereby indicating that said spillover processing has been performed for at least some writes of the first cycle; and if it is determined that any writes of the first cycle are currently stored on the one or more secondary storage devices, performing spillback processing to move writes of the first cycle currently stored on the one or more secondary storage devices to the first cache of the first data storage system. 11. A method of performing data replication comprising: collecting Y cycles of writes directed to a first storage device of a first data storage system, Y being an integer greater than two denoting a count of a number of cycles of writes collected, wherein each of the Y cycles of writes denotes writes directed to the first storage device at an occurrence of a fixed time interval, wherein writes of cycle N denotes a most recent one of the Y cycles of writes collected, N being an integer identifying a particular fixed interval occurrence during which writes directed to the first storage device are received; transmitting writes of cycle N−1 directed to the first storage device from the first data storage system to a second data storage system; applying writes of cycle N−2 directed to the first storage device to a second storage device of the second data storage system; determining when the writes of cycle N−1 directed to the first storage device have been received by the second data storage system and when the writes of cycle N−2 directed to the first storage device have been applied to the second storage device; and sending, from the second data storage system to the first data storage system, an acknowledgement regarding cycle N−1 responsive to determining that the writes of cycle N−1 directed to the first storage device have been received by the second data storage system and that the writes of cycle N−2 directed to the first storage device have been applied to the second storage device, wherein writes of the Y cycles are stored in a first cache of the first data storage system and the method further comprises: determining that a maximum threshold amount of the first cache of the first data storage system has been consumed; and responsive to determining that the maximum threshold amount of the first cache has been consumed, performing spillover processing to move a first portion of writes of the Y cycles from the first cache to one or more secondary storage devices, and wherein said spillover processing further comprises: selecting a plurality of cache slots from the

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • G06F12/121Primary

    using replacement algorithms · CPC title

  • Details of cache specific to multiprocessor cache arrangements · CPC title

  • with cache invalidating means (G06F12/0815 takes precedence) · CPC title

  • Mirrored cache memory · 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 US9880946B1 cover?
Described are data replication techniques. Y cycles of writes directed to a first storage device of a first data storage system are collected, Y>2. Each of the Y cycles denotes writes directed to the first storage device at an occurrence of a fixed time interval. Writes of cycle N−1 directed to the first storage device are transmitted from the first data storage system to a second data storage …
Who is the assignee on this patent?
Emc Ip Holding Co Llc, EMC IP Holdings Company LLC
What technology area does this patent fall under?
Primary CPC classification G06F12/121. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 30 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).