Read I/O processing techniques using remote mapping resolution with logical address space slicing

US12493563B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12493563-B2
Application numberUS-202418800679-A
CountryUS
Kind codeB2
Filing dateAug 12, 2024
Priority dateMar 31, 2023
Publication dateDec 9, 2025
Grant dateDec 9, 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.

Logical address space portions and virtual layer blocks (VLBs) can be partitioned into multiple sets. Each of multiple nodes in a system can be assigned exclusive ownership of one of the multiple sets. In at least one embodiment, for a read I/O which is received at a first node and directed to a logical address LA 1 that is owned by a second node, the first node can request that the second owning node perform resolution processing for LA 1 . The second node can return either a VLB address or a PLB address based on whether the second node owns a VLB used in mapping LA 1 to a corresponding physical location PA 1 which includes content C 1 stored at LA 1 . The second node can set a flag in its response to indicate whether a returned address is a VLB address or a PLB address.

First claim

Opening claim text (preview).

What is claimed is: 1 . One or more non-transitory computer readable media comprising code stored thereon that, when executed, performs a method comprising: receiving, at a first node from a host, a read I/O operation requesting to read content C 1 from a first logical address LA 1 , where the first node and a second node are included in a data storage system; determining that LA 1 is owned by the second node but not owned by the first node; sending, from the first node to the second node, a first request requesting that the second node perform first resolution processing for LA 1 ; and responsive to receiving the first request at the second node, the second node performing said first resolution processing for LA 1 , wherein said first resolution processing includes: mapping LA 1 to a first entry E 1 of a first metadata (MD) leaf object, wherein E 1 includes a first virtual layer block (VLB) address which corresponds to a first VLB of a virtual block layer; determining whether the second node owns the first VLB; responsive to determining the second node does not own the first VLB, sending a first response from the second node to first node, where the first response includes the first VLB address and includes a first indicator with a first setting which indicates that the first response includes a VLB address type; and responsive to determining that second node does own the first VLB, performing first processing including: the second node using the first VLB address to obtain a first physical address or location PA 1 on non-volatile storage, wherein C 1 is stored at PA 1 ; and sending the first response from the second node to the first node, wherein the first response includes PA 1 and includes the first indicator with a second setting which indicates that the first response includes a physical layer block (PLB) address type. 2 . The one or more non-transitory computer readable media of claim 1 , wherein the VLB address type is an indirect pointer or address used to indirectly access stored content. 3 . The one or more non-transitory computer readable media of claim 2 , wherein the PLB address type is a physical address or location of stored content on non-volatile storage. 4 . The one or more non-transitory computer readable media of claim 3 , wherein the method further comprises: receiving, at the first node from the second node, the first response; determining, by the first node, whether the first indicator of the first response has the first setting or the second setting; and responsive to determining that the first indicator has the first setting, the first node determining that the first response includes the VLB address type, and the first node performing second processing which includes using the first VLB address to read C 1 from PA 1 . 5 . The one or more non-transitory computer readable media of claim 4 , wherein the first VLB address identifies a VLB entry E 2 of the first VLB, wherein E 2 includes PA 1 , and wherein the second processing includes: reading, by the first node, the first VLB from non-volatile storage; caching, by the first node, the first VLB in a local cache of the first node; reading, by the first node, PA 1 from E 2 of the first VLB; reading, by the first node, C 1 which is stored at PA 1 on non-volatile storage; and returning, by the first node, C 1 to the host in a read I/O response. 6 . The one or more non-transitory computer readable media of claim 4 , wherein the method further comprises: responsive to determining that the first indicator has the second setting, the first node determining that the first response includes the PLB address type, and performing third processing comprising: reading, by the first node, C 1 from PA 1 ; and returning, by the first node, C 1 to the host in a read I/O response. 7 . The one or more non-transitory computer readable media of claim 6 , wherein the second node using the first VLB address to obtain PA 1 further comprises: reading, by the second node, the first VLB from non-volatile storage; caching, by the second node, the first VLB in a local cache of the second node; and reading, by the second node, PA 1 from E 2 of the first VLB. 8 . The one or more non-transitory computer readable media of claim 1 , wherein the method further comprises: partitioning a plurality of virtual layer blocks (VLBs) of the virtual block layer into a plurality of sets including a first set and a second set, wherein the first node is assigned exclusive ownership of VLBs in the first set and wherein the second node is assigned exclusive ownership of VLBs in the second set. 9 . The one or more non-transitory computer readable media of claim 8 , wherein the method further comprises: partitioning a logical address space into a plurality of logical address portions; and dividing the plurality of logical address portions into a plurality of logical address sets including a first logical address set and a second logical address sets, wherein the first node is assigned exclusive ownership of logical address portions of the first logical address set, and wherein the second node is assigned exclusive ownership of logical address portions of the second logical address set. 10 . A system comprising: one or more processors; and one or more memories comprising code stored thereon that, when executed, performs a method comprising: receiving, at a first node from a host, a read I/O operation requesting to read content C 1 from a first logical address LA 1 , where the first node and a second node are included in a data storage system; determining that LA 1 is owned by the first node; the first node performing first resolution processing for LA 1 , wherein the first resolution processing includes the first node mapping LA 1 to a first entry E 1 of a first metadata (MD) leaf object, wherein E 1 includes a first virtual layer block (VLB) address which corresponds to a first VLB of a virtual block layer; determining, by the first node, whether the first node or the second node owns the first VLB; and responsive to determining that the first node owns the first VLB, performing first processing including: the first node using the first VLB address to obtain a first physical address or location PA 1 on non-volatile storage, wherein C 1 is stored at PA 1 ; the first node reading C 1 from PA 1 ; and the first node returning C 1 to the host in a read I/O response. 11 . A computer-implemented method comprising: receiving, at a first node from a host, a read I/O operation requesting to read content C 1 from a first logical address LA 1 , where the first node and a second node are included in a data storage system; determining that LA 1 is owned by the first node; the first node performing first resolution processing for LA 1 , wherein the first resolution processing includes the first node mapping LA 1 to a first entry E 1 of a first metadata (MD) leaf object, wherein E 1 includes a first virtual layer block (VLB) address which corresponds to a first VLB of a virtual block layer; determining, by the first node, whether the first node or the second node owns the first VLB; and responsive to determining that the first node owns the first VLB, performing first processing including: the first node using the first VLB address to obtain a first physical address or location PA 1 on non-volatile storage, wherein C 1 is stored at PA 1 ; the first node reading C 1 from PA 1 ; and the first node returning C 1 to the host in a read I/O response. 12 . The computer-implemented method of claim 11 , wherein the first VLB address identifies a s

Assignees

Inventors

Classifications

  • G06F3/0604Primary

    Improving or facilitating administration, e.g. storage management · CPC title

  • Plurality of storage devices · CPC title

  • at data level, e.g. file, record or object virtualisation · CPC title

  • Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication (G06F12/08 takes precedence) · CPC title

  • Details of memory controller · 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 US12493563B2 cover?
Logical address space portions and virtual layer blocks (VLBs) can be partitioned into multiple sets. Each of multiple nodes in a system can be assigned exclusive ownership of one of the multiple sets. In at least one embodiment, for a read I/O which is received at a first node and directed to a logical address LA 1 that is owned by a second node, the first node can request that the second own…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/0604. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 09 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).