Compressed block map of densely-populated data structures

US9582198B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9582198-B2
Application numberUS-201314032121-A
CountryUS
Kind codeB2
Filing dateSep 19, 2013
Priority dateAug 26, 2013
Publication dateFeb 28, 2017
Grant dateFeb 28, 2017

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.

Embodiments of the disclosure provide techniques for creating a compressed mapping structure in a system of resources. For example, a distributed resources system may use delta encoding to store, in memory, numerous entries of dense data structures in the system. In a compressed block of such entries, the distributed resources system encodes the key of each entry as the delta from the key of the previous entry. The content of each entry is encoded similarly. The distributed resources system suppresses the leading zero bits of each resulting field.

First claim

Opening claim text (preview).

I claim: 1. A method for storing key-value entries of a block map in a host computer system of a system of resources, the method comprising: given a current entry having a current key having one or more fields and a current payload and a previous entry having a previous key and a previous payload, encoding each of the one or more fields in the current key as a first delta from a corresponding field in the previous key and encoding the current payload as a second delta from the previous payload; removing leading zero bits in each resulting encoded field of the current key and leading zero bits in the encoded current payload; and inserting the encoded one or more fields of the current key and the encoded current payload into a datastore residing in memory of the host computer system, wherein the previous entry and the current entry are successive entries of the block map. 2. The method of claim 1 , wherein the one or more fields corresponds to an object identifier, an offset, and a length, and wherein the current payload corresponds to block addresses of a solid state drive. 3. The method of claim 1 , wherein the system of resources provides a software-defined virtual storage area network. 4. The method of claim 1 , wherein the datastore maintains a cache of recently referenced entries. 5. The method of claim 1 , wherein the current entry is addressed with an index block. 6. The method of claim 1 , wherein the datastore is a logical block addressing table. 7. A non-transitory computer-readable storage medium storing instructions, which, when executed on a processor, performs an operation for storing key-value entries of a block map in a host computer system of a system of resources, the operation comprising: given a current entry having a current key having one or more fields and a current payload and a previous entry having a previous key and a previous payload, encoding each of the one or more fields in the current key as a first delta from a corresponding field in the previous key and encoding the current payload as a second delta from the previous payload; removing leading zero bits in each resulting encoded field of the current key and leading zero bits in the encoded current payload; and inserting the encoded one or more fields of the current key and the encoded current payload into a datastore residing in memory of the host computer system, wherein the previous entry and the current entry are successive entries of the block map. 8. The computer-readable storage medium of claim 7 , wherein the one or more fields corresponds to an object identifier, an offset, and a length, and wherein the current payload corresponds to block addresses of a solid state drive. 9. The computer-readable storage medium of claim 7 , wherein the system of resources provides a software-defined virtual storage area network. 10. The computer-readable storage medium of claim 7 , wherein the datastore maintains a cache of recently referenced entries. 11. The computer-readable storage medium of claim 7 , wherein the current entry is addressed with an index block. 12. The computer-readable storage medium of claim 7 , wherein the datastore is a logical block addressing table. 13. A system, comprising: a processor and a memory hosting a module, which, when executed on the processor, performs an operation for storing key-value entries of a block map in a host computer system of a system of resources, the operation comprising: given a current entry having a current key having one or more fields and a current payload and a previous entry having a previous key and a previous payload, encoding each of the one or more fields in the current key as a first delta from a corresponding field in the previous key and encoding the current payload as a second delta from the previous payload; removing leading zero bits in each resulting encoded field of the current key and leading zero bits in the encoded current payload; and inserting the encoded one or more fields of the current key and the encoded current payload into a datastore residing in memory of the host computer system, wherein the previous entry and the current entry are successive entries of the block map. 14. The system of claim 13 , wherein the one or more fields corresponds to an object identifier, an offset, and a length, and wherein the current payload corresponds to block addresses of a solid state drive. 15. The system of claim 13 , wherein the system of resources provides a software-defined virtual storage area network. 16. The system of claim 13 , wherein the datastore maintains a cache of recently referenced entries. 17. The system of claim 13 , wherein the current entry is addressed with an index block.

Assignees

Inventors

Classifications

  • Management of blocks · CPC title

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

  • G06F3/0613Primary

    in relation to throughput · CPC title

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

  • Non-volatile semiconductor memory arrays · 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 US9582198B2 cover?
Embodiments of the disclosure provide techniques for creating a compressed mapping structure in a system of resources. For example, a distributed resources system may use delta encoding to store, in memory, numerous entries of dense data structures in the system. In a compressed block of such entries, the distributed resources system encodes the key of each entry as the delta from the key of th…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0613. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 28 2017 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).