Managing lock information associated with a lock operation

US11829342B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11829342-B2
Application numberUS-202017029498-A
CountryUS
Kind codeB2
Filing dateSep 23, 2020
Priority dateJul 31, 2020
Publication dateNov 28, 2023
Grant dateNov 28, 2023

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.

Storage management techniques involve determining, if it is determined that lock information associated with a lock operation performed on an object is to be inserted into a storage device, a target digest for representing the lock information; determining whether an idle index not associated with a historical digest exists in an index array for indicating a plurality of storage positions in the storage device; and inserting, if it is determined that an idle index exists in the index array, the lock information into a target storage position in the plurality of storage positions by associating the target digest with the idle index. Accordingly, lock information can be quickly inserted and cleared, thereby improving the system performance.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of managing a lock tracking system of a storage system, comprising: in response to determining that lock information associated with a lock operation performed on an object is to be inserted into a buffer cache of the storage system, generating a target digest representing the lock information, the target digest to be stored in a position of a digest array in the buffer cache, wherein positions of the digest array are associated with corresponding positions of an index array in the buffer cache, the index array storing locations of content data elements in the buffer cache, the content data elements storing object-related lock information; locating an idle index not corresponding to a digest array position that stores a historical digest, the idle index being a position in the index array; storing the target digest in a target position of the digest array, the target position corresponding in position to the idle index; inserting the lock information into a target content data element at a storage location in the buffer cache, the storage location being separate from the index array and digest array; storing, in the idle index, the storage location of the target content data element; in response to the lock information being cleared, setting the target position of the digest array to invalid and performing hole compression on the target position of the digest array, the hole compression (i) causing a digest stored at a position preceding the target position to become adjacent to a digest stored at a position subsequent to the target position and (ii) causing a storage location stored at an index preceding the idle index to become adjacent to a storage location stored at an index subsequent to the idle index. 2. The method of claim 1 , wherein determining the target digest comprises: acquiring a lock address of a locked object from the lock information; and determining the target digest based on the lock address. 3. The method of claim 1 , further comprising: locating, from among the positions of the index array, a position corresponding to a digest array position storing a historical digest that has expired; and updating the index array based on the historical digest that has expired to generate a second idle index. 4. The method of claim 1 , further comprising: disassociating a non-idle index that has been associated with a digest array position that stores a historical digest from the historical digest; and clearing historical lock information inserted into a used content data element whose storage location is stored in the non-idle index. 5. The method of claim 1 , wherein inserting the lock information into a target content data element comprises: determining, from a plurality of content data elements, a target content data element allocated for the idle index; establishing a mapping relationship between the target content data element and the target digest by associating the target digest with the idle index; and inserting the lock information into the target content data element based on the mapping relationship. 6. The method of claim 1 , further comprising: generating, in response to receiving unlock information associated with an unlock operation for a locked object, another target digest for representing the unlock information; determining, from candidate digests stored in digest array positions corresponding to the positions of the index array, whether a reference digest matching the another target digest exists; determining, in response to determining that the reference digest exists, whether reference lock information represented by the reference digest matches the unlock information; and clearing, in response to determining that the reference lock information matches the unlock information, the reference lock information from the storage device. 7. The method of claim 6 , further comprising: inserting the unlock information into an available content data element in a plurality of content data elements. 8. The method of claim 1 , wherein the positions of the digest array have a corresponding positional relationship with the positions of the index array; wherein performing the hole compression is further in response to determining that each of the positions of the index array is associated with a digest stored in a respective position of the digest array; and wherein performing the hole compression further includes inserting an idle position at a tail of the digest array and inserting a second idle index at a tail of the index array. 9. The method of claim 1 , wherein locating the idle index includes: accessing an insertion cursor indicating a starting position in the index array; and starting from the starting position, searching positions in the index array to locate the idle index as an available index; and wherein the method further comprises: after locating the idle index, incrementing the insertion cursor to indicate a new starting position in the index array to perform a subsequent search operation. 10. An electronic device, comprising: at least one processor; and at least one memory storing computer program instructions, the at least one memory and the computer program instructions being configured to cause, with the at least one processor, the electronic device to perform actions comprising: in response to determining that lock information associated with a lock operation performed on an object is to be inserted into a buffer cache of the storage system, generating a target digest representing the lock information, the target digest to be stored in a position of a digest array in the buffer cache, wherein positions of the digest array are associated with corresponding positions of an index array in the buffer cache, the index array storing locations of content data elements in the buffer cache, the content data elements constructed and arranged to store object-related lock information; locating an idle index corresponding to a digest array position that stores a historical digest, the idle index being a position in the index array; storing the target digest in a target position of the digest array, the target position corresponding in position to the idle index; inserting the lock information into a target content data element at a storage location in the buffer cache, the storage location being separate from the index array and digest array; and storing, in the idle index, the storage location of the target content data element; in response to the lock information being cleared, setting the target position of the digest array to invalid and performing hole compression on the target position of the digest array, the hole compression (i) causing a digest stored at a position preceding the target position to become adjacent to a digest stored at a position subsequent to the target position and (ii) causing a storage location stored at an index preceding the idle index to become adjacent to a storage location stored at an index subsequent to the idle index. 11. The electronic device of claim 10 , wherein determining the target digest comprises: acquiring a lock address of a locked object from the lock information; and determining the target digest based on the lock address. 12. The electronic device of claim 10 , wherein the actions further comprise: locating, from among the positions of the index array, a position corresponding to a digest array position storing a historical digest that has expired; and updating the index array based on the historical digest that has expired to generate a second idle index. 13. The electronic device of claim 10

Assignees

Inventors

Classifications

  • Locking methods, e.g. distributed locking or locking implementation details · CPC title

  • Vectors, bitmaps or matrices · CPC title

  • Indexing structures · 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 US11829342B2 cover?
Storage management techniques involve determining, if it is determined that lock information associated with a lock operation performed on an object is to be inserted into a storage device, a target digest for representing the lock information; determining whether an idle index not associated with a historical digest exists in an index array for indicating a plurality of storage positions in th…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/2343. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 28 2023 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).