Efficient data marker representation

US9946485B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9946485-B1
Application numberUS-201615386042-A
CountryUS
Kind codeB1
Filing dateDec 21, 2016
Priority dateDec 21, 2016
Publication dateApr 17, 2018
Grant dateApr 17, 2018

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 changed block bitmap of a volume of storage is represented by a data marker that includes an offset to a first dirty block and an offset to a last dirty block. The blocks between the first and last dirty blocks are represented by contiguous clean block identifiers, contiguous dirty block identifiers, and contiguous mixed clean and dirty block identifiers. The contiguous clean block identifiers and contiguous dirty block identifiers use one or two bits to indicate identifier type. The remaining bits indicate a numerical count of contiguous clean or dirty blocks. The contiguous mixed clean and dirty block identifiers may use one bit per block to indicate change status. The data marker may be smaller than a corresponding changed block bitmap.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a plurality of interconnected computing nodes, each of the computing nodes comprising at least one processor and non-transitory memory; a plurality of groups of data storage drives, each group of data storage drives connected with one of the computing nodes; first program code, stored on non-transitory memory, that maintains a logical storage volume comprising contiguous logical block addresses that map to non-contiguous addresses of the data storage drives; and second program code, stored on non-transitory memory, that generates a data marker that represents changes to the logical storage volume, the data marker comprising a first field that indicates an offset to a first dirty block and a second field that indicates an offset to a last dirty block. 2. The apparatus of claim 1 wherein the second program code generates the data marker with at least one bitmap field that represents contiguous clean blocks. 3. The apparatus of claim 2 wherein the bitmap field is two bytes in length and a most significant bit of the two bytes indicates that the bitmap field represents contiguous clean blocks. 4. The apparatus of claim 3 wherein fifteen bits following the most significant bit indicate a numerical count of contiguous clean blocks. 5. The apparatus of claim 1 wherein the second program code generates the data marker with at least one bitmap field that represents contiguous dirty blocks. 6. The apparatus of claim 5 wherein the bitmap field is two bytes in length and two most significant bits of the two bytes indicates that the bitmap field represents contiguous dirty blocks. 7. The apparatus of claim 6 wherein fourteen bits following the two most significant bits indicate a numerical count of contiguous dirty blocks. 8. The apparatus of claim 1 wherein the second program code generates the data marker with at least one bitmap field that represents contiguous mixed clean and dirty blocks. 9. The apparatus of claim 8 wherein the bitmap field is two bytes in length and two most significant bits of the two bytes indicates that the bitmap field represents contiguous mixed clean and dirty blocks. 10. The apparatus of claim 9 wherein fourteen bits following the two most significant bits each indicate change status of an individual block. 11. A method comprising: in a storage array comprising a plurality of interconnected computing nodes, each of the computing nodes comprising at least one processor and non-transitory memory, and a plurality of groups of data storage drives, each group of data storage drives connected with one of the computing nodes: maintaining a logical storage volume comprising contiguous logical block addresses that map to non-contiguous addresses of the data storage drives; and generating a data marker that represents changes to the logical storage volume, comprising: generating a first field that indicates an offset to a first dirty block; and generating a second field that indicates an offset to a last dirty block. 12. The method of claim 11 wherein generating the data marker comprises generating at least one bitmap field that represents contiguous clean blocks. 13. The method of claim 12 comprising generating the bitmap field with a length of two bytes and a most significant bit of the two bytes indicating that the bitmap field represents contiguous clean blocks. 14. The method of claim 13 comprising using fifteen bits following the most significant bit to indicate a numerical count of contiguous clean blocks. 15. The method of claim 11 wherein generating the data marker comprises generating at least one bitmap field that represents contiguous dirty blocks. 16. The method of claim 15 comprising generating the bitmap field with a length of two bytes and two most significant bits of the two bytes indicating that the bitmap field represents contiguous dirty blocks. 17. The method of claim 16 comprising using fourteen bits following the two most significant bits to indicate a numerical count of contiguous dirty blocks. 18. The method of claim 11 wherein generating the data marker comprises generating at least one bitmap field that represents contiguous mixed clean and dirty blocks. 19. The method of claim 18 comprising generating the bitmap field with a length of two bytes and two most significant bits of the two bytes indicating that the bitmap field represents contiguous mixed clean and dirty blocks. 20. A method comprising: in a network comprising a data protection appliance and a storage array, the storage array comprising a plurality of interconnected computing nodes, each of the computing nodes comprising at least one processor and non-transitory memory, and a plurality of groups of data storage drives, each group of data storage drives connected with one of the computing nodes: maintaining a logical storage volume comprising contiguous logical block addresses that map to non-contiguous addresses of the data storage drives; and generating a data marker that represents changes to the logical storage volume, comprising: generating a first field that indicates an offset to a first dirty block; generating a second field that indicates an offset to a last dirty block; generating at least one bitmap field that represents contiguous clean blocks; and generating at least one bitmap field that represents contiguous dirty blocks; and sending the data marker from the storage array to the data protection appliance.

Assignees

Inventors

Classifications

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

  • with a single idle spare processing component · CPC title

  • Replication mechanisms · CPC title

  • where the redundant components share neither address space nor persistent storage · CPC title

  • maintaining the standby controller/processing unit updated (initialisation or re-synchronisation thereof G06F11/1658 and subgroups) · 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 US9946485B1 cover?
A changed block bitmap of a volume of storage is represented by a data marker that includes an offset to a first dirty block and an offset to a last dirty block. The blocks between the first and last dirty blocks are represented by contiguous clean block identifiers, contiguous dirty block identifiers, and contiguous mixed clean and dirty block identifiers. The contiguous clean block identifier…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/064. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 17 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).