System and method for managing metadata access locking in cache

US12386756B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12386756-B2
Application numberUS-202318464797-A
CountryUS
Kind codeB2
Filing dateSep 11, 2023
Priority dateSep 11, 2023
Publication dateAug 12, 2025
Grant dateAug 12, 2025

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 a metadata input/output (IO) request on a first storage node of a storage system. The metadata IO request may be partitioned into a plurality of metadata pages. The plurality of metadata pages may include a plurality of logical metadata pages and a plurality of virtual metadata pages. A family identifier may be obtained for each logical metadata page. The family identifier is a unique identifier assigned to a group of related metadata elements that share data, and is stored in a family identifier locking table. At least one of the plurality of metadata pages may be locked from access by a second storage node using the family identifier. The metadata IO request may be processed on the plurality of metadata pages by loading the at least one of the plurality of metadata pages into a memory of the first storage node.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, executed on a computing device, comprising: receiving a metadata input/output (IO) request on a first storage node of a storage system; partitioning the metadata IO request into a plurality of metadata pages, wherein the plurality of metadata pages include a plurality of logical metadata pages and a plurality of virtual metadata pages; determining that a family identifier for each logical metadata page is known, wherein the family identifier is a unique identifier assigned to a group of related metadata elements that share data, and is stored in a family identifier locking table; locking, using the family identifier, at least one of the plurality of metadata pages from access by a second storage node, wherein locking the at least one of the plurality of metadata pages includes performing an extent lock table lookup and an extent locking using the family identifier in place of an extent identifier; and processing the metadata IO request on the plurality of metadata pages by loading the at least one of the plurality of metadata pages into a memory of the first storage node. 2. The computer-implemented method of claim 1 , wherein determining that the family identifier for each logical metadata page is known includes indicating that an associated family identifier does not exist for the plurality of virtual metadata pages. 3. The computer-implemented method of claim 1 , wherein the first and second nodes of the storage system are configured in an active/active configuration. 4. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising: receiving a metadata input/output (IO) request on a first storage node of a storage system; partitioning the metadata IO request into a plurality of metadata pages, wherein the plurality of metadata pages include a plurality of logical metadata pages and a plurality of virtual metadata pages; determining whether a family identifier for each logical metadata page exists, wherein the family identifier is a unique identifier assigned to a group of related metadata elements that share data, and is stored in a family identifier locking table; locking, using the family identifier, at least one of the plurality of metadata pages from access by a second storage node, wherein locking the at least one of the plurality of metadata pages includes performing an extent lock table lookup and an extent locking using the family identifier in place of an extent identifier when the family identifier is known; and processing the metadata IO request on the plurality of metadata pages by loading the at least one of the plurality of metadata pages into a memory of the first storage node. 5. The computer program product of claim 4 , wherein locking the at least one of the plurality of metadata pages includes performing metadata page locking by sending a lock request and processing a lock reply using an internode connection service (ICS) when the family identifier does not exist. 6. The computer program product of claim 4 , wherein locking the at least one of the plurality of metadata pages includes performing a cache lookup for the at least one of the plurality of metadata pages by logical block address (LBA) when the family identifier is unknown. 7. The computer program product of claim 6 , wherein performing the cache lookup for the metadata page by the LBA includes: determining whether the page is loaded in the memory of the first storage node, in response to determining that the page is loaded in the memory of the first storage node, obtaining the family identifier from a metadata memory structure, and in response to determining that the page is not loaded in the memory of the first storage node: reading the at least one of the plurality of metadata pages from persistent storage, and loading the at least one of the plurality of metadata pages to the memory of the first storage node. 8. The computer program product of claim 4 , wherein determining whether the family identifier for each logical metadata page exists includes indicating that an associated family identifier does not exist for the plurality of virtual metadata pages. 9. The computer program product of claim 4 , wherein the first and second nodes of the storage system are configured in an active/active configuration. 10. A computing system including one or more processors and one or more memories configured to perform operations comprising: receiving a metadata input/output (IO) request on a first storage node of a storage system; partitioning the metadata IO request into a plurality of metadata pages, wherein the plurality of metadata pages include a plurality of logical metadata pages and a plurality of virtual metadata pages; determining whether a family identifier for each logical metadata page exists, wherein the family identifier is a unique identifier assigned to a group of related metadata elements that share data, and is stored in a family identifier locking table; locking, using the family identifier, at least one of the plurality of metadata pages from access by a second storage node, wherein locking the at least one of the plurality of metadata pages includes performing an extent lock table lookup and an extent locking using the family identifier in place of an extent identifier when the family identifier is known; and processing the metadata IO request on the plurality of metadata pages by loading the at least one of the plurality of metadata pages into a memory of the first storage node. 11. The computing system of claim 10 , wherein locking the at least one of the plurality of metadata pages includes performing metadata page locking by sending a lock request and processing a lock reply using an internode connection service (ICS) when the family identifier does not exist. 12. The computing system of claim 10 , wherein locking the at least one of the plurality of metadata pages includes performing a cache lookup for the at least one of the plurality of metadata pages by logical block address (LBA) when the family identifier is unknown. 13. The computing system of claim 12 , wherein performing the cache lookup for the metadata page by the LBA includes: determining whether the page is loaded in the memory of the first storage node, in response to determining that the page is loaded in the memory of the first storage node, obtaining the family identifier from a metadata memory structure, and in response to determining that the page is not loaded in the memory of the first storage node: reading the at least one of the plurality of metadata pages from persistent storage, and loading the at least one of the plurality of metadata pages to the memory of the first storage node. 14. The computing system of claim 10 , wherein determining whether the family identifier for each logical metadata page exists includes indicating that an associated family identifier does not exist for the plurality of virtual metadata pages.

Assignees

Inventors

Classifications

  • for peripheral access to main memory, e.g. direct memory access [DMA] · CPC title

  • Virtual address space management · CPC title

  • Data buffering arrangements · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • Improving I/O performance · 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 US12386756B2 cover?
A method, computer program product, and computing system for receiving a metadata input/output (IO) request on a first storage node of a storage system. The metadata IO request may be partitioned into a plurality of metadata pages. The plurality of metadata pages may include a plurality of logical metadata pages and a plurality of virtual metadata pages. A family identifier may be obtained for …
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F12/109. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 12 2025 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).