Virtual container storage interface controller
US-12175078-B2 · Dec 24, 2024 · US
US9389790B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9389790-B2 |
| Application number | US-201414582509-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 24, 2014 |
| Priority date | Dec 25, 2013 |
| Publication date | Jul 12, 2016 |
| Grant date | Jul 12, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.