Method, device, and computer program product for managing storage system

US11435926B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11435926-B2
Application numberUS-202017005215-A
CountryUS
Kind codeB2
Filing dateAug 27, 2020
Priority dateJun 29, 2020
Publication dateSep 6, 2022
Grant dateSep 6, 2022

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.

To manage a storage system, data objects are divided to groups according to keyword ranges of the data objects in the storage system. Array sets associated with the groups are respectively generated. An array in the array set includes elements. The elements are set according to a keyword of at least one data object in the group and at least one hash function. At least a part of the arrays in the array sets respectively associated with the groups is loaded into a memory of the storage system. The storage system is managed based on at least the part of the arrays in the memory. Further, a corresponding device and a corresponding computer program product are provided. With the above example implementation, only a part of the arrays is loaded into the memory of the storage system, so that the overhead of memory resources can be reduced.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method, comprising: acquiring, by a system comprising a processor, indexes corresponding to a plurality of data objects in a storage system; dividing, by the system the plurality of data objects to a plurality of groups according to keyword ranges of the plurality of data objects in the storage system, and based on a hierarchical structure of the indexes; generating, by the system, array sets associated with groups in the plurality of groups respectively, the array sets comprising arrays, an array in the array sets comprising a plurality of elements, the plurality of elements being set according to a keyword of at least one data object in the groups and at least one hash function; loading, by the system, at least a part of the arrays in the array sets respectively associated with the plurality of groups into a memory of the storage system; and managing, by the system, the storage system based on at least the part of the arrays in the memory. 2. The method according to claim 1 , wherein loading at least the part of the arrays in the array sets respectively associated with the plurality of groups into the memory of the storage system comprises: for a given group in the plurality of groups, determining, by the system, an access popularity of the at least one data object in the given group; and loading, by the system, at least a part of the arrays in the array sets associated with the given group into the memory based on the access popularity. 3. The method according to claim 2 , further comprising: determining, by the system, numbers of loaded arrays of the plurality of groups respectively based on numbers of the arrays loaded into the memory and associated with the plurality of groups; and mapping, by the system, the plurality of groups to a plurality of queues based on respective numbers of loaded arrays of the plurality of groups, a number of loaded arrays of each group in a given queue in the plurality of queues being the same. 4. The method according to claim 3 , further comprising: sorting, by the system and according to a time sequence in which data objects in at least one group in the given queue are accessed, the at least one group in the given queue. 5. The method according to claim 3 , further comprising at least any one of: removing, by the system, the arrays associated with the given group from the memory upon determining that a time period during which data objects in the given group are not accessed exceeds a threshold expiration time; and loading, by the system, unloaded arrays associated with the given group into the memory upon determining that the access popularity of the at least one data object in the given group is higher than a threshold popularity. 6. The method according to claim 5 , further comprising: moving, by the system, the given group to another queue corresponding to changed number upon determining that a number of loaded queues of the given group is changed to the changed number. 7. The method according to claim 1 , wherein managing the storage system based on at least the part of the arrays in the memory comprises: determining, by the system and upon determining that a search request to search for a target data object from the storage system is received, a target group corresponding to the target data object in the plurality of groups based on a keyword range of the target data object; determining, by the system, a plurality of target elements corresponding to the target data object based on the at least one hash function; determining, by the system and in response to determining that the plurality of target elements match at least a part of arrays in the target group loaded into the memory, that the storage system comprises the target data object; and determining, by the system and in response determining that the plurality of target elements do not match at least the part of the arrays in the target group loaded into the memory, that the storage system does not comprise the target data object. 8. The method according to claim 1 , wherein managing the storage system based on at least the part of the arrays in the memory comprises: determining, by the system and upon determining that a storage request to store a target data object into the storage system is received, a target group corresponding to the target data object in the plurality of groups based on a keyword range of the target data object; determining, by the system, a plurality of target elements corresponding to the target data object based on the at least one hash function; and updating, by the system, an array set of the target group based on the plurality of target elements. 9. The method according to claim 1 , wherein the array is represented by a bloom filter, and the method further comprises: determining, by the system, an original length of an original bloom filter associated with the storage system; and determining, by the system, a length and a number of the array sets based on the original length and a number of groups of the plurality of groups. 10. An electronic device, comprising: at least one processor; a volatile memory; and a memory coupled to the at least one processor and having instructions stored therein, wherein the instructions, when executed by the at least one processor, cause the electronic device to perform operations, comprising: acquiring indexes corresponding to a plurality of data objects in a storage system; dividing the plurality of data objects to a plurality of groups according to keyword ranges of the plurality of data objects in the storage system, and based on a hierarchical structure of the indexes; generating array sets associated with groups in the plurality of groups respectively, the array sets comprising arrays, an array in the array sets comprising a plurality of elements, and the plurality of elements being set according to a keyword of at least one data object in the groups and at least one hash function; loading at least a part of the arrays in the array sets respectively associated with the plurality of groups into a memory of the storage system; and managing the storage system based on at least the part of the arrays in the memory of the storage system. 11. The electronic device according to claim 10 , wherein loading at least the part of the arrays in the array sets respectively associated with the plurality of groups into the memory of the storage system comprises: for a given group in the plurality of groups, determining an access popularity of the at least one data object in the given group; and loading at least the part of the arrays in the array sets associated with the given group into the memory based on the access popularity. 12. The electronic device according to claim 11 , wherein the operations further comprise: determining numbers of loaded arrays of the plurality of groups respectively based on numbers of the arrays loaded into the memory and associated with the plurality of groups; and mapping the plurality of groups to a plurality of queues based on respective numbers of loaded arrays of the plurality of groups, a number of loaded arrays of each group in a given queue in the plurality of queues being the same. 13. The electronic device according to claim 12 , wherein the operations further comprise: sorting, according to a time sequence in which data objects in at least one group in the given queue are accessed, the at least one group in the given queue. 14. The electronic device according to claim 12 , wherein the operations further comprise at least any one of: removing the arrays associated with

Assignees

Inventors

Classifications

  • G06F3/0608Primary

    Saving storage space on storage systems · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Indexing; Data structures therefor; Storage structures (for retrieval from the web G06F16/951) · CPC title

  • G06F3/0644Primary

    Management of space entities, e.g. partitions, extents, pools · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · 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 US11435926B2 cover?
To manage a storage system, data objects are divided to groups according to keyword ranges of the data objects in the storage system. Array sets associated with the groups are respectively generated. An array in the array set includes elements. The elements are set according to a keyword of at least one data object in the group and at least one hash function. At least a part of the arrays in th…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0608. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 06 2022 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).