Increased cache performance with multi-level queues of complete tracks
US-2016098295-A1 · Apr 7, 2016 · US
US9880946B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9880946-B1 |
| Application number | US-201514755210-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jun 30, 2015 |
| Priority date | Jun 30, 2015 |
| Publication date | Jan 30, 2018 |
| Grant date | Jan 30, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
Physics · mapped topic
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.