Isolation of concurrent read and write transactions on the same file
US-2020183890-A1 · Jun 11, 2020 · US
US11467963B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11467963-B2 |
| Application number | US-202017068281-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 12, 2020 |
| Priority date | Oct 12, 2020 |
| Publication date | Oct 11, 2022 |
| Grant date | Oct 11, 2022 |
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.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.