System and method for reducing reference count update contention in metadata blocks

US11467963B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11467963-B2
Application numberUS-202017068281-A
CountryUS
Kind codeB2
Filing dateOct 12, 2020
Priority dateOct 12, 2020
Publication dateOct 11, 2022
Grant dateOct 11, 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.

A method, computer program product, and computing system for receiving, at a node of a multi-node storage system, one or more updates to a reference count associated with a metadata block. One or more reference count deltas associated with the metadata block may be stored in a cache memory system of the node. An existing copy of the metadata block in a cache memory system of each other node of the multi-node storage system may be retained.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, executed on a computing device, comprising: receiving, at a node of a multi-node storage system, one or more updates to a reference count associated with a metadata block; storing one or more reference count deltas associated with the metadata block in a cache memory system of the node; retaining, in a cache memory system of each other node of the multi-node storage system, an existing copy of the metadata blocks; writing the one or more reference count deltas associated with the metadata block to one or more delta container pages of the storage array; determining that writing each of the one or more reference count deltas to the metadata block will exceed a maximum reference count associated with the metadata block: writing a first portion of the one or more reference count deltas to the metadata block in the storage array based upon, at least in part, the maximum reference count associated with the metadata block; and writing the remaining one or more reference count deltas back to the one or more delta container pages of the storage array. 2. The computer-implemented method of claim 1 , further comprising: receiving, from a node of the multi-node storage system, a request to perform an operation on the metadata block that requires a consistent reference count associated with the metadata block, thus defining a requesting node; and providing an exclusive lock on the metadata block to the requesting node. 3. The computer-implemented method of claim 1 , further comprising: receiving, from at least one node, a request to perform an operation on the metadata block that does not require a consistent reference count associated with the metadata block; and providing a shared lock on the metadata block to the at least one node of the multi-node storage system. 4. The computer-implemented method of claim 1 , further comprising: updating, via at least one node, the reference count associated with the metadata block based upon, at least in part, the one or more reference count deltas associated with the metadata block stored in the cache memory system of the at least one node. 5. The computer-implemented method of claim 4 , wherein updating, via the at least one node, the reference count associated with the metadata block based upon, at least in part, the one or more reference count deltas associated with the metadata block stored in the cache memory system of the at least one node includes: caching a copy of the metadata block from a storage array to the cache memory system of the at least one node; and applying the one or more reference count deltas associated with the metadata block stored in the cache memory system of the at least one node to the cached copy of the metadata block. 6. The computer-implemented method of claim 5 , further comprising: writing at least a subset of the one or more reference count deltas to the cached copy of the metadata block based upon, at least in part, a maximum reference count associated with the cached copy of the metadata block. 7. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising: receiving, at a node of a multi-node storage system, one or more updates to a reference count associated with a metadata block; storing one or more reference count deltas associated with the metadata block in a cache memory system of the node; retaining, in a cache memory system of each other node of the multi-node storage system, an existing copy of the metadata blocks; updating, via at least one node, the reference count associated with the metadata block based upon, at least in part, the one or more reference count deltas associated with the metadata block stored in the cache memory system of the at least one node, wherein updating, via the at least one node, the reference count associated with the metadata block based upon, at least in part, the one or more reference count deltas associated with the metadata block stored in the cache memory system of the at least one node includes: caching a copy of the metadata block from a storage array to the cache memory system of the at least one node, and applying the one or more reference count deltas associated with the metadata block stored in the cache memory system of the at least one node to the cached copy of the metadata block; and writing at least a subset of the one or more reference count deltas to the cached copy of the metadata block based upon, at least in part, a maximum reference count associated with the cached copy of the metadata block. 8. The computer program product of claim 7 , wherein the operations further comprise: receiving, from a node of the multi-node storage system, a request to perform an operation on the metadata block that requires a consistent reference count associated with the metadata block, thus defining a requesting node; and providing an exclusive lock on the metadata block to the requesting node. 9. The computer program product of claim 7 , wherein the operations further comprise: receiving, from at least one node, a request to perform an operation on the metadata block that does not require a consistent reference count associated with the metadata block; and providing a shared lock on the metadata block to the at least one node of the multi-node storage system. 10. The computer program product of claim 7 , wherein the operations further comprise: writing the one or more reference count deltas associated with the metadata block to one or more delta container pages of the storage array; determining that writing each of the one or more reference count deltas to the metadata block will exceed a maximum reference count associated with the metadata block; writing a first portion of the one or more reference count deltas to the metadata block in the storage array based upon, at least in part, the maximum reference count associated with the metadata block; and writing the remaining one or more reference count deltas back to the one or more delta container pages of the storage array. 11. A computing system comprising: a memory; and a processor configured to receive, at a node of a multi-node storage system, one or more updates to a reference count associated with a metadata block, wherein the processor is further configured to store one or more reference count deltas associated with the metadata block in a cache memory system of the node, wherein the processor is further configured to retain, in a cache memory system of each other node of the multi-node storage system, an existing copy of the metadata block, wherein the processor is further configured to write the one or more reference count deltas associated with the metadata block to one or more delta container pages of the storage array, wherein the processor is further configured to determine that writing each of the one or more reference count deltas to the metadata block will exceed a maximum reference count associated with the metadata block, wherein the processor is further configured to write a first portion of the one or more reference count deltas to the metadata block in the storage array based upon, at least in part, the maximum reference count associated with the metadata block, and wherein the processor is further configured to write the remaining one or more reference count deltas back to the one or more delta container pages of the storage array. 12. The computing system of claim 11 , wherein the processor is further configured to: receive, from a node of the multi

Assignees

Inventors

Classifications

  • Mirrored cache memory · CPC title

  • Performance improvement · CPC title

  • configured as RAID · CPC title

  • Cache consistency protocols · CPC title

  • Parity data used in redundant arrays of independent storages, e.g. in RAID 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 US11467963B2 cover?
A method, computer program product, and computing system for receiving, at a node of a multi-node storage system, one or more updates to a reference count associated with a metadata block. One or more reference count deltas associated with the metadata block may be stored in a cache memory system of the node. An existing copy of the metadata block in a cache memory system of each other node of …
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0815. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 11 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).