Method, apparatus and computer program product for determining ownership of a data segment

US10846005B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10846005-B2
Application numberUS-201916265830-A
CountryUS
Kind codeB2
Filing dateFeb 1, 2019
Priority dateFeb 1, 2019
Publication dateNov 24, 2020
Grant dateNov 24, 2020

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 are disclosed for determining ownership of a data segment. The techniques include providing a data segment in a data storage appliance that facilitates multiple references of the data segment by one or more storage entities. The techniques also include maintaining a plurality of counts in connection with the data segment, the plurality of counts comprising (i) a first count representing a sum of first values that identify the respective storage entities associated with each reference of the data segment, (ii) a second count representing a sum of second values that derive from key values of the respective storage entities associated with each reference of the data segment, and (iii) a third count representing a number of references of the data segment by the respective storage entities. The techniques also include determining whether the said storage entity exclusively owns the data segment based on the plurality of counts and a key value of one of the respective storage entities.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: providing a data segment in a data storage appliance that facilitates multiple references of the data segment by one or more storage entities; maintaining a plurality of counts in connection with the data segment, the plurality of counts comprising (i) a first count representing a sum of first values that identify the respective storage entities associated with each reference of the data segment, (ii) a second count representing a sum of second values that derive from key values of the respective storage entities associated with each reference of the data segment, and (iii) a third count representing a number of references of the data segment by the respective storage entities; and based on the plurality of counts and a key value of one of the respective storage entities, determining whether the said storage entity exclusively owns the data segment. 2. The method as claimed in claim 1 , wherein the storage entity exclusively owns the data segment when it is the only storage entity that references the data segment; and wherein determining whether the said storage entity exclusively owns the data segment, comprises: producing a third value by dividing the first count by the third count; producing a fourth value based on the third value and the key value of the said storage entity; producing a fifth value by dividing the second count by the third count; and comparing the fourth value and the fifth value to determine whether the fourth value corresponds to the fifth value. 3. The method as claimed in claim 2 , wherein the method further comprises: in response to determining that the fourth value corresponds to the fifth value, determining that the third value identifies the storage entity that exclusively owns the data segment. 4. The method as claimed in claim 2 , wherein prior to determining whether the storage entity exclusively owns the data segment, and wherein the method further comprises: dividing the first count by the third count to determine a first remainder resulting from the division; dividing the second count by the third count to determine a second remainder resulting from the division; and determining whether the first and the second remainders correspond to zero such that the determination of whether the storage entity exclusively owns the data segment will proceed when the first and the second remainders correspond to zero. 5. The method as claimed in claim 1 , wherein the method further comprises: in response to determining whether the storage entity exclusively owns the data segment, updating ownership information in connection with one or more storage entities such that the ownership information indicates an amount of physical storage space recoverable by the data storage appliance upon deletion of any of the said one or more storage entities. 6. The method as claimed in claim 1 , wherein the method further comprises: receiving an I/O operation in connection with the data storage appliance; detecting that the I/O operation will cause an increase or decrease in the third count; and issuing instructions to proceed with the said determination. 7. The method as claimed in claim 1 , wherein the storage entity comprises one of a volume family or a volume and the data segment relates to a data block. 8. An apparatus, comprising: memory; and processing circuitry coupled to the memory, the memory storing instructions which, when executed by the processing circuitry, cause the processing circuitry to: provide a data segment in a data storage appliance that facilitates multiple references of the data segment by one or more storage entities; maintain a plurality of counts in connection with the data segment, the plurality of counts comprising (i) a first count representing a sum of first values that identify the respective storage entities associated with each reference of the data segment, (ii) a second count representing a sum of second values that derive from key values of the respective storage entities associated with each reference of the data segment, and (iii) a third count representing a number of references of the data segment by the respective storage entities; and based on the plurality of counts and a key value of one of the respective storage entities, determine whether the said storage entity exclusively owns the data segment. 9. The apparatus as claimed in claim 8 , wherein the storage entity exclusively owns the data segment when it is the only storage entity that references the data segment; and wherein determining whether the said storage entity exclusively owns the data segment, comprises: producing a third value by dividing the first count by the third count; producing a fourth value based on the third value and the key value of the said storage entity; producing a fifth value by dividing the second count by the third count; and comparing the fourth value and the fifth value to determine whether the fourth value corresponds to the fifth value. 10. The apparatus as claimed in claim 9 , wherein the memory further stores instructions which, when executed by the processing circuitry, cause the processing circuitry to: in response to determining that the fourth value corresponds to the fifth value, determine that the third value identifies the storage entity that exclusively owns the data segment. 11. The apparatus as claimed in claim 9 , wherein prior to determining whether the storage entity exclusively owns the data segment, and wherein the memory further stores instructions which, when executed by the processing circuitry, cause the processing circuitry to: divide the first count by the third count to determine a first remainder resulting from the division; divide the second count by the third count to determine a second remainder resulting from the division; and determine whether the first and the second remainders correspond to zero such that the determination of whether the storage entity exclusively owns the data segment will proceed when the first and the second remainders correspond to zero. 12. The apparatus as claimed in claim 8 , wherein the memory further stores instructions which, when executed by the processing circuitry, cause the processing circuitry to: in response to determining whether the storage entity exclusively owns the data segment, update ownership information in connection with one or more storage entities such that the ownership information indicates an amount of physical storage space recoverable by the data storage appliance upon deletion of any of the said one or more storage entities. 13. The apparatus as claimed in claim 8 , wherein the memory further stores instructions which, when executed by the processing circuitry, cause the processing circuitry to: receive an I/O operation in connection with the data storage appliance; detect that the I/O operation will cause an increase or decrease in the third count; and issue instructions to proceed with the said determination. 14. The apparatus as claimed in claim 8 , wherein the storage entity comprises one of a volume family or a volume and the data segment relates to a data block. 15. A computer program product having a non-transitory computer readable medium which stores a set of instructions, the set of instructions, when carried out by processing circuitry, causing the processing circuitry to perform a method of: providing a data segment in a data storage appliance that facilitates multiple references of the data segment by one or more storage entities; maintaining a plurality of counts in connection with the data se

Assignees

Inventors

Classifications

  • Single storage device · CPC title

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

  • in relation to availability · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], 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 US10846005B2 cover?
Techniques are disclosed for determining ownership of a data segment. The techniques include providing a data segment in a data storage appliance that facilitates multiple references of the data segment by one or more storage entities. The techniques also include maintaining a plurality of counts in connection with the data segment, the plurality of counts comprising (i) a first count represent…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0637. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 24 2020 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).