Utilizing Metadata To Represent Data

US2023161748A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2023161748-A1
Application numberUS-202318158256-A
CountryUS
Kind codeA1
Filing dateJan 23, 2023
Priority dateDec 12, 2014
Publication dateMay 25, 2023
Grant date

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 system and method for efficiently storing data in a storage system. A data storage subsystem includes multiple data storage locations on multiple storage devices in addition to at least one mapping table. A data storage controller determines whether data to store in the storage subsystem has one or more patterns of data intermingled with non-pattern data within an allocated block. Rather than store the one or more pattern on the storage devices, the controller stores information in a header on the storage devices. The information includes at least an offset for the first instance of a pattern, a pattern length, and an identification of the pattern. The data may be reconstructed for a corresponding read request from the information stored in the header.

First claim

Opening claim text (preview).

What is claimed is 1 . A computer system comprising: a data storage medium; and a data storage controller coupled to the data storage medium; wherein in response to detecting that write data of a received write request has at least one repeating pattern intermingled with non-pattern data, the data storage controller is configured to store metadata in the data storage medium corresponding to the write request that identifies the at least one repeating pattern, without storing all the write data in the data storage medium. 2 . The computer system as recited in claim 1 , wherein the at least one repeating pattern comprises a number of contiguous instances of a bit pattern, and wherein the data storage controller is further configured to store fewer than the number of contiguous instances of the bit pattern in the data storage medium. 3 . The computer system as recited in claim 2 , wherein a size of a single instance of the bit pattern does not exceed a programmable size threshold. 4 . The computer system as recited in claim 1 , wherein the data storage controller is further configured to: determine respective offsets for the at least one repeating pattern; and store the respective offsets for the at least one repeating pattern in the metadata. 5 . The computer system as recited in claim 4 , wherein the data storage controller is further configured to: determine respective offsets for the non-pattern data; and store the respective offsets for the non-pattern data in the metadata. 6 . The computer system as recited in claim 1 , wherein the data storage controller is further configured to: determine a stride of offsets for one or more of the at least one repeating pattern and the non-pattern data; and store the stride of offsets in the metadata. 7 . The computer system as recited in claim 1 , wherein in response to receiving a read request, the data storage controller is further configured to read the metadata to construct data requested by the read request. 8 . The computer system as recited in claim 1 , wherein the data storage controller is further configured to store the non-pattern data in the data storage medium in contiguous data spaces with no storage for the at least one repeating pattern data in the received write request. 9 . A method for use in a storage system, the method comprising: receiving a write request; in response to detecting write data of the write request has at least one repeating pattern intermingled with non-pattern data: storing metadata in the data storage medium corresponding to the write request that identifies the at least one repeating pattern, without storing all the write data in the data storage medium. 10 . The method as recited in claim 9 , wherein the at least one repeating pattern comprises a number of contiguous instances of a bit pattern, and wherein the method further comprises storing fewer than the number of contiguous instances of the bit pattern in the data storage medium. 11 . The method as recited in claim 10 , wherein a size of a single instance of the bit pattern does not exceed a size threshold. 12 . The method as recited in claim 9 , wherein the method further comprises: determining respective offsets for the at least one repeating pattern; and storing the respective offsets for the at least one repeating pattern in the metadata. 13 . The method as recited in claim 12 , wherein the method further comprises: determining respective offsets for the non-pattern data; and storing the respective offsets for the non-pattern data in the metadata. 14 . The method as recited in claim 9 , wherein the method further comprises: determining a stride of offsets for one or more of the at least one repeating pattern and the non-pattern data; and storing the stride of offsets in the metadata. 15 . The method as recited in claim 9 , wherein in response to receiving a read request, the method further comprises reading the metadata to construct the data corresponding to the read request. 16 . The method as recited in claim 9 , wherein the method further comprises storing the non-pattern data in the data storage medium in contiguous data spaces with no storage for the at least one repeating pattern data in the received write request. 17 . A non-transitory computer readable storage medium storing program instruction executable by a processor to: in response to detecting write data of a received write request has at least one repeating pattern intermingled with non-pattern data: store metadata in the data storage medium corresponding to the write request that identifies the at least one repeating pattern, without storing all the write data in the data storage medium. 18 . The non-transitory computer readable storage medium as recited in claim 17 , wherein the at least one repeating pattern comprises a number of contiguous instances of a bit pattern, and wherein the program instructions are further executable by a processor to store fewer than the number of contiguous instances of the bit pattern in the metadata. 19 . The non-transitory computer readable storage medium as recited in claim 18 , wherein a size of a single instance of the bit pattern does not exceed a size threshold. 20 . The non-transitory computer readable storage medium as recited in claim 17 , wherein in response to receiving a read request, the program instructions are further executable by a processor to read the metadata to construct the data corresponding to the read request.

Assignees

Inventors

Classifications

  • De-duplication techniques · CPC title

  • Vectors, bitmaps or matrices · CPC title

  • G06F3/0608Primary

    Saving storage space on storage systems · 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 US2023161748A1 cover?
A system and method for efficiently storing data in a storage system. A data storage subsystem includes multiple data storage locations on multiple storage devices in addition to at least one mapping table. A data storage controller determines whether data to store in the storage subsystem has one or more patterns of data intermingled with non-pattern data within an allocated block. Rather than…
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/2237. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 25 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).