RPC-less locking mechanism based on RDMA CAW for storage cluster with active-active architecture

US11416441B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11416441-B2
Application numberUS-202117145625-A
CountryUS
Kind codeB2
Filing dateJan 11, 2021
Priority dateJan 11, 2021
Publication dateAug 16, 2022
Grant dateAug 16, 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 for providing an RPC-less locking mechanism based on RDMA CAW for a storage cluster with an active-active architecture. The techniques include, in response to receipt at a storage node of a lock request for accessing an LBA of a storage object, synchronizing, between the storage node and a remote node, a state of a lock for the LBA. The synchronizing of the lock state includes locating an ALS object having a field containing the LBA, updating a field of the ALS object to include the storage node, and setting a field of the ALS object to a type of lock specified in the lock request. If the storage node locates the ALS object in an array maintained within visible memory on the remote node, then the storage node updates/sets corresponding fields of the ALS object by performing atomic CAW operations supported by an RDMA channel between the respective nodes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of locking an entity of a storage object in a storage cluster with an active-active architecture, comprising: maintaining a lock state object on a memory of a first storage node, the lock state object including a first field for a lock state of an entity of a storage object, and the memory being registered for remote direct memory access (RDMA); in response to receipt at a second storage node of a request for a lock to access the entity of the storage object, accessing, by the second storage node, the lock state object by performing an atomic RDMA compare-and-write (CAW) operation against a mutex value associated with a lock state object bucket that includes the lock state object; and updating, by the second storage node, the first field of the lock state object by performing a second RDMA operation between the first storage node and the second storage node, thereby synchronizing the lock state between the first storage node and the second storage node. 2. The method of claim 1 wherein the performing of the second RDMA operation between the first storage node and the second storage node includes setting the first field of the lock state object to a value indicating that at least the second storage node is an owner of the lock. 3. The method of claim 2 wherein the accessing of the lock state object includes allocating the lock state object on the memory of the first storage node by performing a third RDMA operation between the first storage node and the second storage node. 4. The method of claim 3 wherein the lock state object includes a second field, and wherein the performing of the third RDMA operation between the first storage node and the second storage node includes setting the second field of the lock state object to a value of the entity of the storage object. 5. The method of claim 4 wherein the lock state object includes a third field, and wherein the accessing of the lock state object includes performing a fourth RDMA operation between the first storage node and the second storage node, the fourth RDMA operation including setting the third field of the lock state object to a value indicating a type of lock specified by the request. 6. The method of claim 2 wherein the lock state object includes a second field, and wherein the accessing of the lock state object includes locating the lock state object on the memory of the first storage node by performing a third RDMA operation between the first storage node and the second storage node. 7. The method of claim 6 wherein the performing of the third RDMA operation between the first storage node and the second storage node includes inspecting the first field of the lock state object to determine that at least the second storage node is the owner of the lock. 8. The method of claim 7 wherein the inspecting of the first field of the lock state object includes determining that the second storage node is the sole owner of the lock. 9. The method of claim 8 further comprising: releasing, by the second storage node, the lock by performing a fourth RDMA operation between the first storage node and the second storage node. 10. The method of claim 9 wherein the lock state object includes a second field having a value of the entity of the storage object, and wherein the performing of the fourth RDMA operation between the first storage node and the second storage node includes replacing the value of the entity in the second field of the lock state object with a predetermined unspecified entity value. 11. The method of claim 10 wherein each of the first storage node and the second storage node is the owner of the lock, wherein the releasing of the lock includes performing a fifth RDMA operation between the first storage node and the second storage node, and wherein the performing of the fifth RDMA operation includes updating the first field of the lock state object to a value indicating that the first storage node is the sole owner of the lock. 12. The method of claim 11 wherein the lock includes a waiting queue and a reference to the lock state object, wherein the waiting queue is on the memory of the first storage node, wherein the waiting queue includes a process thread waiting for the lock, and wherein the method further comprises: registering the lock state object with a poller on the first storage node; and periodically polling, by the poller, the lock state object to detect the updating of the first field of the lock state object to the value indicating that the first storage node is the sole owner of the lock. 13. The method of claim 12 further comprising: having detected the updating of the first field of the lock state object, providing a notification of the updating to the process thread in the waiting queue. 14. The method of claim 1 wherein the performing of the atomic RDMA CAW operation includes executing a compare operation and a write operation atomically, wherein the executing of the compare operation and the write operation atomically comprises: in the compare operation, comparing the mutex value with a first predetermined value to produce a comparison result, the mutex value being contained in a mutex field; and in the write operation, in response to the comparison result indicating that the mutex value is equal to the first predetermined value, writing, atomically with the compare operation, a second predetermined value to the mutex field. 15. A system for locking an entity of a storage object in a storage cluster with an active-active architecture, comprising: a memory; and processing circuitry configured to execute program instructions out of the memory to: maintain a lock state object on a memory of a first storage node, the lock state object including a first field for a lock state of an entity of a storage object, and the memory being registered for remote direct memory access (RDMA); in response to receipt at a second storage node of a request for a lock to access the entity of the storage object, access, by the second storage node, the lock state object by performing a first RDMA operation between the first storage node and the second storage node; and update, by the second storage node, the first field of the lock state object by performing a second RDMA operation between the first storage node and the second storage node, thereby synchronizing the lock state between the first storage node and the second storage node, wherein the processing circuitry is further configured to execute the program instructions out of the memory to perform the first RDMA operation including performing an atomic RDMA compare-and-write (CAW) operation against a mutex value associated with a lock state object bucket that includes the lock state object. 16. The system of claim 15 wherein the processing circuitry is further configured to execute the program instructions out of the memory to perform the second RDMA operation between the first storage node and the second storage node including setting the first field of the lock state object to a value indicating that at least the second storage node is an owner of the lock. 17. A computer program product including a set of non-transitory, computer-readable media having instructions that, when executed by processing circuitry, cause the processing circuitry to perform a method of locking an entity of a storage object in a storage cluster with an active-active architecture, the method comprising: maintaining a lock state object on a memory of a first storage node, the lock state object including a first field for a lock state of an e

Assignees

Inventors

Classifications

  • Distributed shared memory [DSM], e.g. remote direct memory access [RDMA] · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · 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 US11416441B2 cover?
Techniques for providing an RPC-less locking mechanism based on RDMA CAW for a storage cluster with an active-active architecture. The techniques include, in response to receipt at a storage node of a lock request for accessing an LBA of a storage object, synchronizing, between the storage node and a remote node, a state of a lock for the LBA. The synchronizing of the lock state includes locati…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F15/17331. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 16 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).