Method, device, and program product for reducing delay in I/O processing due to mirroring of cache data

US11385796B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11385796-B2
Application numberUS-201916575466-A
CountryUS
Kind codeB2
Filing dateSep 19, 2019
Priority dateOct 31, 2018
Publication dateJul 12, 2022
Grant dateJul 12, 2022

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.

Techniques perform storage management. Such techniques involve: in response to receiving, at a first processor of a storage system, a write request from a host for writing user data, caching the user data in a first cache of the first processor, and generating cache metadata in the first cache, the cache metadata including information associated with writing the user data; sending the user data and the cache metadata to a second cache of a second processor, for the second processor to perform, in the second cache, data processing related to cache mirroring by the second processor; and sending, to the host, an indication of completion of the write request, without waiting for the second processor to complete the data processing. Such techniques can improve system performance such as reducing latency, and shortening length of the I/O handling path of write request.

First claim

Opening claim text (preview).

We claim: 1. A method of storage management, comprising: receiving, at a second processor of a storage system, user data and cache metadata from a first cache of a first processor of the storage system, the cache metadata comprising information associated with writing the user data to the storage system; preprocessing the cache metadata, such that the user data is accessible to a host via the second processor; and performing, in a second cache of the second processor, data processing related to cache mirroring based on the user data and the cache metadata; wherein preprocessing the cache metadata comprises: moving the cache metadata from a receiving buffer of the second cache to a queue of cache metadata accessible to the host. 2. The method of claim 1 , wherein receiving the user data and the cache metadata comprises: transferring the user data from a first physical page of the first cache to a second physical page of the second cache; and buffering the cache metadata to the receiving buffer of the second cache. 3. The method of claim 1 , wherein moving the cache metadata to the queue of cache metadata comprises: in response to locking successfully a cache page indicated by the cache metadata, moving the cache metadata to a queue of cache metadata to be processed, to wait for processing by the second processor; and in response to failing to lock the cache page, moving the cache metadata to a waiting queue of cache metadata, to wait for locking the cache page by the second processor for the cache metadata. 4. The method of claim 1 , wherein performing the data processing comprises: adding a physical page storing the user data to a cache page indicated by the cache metadata. 5. The method of claim 1 , wherein performing the data processing comprises: waking up a background thread to perform the data processing. 6. The method of claim 1 , further comprising: in response to receiving an I/O request from the host, preprocessing all cache metadata in the second cache that has not been preprocessed; and handling the I/O request. 7. The method of claim 1 , wherein receiving the cache metadata comprises: receiving a cache metadata message comprising the cache metadata and recovery information for recovering the cache metadata message during a failure recovery. 8. The method of claim 7 , wherein the recovery information comprises at least one of the following: a processing state, a sending serial number, and a checksum of the cache metadata message. 9. The method of claim 8 , further comprising at least one of the follows: in response to completion of the preprocessing, changing the processing state from an initial value of “valid” to “preprocessed;” in response to the data processing being in progress, setting the processing state to “processing;” and in response to the completion of the data processing, setting the processing state to “invalid.” 10. The method of claim 7 , further comprising: in response to the storage system recovering from a failure, recovering the cache metadata message based on the recovery information. 11. The method of claim 10 , wherein recovering the cache metadata message comprises at least one of the following: determining, based on the processing state, that the cache metadata message is required to be recovered; determining, based on the sending serial number, a sequence of the cache metadata message and a further recovered cache metadata message; and checking integrity of the cache metadata message based on the checksum. 12. The method of claim 1 wherein receiving the user data and the cache metadata from the first cache of the first processor includes: receiving at least some of the data through a communication manager interface (CMI) that connects the first processor and the second processor. 13. An electronic device, comprising: at least two processors; and at least one memory storing computer program instructions, the at least one memory and the computer program instructions being configured, together with the at least two processors, to cause the electronic device to: receive, at a second processor, user data and cache metadata from a first cache of a first processor, the cache metadata comprising information associated with writing the user data to the storage system; preprocess the cache metadata, such that the user data is accessible to a host via the second processor; and performing, in a second cache of the second processor, data processing related to cache mirroring based on the user data and the cache metadata; wherein preprocessing the cache metadata comprises: moving the cache metadata from a receiving buffer of the second cache to a queue of cache metadata accessible to the host. 14. The electronic device of claim 13 , wherein performing the data processing comprises: waking up a background thread to perform the data processing. 15. The electronic device of claim 13 , wherein receiving the cache metadata comprises: receiving a cache metadata message comprising the cache metadata and recovery information for recovering the cache metadata message during a failure recovery. 16. The electronic device of claim 15 , wherein the recovery information comprises at least one of the following: a processing state, a sending serial number, and a checksum of the cache metadata message. 17. The electronic device of claim 16 , wherein the instructions further cause the electronic device to perform at least one of the following: in response to completion of the preprocessing, change the processing state from an initial value of “valid” to “preprocessed;” in response to the data processing being in progress, set the processing state to “processing;” and in response to the completion of the data processing, set the processing state to “invalid.” 18. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform storage management; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of: receiving, at a second processor of a storage system, user data and cache metadata from a first cache of a first processor of the storage system, the cache metadata comprising information associated with writing the user data to the storage system; preprocessing the cache metadata, such that the user data is accessible to a host via the second processor; and performing, in a second cache of the second processor, data processing related to cache mirroring based on the user data and the cache metadata; wherein preprocessing the cache metadata comprises: moving the cache metadata from a receiving buffer of the second cache to a queue of cache metadata accessible to the host. 19. The computer program product of claim 18 , wherein performing the data processing comprises: waking up a background thread to perform the data processing. 20. The computer program product of claim 18 , wherein receiving the cache metadata comprises: receiving a cache metadata message comprising the cache metadata and recovery information for recovering the cache metadata message during a failure recovery. 21. The computer program product of claim 20 , wherein the recovery information comprises at least one of the following: a processing state, a sending serial number, and a checksum of the cache metadata message. 22. The computer program product of claim 21 , wherein the method furth

Assignees

Inventors

Classifications

  • configured as RAID · CPC title

  • Data synchronisation · CPC title

  • according to context, e.g. thread buffers · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · 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 US11385796B2 cover?
Techniques perform storage management. Such techniques involve: in response to receiving, at a first processor of a storage system, a write request from a host for writing user data, caching the user data in a first cache of the first processor, and generating cache metadata in the first cache, the cache metadata including information associated with writing the user data; sending the user data…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0868. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 12 2022 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 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).