Efficient name coding

US10528488B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10528488-B1
Application numberUS-201715499085-A
CountryUS
Kind codeB1
Filing dateApr 27, 2017
Priority dateMar 30, 2017
Publication dateJan 7, 2020
Grant dateJan 7, 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.

A method for efficient name coding in a storage system is provided. The method includes identifying common prefixes, common suffixes, and midsections of a plurality of strings in the storage system, and writing the common prefixes, midsections and common suffixes to a string table in the storage system. The method includes encoding each string of the plurality of strings as to position in the string table of prefix, midsection and suffix of the string, and writing the encoding of each string to memory in the storage system for the plurality of strings, in the storage system.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for efficient name coding in a storage system, comprising: identifying common prefixes, common suffixes, and midsections of a plurality of strings in the storage system; writing the common prefixes, midsections and common suffixes to a string table in the storage system; encoding each string of the plurality of strings as to position in the string table of prefix, midsection and suffix of the string; and writing the encoding of each string to memory in the storage system for the plurality of strings, in the storage system. 2. The method of claim 1 , wherein the plurality of strings comprises object names for objects stored in the storage system. 3. The method of claim 1 , wherein the encoding comprises offset encoding to record offset from a base position in the string table for each of the prefix of the string relative to prefixes, the midsection of the string relative to the midsections, and the suffix of the string relative to suffixes. 4. The method of claim 1 , wherein the encoding comprises: determining a first start position of a prefix in the string table matching the prefix of the string; determining a second start position of a midsection in the string table matching the midsection of the string; determining a third start position of a suffix in the string table matching the suffix of the string; and encoding a first offset of the first start position relative to a base position of prefixes in the string table, a second offset of the second start position relative to a base position of the midsections in the string table, and a third offset of the third start position relative to a base position of suffixes in the string table. 5. The method of claim 1 , wherein the plurality of strings comprises a stream of strings in a schema relating to storage of user data in the storage system. 6. The method of claim 1 , further comprising: identifying common midsections of the plurality of strings; and writing the common midsections to the string table, wherein each common prefix, each common midsection, and each common suffix is recorded only once in the string table. 7. The method of claim 1 , wherein the identifying, the writing to the string table, the encoding, and the writing to the memory are performed by each of one or more authorities per storage node of a storage cluster, with each authority owning a range of user data and at least one storage node having two or more authorities. 8. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising: determining common prefixes, common suffixes, and midsections of a plurality of strings of a storage system; writing the common prefixes, the midsections and the common suffixes to a string table in the storage system; determining, for each string of the plurality of strings, position in the string table of prefix, midsection and suffix of the string; and writing a concatenation of the position in the string table of the prefix of the string, the position in the string table of the midsection of the string, and the position in the string table of the suffix of the string as an encoding of the string in memory of the storage system, for the plurality of strings. 9. The computer-readable media of claim 8 , wherein the writing the common prefixes and the common suffixes to the string table comprises: recording each common prefix only once in the string table; and recording each common suffix only once in the string table. 10. The computer-readable media of claim 8 , wherein the encoding comprises: first zero offset encoding with a first minimum number of bits to record offset from a first base position in the string table for the prefix of the string relative to prefixes in the string table; second zero offset encoding with a second minimum number of bits to record offset from a second base position in the string table for the midsection of the string relative to the midsections in the string table; and third zero offset encoding with a third minimum number of bits to record offset from a third base position in the string table for the suffix of the string relative to suffixes in the string table. 11. The computer-readable media of claim 8 , wherein the encoding comprises: determining a first start position of a prefix in the string table matching the prefix of the string; determining a second start position of a midsection in the string table matching the midsection of the string; determining a third start position of a suffix in the string table matching the suffix of the string; encoding a first offset of the first start position relative to a base position of prefixes in the string table; encoding a second offset of the second start position relative to a base position of the midsections in the string table; and encoding a third offset of the third start position relative to a base position of suffixes in the string table. 12. The computer-readable media of claim 8 , wherein the plurality of strings comprises a stream of strings in a schema relating to storage of user data in the storage system or object names for objects stored in the storage system. 13. The computer-readable media of claim 8 , wherein the determining, the writing to the string table, the encoding, and the writing to the memory are performed by an authority in one of a plurality of storage nodes of a storage cluster, wherein each of the plurality of storage nodes has one or more such authorities with each authority owning a range of user data and at least one storage node has two or more authorities. 14. A storage cluster with efficient name coding, comprising: a plurality of blades supporting a plurality of storage nodes, each blade having one or more processors and storage memory; and at least one of the processors configurable to perform a method comprising: identifying common prefixes, common suffixes, and midsections of a plurality of strings of the storage cluster; writing the common prefixes, the midsections and the common suffixes to a string table in the storage cluster; encoding position of each of prefix, midsection and suffix of each of the plurality of strings relative to prefixes, midsections and suffixes in the string table; and writing the encoded position of the prefix, the midsection and the suffix of each of the plurality of strings to memory in the storage cluster. 15. The storage cluster of claim 14 , wherein: the at least one of the processors is configurable to identify common midsections of the plurality of strings; and record the common midsections to the string table, wherein each common prefix, each common midsection, and each common suffix is recorded only once in the string table. 16. The storage cluster of claim 14 , wherein the encoding comprises zero offset encoding with a minimum number of bits to record offset from a base position in the string table for each of the prefix of the string relative to the prefixes, the midsection of the string relative to the midsections, and the suffix of the string relative to the suffixes. 17. The storage cluster of claim 14 , wherein the encoding comprises: determining a first start position of a common prefix in the string table that matches the prefix of the string, a second start position of a midsection in the string table that matches the midsection of the string, and a third start position of a common suffix in the string table that matches the suffix of the string; and encoding a first offset of the

Assignees

Inventors

Classifications

  • G06F3/0688Primary

    Non-volatile semiconductor memory arrays · CPC title

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

  • at area level, e.g. provisioning of virtual or logical volumes · CPC title

  • Migration mechanisms · CPC title

  • in relation to content · 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 US10528488B1 cover?
A method for efficient name coding in a storage system is provided. The method includes identifying common prefixes, common suffixes, and midsections of a plurality of strings in the storage system, and writing the common prefixes, midsections and common suffixes to a string table in the storage system. The method includes encoding each string of the plurality of strings as to position in the s…
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0688. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 07 2020 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).