Method and apparatus for determining redundant array of independent disks

US9389790B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9389790-B2
Application numberUS-201414582509-A
CountryUS
Kind codeB2
Filing dateDec 24, 2014
Priority dateDec 25, 2013
Publication dateJul 12, 2016
Grant dateJul 12, 2016

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.

According to the method for determining a redundant array of independent disks provided in the present invention, for an actual physical disk including n disk groups in which each disk group includes m disks, the n disk groups include m2*(m*n) logical blocks, and a logical block matrix corresponding to m distributed RAIDs can be generated. Therefore, a correspondence between the actual physical disk and the distributed RAIDs can be obtained. In a scenario of data storage or the like, a mapping relationship table of the physical disk and the RAIDs does not need to be stored.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for determining a redundant array of independent disks, comprising: determining, that a number m of disks comprised in each disk group in n disk groups is a number of redundant arrays of independent disks (RAIDs) that are constructed by the n disk groups, wherein each RAID corresponds to one matrix identifier, each disk comprises m2 logical blocks, and the n disk groups comprise m2*(m*n) logical blocks, wherein both m and n are positive integers; generating a third matrix with m2 rows and m*n columns according to a first matrix with 1 row and m columns or a second matrix with m rows and 1 column, wherein all matrix elements comprised in the first matrix and the second matrix are matrix identifiers of all RAIDs that are constructed by the n disk groups, a number of matrix identifiers, of each RAID, in matrix elements comprised in the third matrix is the same, and each matrix element in the third matrix corresponds to a logical block at a same location in the m2*(m*n) logical blocks in a one-to-one manner; and determining that logical blocks corresponding to matrix elements of a same matrix identifier in the third matrix are one RAID, so that the m2*(m*n) logical blocks form m RAIDs. 2. The method according to claim 1 , wherein generating the third matrix with m2rows and m*n columns according to the first matrix with 1 row and m columns further comprises: generating n first matrices; circularly translating a row of matrix elements comprised in each first matrix towards the left or towards the right for each first matrix, to generate a fourth matrix with m rows and m columns, and forming a fifth matrix with m rows and m*n columns using n fourth matrices; and generating m fifth matrices, and forming the third matrix with m2 rows and m*n columns using the m fifth matrices. 3. The method according to claim 2 , wherein columns in which a same matrix element in the n first matrices is located are the same, or columns in which a same matrix element in the n first matrices is located are different. 4. The method according to claim 2 , wherein for each first matrix, a number of columns by which a row of matrix elements in each first matrix is circularly translated towards the left or towards the right is the same or different. 5. The method according to claim 1 , wherein generating the third matrix with m2 rows and m*n columns according to the second matrix with m rows and 1 column further comprises: generating n second matrices; circularly translating a column of matrix elements comprised in each second matrix upward or downward for each second matrix to generate a fourth matrix with m rows and m columns, and forming a fifth matrix with m rows and m*n columns by using n fourth matrices; and generating m fifth matrices, and forming the third matrix with m2 rows and m*n columns using the m fifth matrices. 6. The method according to claim 5 , wherein rows in which a same matrix element in the n second matrices is located are the same, or rows in which a same matrix element in the n second matrices is located are different. 7. The method according to claim 5 , wherein for each second matrix, a number of rows by which a column of matrix elements in each second matrix is circularly translated upward or downward is the same or different. 8. The method according to claim 1 , wherein generating the third matrix with m2 rows and m*n columns according to the first matrix with 1 row and m columns further comprises: circularly translating a row of matrix elements comprised in the first matrix towards the left or towards the right to generate a sixth matrix with m rows and m columns; translating each row in the sixth matrix upward or downward to generate m*n seventh matrices; and generating the third matrix with m2 rows and m*n columns using the m*n seventh matrices. 9. The method according to claim 8 , wherein each seventh matrix is obtained by translating each row in the sixth matrix upward or downward by the same number of rows or the different number of rows. 10. The method according to claim 1 , wherein generating the third matrix with m2 rows and m*n columns according to the second matrix with m rows and 1 column further comprises: circularly translating a column of matrix elements comprised in the second matrix upward or downward to generate a sixth matrix with m rows and m columns; translating each column in the sixth matrix towards the left or towards the right to generate m*n seventh matrices; and generating the third matrix with m2 rows and m*n columns using the m*n seventh matrices. 11. The method according to claim 10 , wherein each seventh matrix is obtained by translating each column in the sixth matrix towards the left or towards the right by the same number of columns or the different number of columns. 12. The method according to claim 1 , wherein generating the third matrix with m2 rows and m*n columns according to a first matrix with 1 row and m columns specifically comprises: circularly translating a row of matrix elements comprised in the first matrix towards the left or towards the right to generate an eighth matrix with m rows and m columns; translating each column in the eighth matrix towards the left or towards the right to generate m*n ninth matrices; and generating the third matrix with m2 rows and m*n columns using the m*n ninth matrices. 13. The method according to claim 12 , wherein each ninth matrix is obtained by translating each column in the eighth matrix towards the left or towards the right by the same number of columns or the different number of columns. 14. The method according to claim 1 , wherein generating the third matrix with m2 rows and m*n columns according to the second matrix with m rows and 1 column further comprises: circularly translating a column of matrix elements comprised in the second matrix upward or downward to generate an eighth matrix with m rows and m columns; translating each row in the eighth matrix upward or downward to generate m*n ninth matrices; and generating the third matrix with m2 rows and m*n columns using the m*n ninth matrices. 15. The method according to claim 14 , wherein each ninth matrix is obtained by translating each row in the eighth matrix upward or downward by the same number of rows or the different number of rows. 16. The method according to claim 1 , after generating the third matrix with m2 rows and m*n columns according to the first matrix with 1 row and m columns and the second matrix with m rows and 1 column, further comprising: determining that one logical block in one RAID or one logical block in each RAID is hot spare space, wherein the hot spare space is used to store and recover data. 17. An apparatus for determining a redundant array of independent disks, comprising: a determining module, configured to determine that a number m of disks comprised in each disk group in n disk groups is a number of redundant arrays of independent disks (RAIDs) that are constructed by the n disk groups, wherein each RAID corresponds to one matrix identifier, each disk comprises m2 logical blocks, and the n disk groups comprise m2*(m*n) logical blocks, wherein both m and n are positive integers; a generating module, configured to generate a third matrix with m2 rows and m*n columns according to a first matrix with 1 row and m columns or a second matrix with m rows and 1 column, wherein all matrix elements comprised in the first matrix and the second matrix are matrix identifiers of all RAIDs that are constructed by the n disk groups, a number of matrix identifiers, of ea

Assignees

Inventors

Classifications

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)} · CPC title

  • Management of blocks · CPC title

  • at area level, e.g. provisioning of virtual or logical volumes · 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 US9389790B2 cover?
According to the method for determining a redundant array of independent disks provided in the present invention, for an actual physical disk including n disk groups in which each disk group includes m disks, the n disk groups include m2*(m*n) logical blocks, and a logical block matrix corresponding to m distributed RAIDs can be generated. Therefore, a correspondence between the actual physical…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 12 2016 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).