Vector-based storage management

US10922001B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10922001-B2
Application numberUS-201916456848-A
CountryUS
Kind codeB2
Filing dateJun 28, 2019
Priority dateJan 23, 2019
Publication dateFeb 16, 2021
Grant dateFeb 16, 2021

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.

The present disclosure relates to a method, apparatus and computer program product for managing a storage system. According to implementations of the present disclosure, there is provided a method for managing a storage system. In the method, an object vector is created based on multiple objects stored in the storage system, here an object element in the object vector is associated with at least one object among the multiple objects. Multiple chunks included in the storage system are divided into multiple groups. For a group among the multiple groups, a chunk vector is created based on each chunk in the group, here a chunk element in the chunk vector is associated with a chunk in the group. A mapping matrix is created for managing the storage system based on the object vector and the chunk vector. Moreover, there is provided an apparatus and computer program product for managing a storage system. By means of the technical solution of the present disclosure, the number of storage units involved in processing and input/output time overheads may be reduced.

First claim

Opening claim text (preview).

We claim: 1. A method, comprising: creating, by a storage system comprising at least one processor, an object vector based on multiple objects stored in the storage system, the object vector comprising a one-dimensional data structure that contains a group of object elements, an object element of the group of object elements being associated with at least one object among the multiple objects; organizing multiple chunks included in the storage system into multiple groups; for a group among the multiple groups, creating a chunk vector based on each chunk in the group, the chunk vector comprising a one-dimensional data structure that contains a group of chunk elements, a chunk element of the group of chunk elements being associated with a chunk in the group; and creating a mapping matrix for managing the storage system based on the object vector and the chunk vector, the mapping matrix indicating where objects identified by the object vector are stored in chunks identified by the chunk vector. 2. The method of claim 1 , wherein the creating the mapping matrix for managing the storage system based on the object vector and the chunk vector comprises: obtaining an address mapping of the storage system, the address mapping describing address mapping relations between the multiple objects and the multiple chunks; and creating the mapping matrix based on the object vector, the chunk vector and the address mapping, a matrix element in the mapping matrix representing an address mapping relation between at least one object associated with the matrix element and a chunk associated with the matrix element. 3. The method of claim 2 , wherein the creating the mapping matrix based on the object vector, the chunk vector and the address mapping comprises: for a matrix element in the mapping matrix, determining an address of at least one object associated with the matrix element in the storage system based on the address mapping; and determining a value of the matrix element based on the address. 4. The method of claim 3 , wherein the determining the value of the matrix element based on the address comprises at least one of: in response to determining the address points to a chunk corresponding to the matrix element, setting the value to indicate that an address mapping relation exists between at least one object associated with the matrix element and a chunk associated with the matrix element; and in response to determining the address does not point to a chunk corresponding to the matrix element, setting the value to indicate that no address mapping relation exists between the at least one object associated with the matrix element and the chunk associated with the matrix element. 5. The method of claim 3 , wherein the creating the mapping matrix further comprises: for a first object element in the object vector, determining a first group of matrix elements in the mapping matrix that are associated with a first chunk in the chunk vector; and for a second object element in the object vector, determining a second group of matrix elements in the mapping matrix that are associated with a second chunk in the chunk vector in parallel to the determining the first group of matrix elements. 6. The method of claim 2 , further comprising managing the storage system, comprising: notifying the storage system to reclaim a given chunk in response to determining a group of elements in the mapping matrix, which are associated with the given chunk, indicate that no address mapping relation exists between the given chunk and all of objects associated with the group of elements. 7. The method of claim 6 , wherein the managing the storage system comprises: obtaining an updated address mapping of the storage system which has been updated from the address mapping; and updating matrix elements in the mapping matrix based on the updated address mapping. 8. The method of claim 1 , wherein the organizing the multiple chunks included in the storage system into the multiple groups comprises: determining the number of the multiple groups based on at least one of: the number of the multiple chunks, a processing performance of a processor of the at least one processor in the storage system, or a storage space of the processor. 9. The method of claim 1 , wherein the creating the object vector based on the multiple objects stored in the storage system comprises: dividing the multiple objects into multiple partitions; and determining multiple object elements in the object vector based on the multiple partitions. 10. The method of claim 9 , wherein the dividing the multiple objects into the multiple partitions comprises: determining the number of the multiple partitions based on at least one of the number of the multiple objects, a processing performance of a processor of the at least one processor in the storage system, or a storage space of the processor. 11. An apparatus for managing a storage system, comprising: at least one processor; a volatile memory; and a memory coupled to the at least one processor and having instructions stored thereon, the instructions, when executed by the at least one processor, cause the apparatus to perform acts comprising: creating an object vector based on multiple objects stored in the storage system, the object vector comprising a one-dimensional data structure that contains a group of object elements, an object element in the object vector being associated with at least one object among the multiple objects; organizing multiple chunks included in the storage system into multiple groups; for a group among the multiple groups, creating a chunk vector based on each chunk in the group, the chunk vector comprising a one-dimensional data structure that contains a group of chunk elements, a chunk element in the chunk vector being associated with a chunk in the group; and creating a mapping matrix for managing the storage system based on the object vector and the chunk vector, the mapping matrix indicating where objects identified by the object vector are stored in chunks identified by the chunk vector. 12. The apparatus of claim 11 , wherein the creating the mapping matrix for managing the storage system based on the object vector and the chunk vector comprises: obtaining an address mapping of the storage system, the address mapping describing address mapping relations between the multiple objects and the multiple chunks; and creating the mapping matrix based on the object vector, the chunk vector and the address mapping, a matrix element in the mapping matrix representing an address mapping relation between at least one object associated with the matrix element and a chunk associated with the matrix element. 13. The apparatus of claim 12 , wherein the creating the mapping matrix based on the object vector, the chunk vector and the address mapping comprises: for a matrix element in the mapping matrix, determining an address of at least one object associated with the matrix element in the storage system based on the address mapping; and determining a value of the matrix element based on the address. 14. The apparatus of claim 13 , wherein the determining the value of the matrix element based on the address comprises at least one of: in response to determining the address points to a chunk corresponding to the matrix element, setting the value to indicate that an address mapping relation exists between at least one object associated with the matrix element and a chunk associated with the matrix element; and in response to determining the address does not point to a chunk corresponding to the matrix element, setting t

Assignees

Inventors

Classifications

  • Configuration or reconfiguration · CPC title

  • Saving storage space on storage systems · CPC title

  • G06F3/064Primary

    Management of blocks · CPC title

  • Garbage collection, i.e. reclamation of unreferenced memory · CPC title

  • in relation to response time · 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 US10922001B2 cover?
The present disclosure relates to a method, apparatus and computer program product for managing a storage system. According to implementations of the present disclosure, there is provided a method for managing a storage system. In the method, an object vector is created based on multiple objects stored in the storage system, here an object element in the object vector is associated with at leas…
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 Feb 16 2021 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).