IP Library Granted Patent US 11,209,990
Granted Patent B2
US 11,209,990 · App. 16/354,803 · Granted Dec 28, 2021

Apparatus and method of allocating data segments in storage regions of group of storage units

Inventor: Hung-Ming Chien (Hsinchu County, TW)
Assignee: SUPER MICRO COMPUTER, INC.
G06F3/0619G06F3/0611G06F3/0629G06F3/0689G06F11/1092
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,209,990
App. No.
16/354,803
Granted
Dec 28, 2021
Kind
B2
Abstract

An apparatus including a control unit, a memory having computer program code, and N groups of storage units electrically connected to the control unit is disclosed. Each of the N groups of storage units has N storage units, each of the N storage units has N storage regions, wherein N is a positive integer. The memory and the computer program code configured to, with the control unit, cause the apparatus to perform: storing a first data segment into an i th storage region of a first storage unit of a k th group of storage units; storing a fourth data segment into an i th storage region of a first storage it of a (k+1) th group of storage units; storing a fifth data segment into an i th storage region of a second storage unit of the (k+1) th group of storage units; and storing a sixth data segment into an i th storage region of a third storage unit of the (k+1) th group of storage units. Wherein the first data segment is associated with the fourth data segment, the first data segment is independent of the fifth data segment, and the first data segment is independent of the sixth data segment.

Claims (56)

1. An apparatus, comprising:

a control unit;

a memory coupled to the control unit and including computer program code;

N groups of storage units electrically connected to the control unit, each of the N groups of storage units having N storage units, each of the N storage units having N storage regions, wherein N is a positive integer;

wherein the memory and the computer program code configured to, with the control unit, cause the apparatus to perform:

rebuilding a first data segment stored in an i th storage region of a first storage unit of a k th group of storage units according to only one storage unit of a (k+1) th group of storage units and only one storage unit of a (k+2) th group of storage units;

rebuilding a second data segment stored in an (i+1) th storage region of the first storage unit of the k th group of storage units according to only one storage unit of the (k+1) th group of storage units and only one storage unit of the (k+2) th group of storage units;

wherein

i is a positive integer less than or equal to N, where k is a positive integer less than or equal to N,

the first data segment and the second data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and

the first data segment and the second data segment are rebuilt according to two different storage units of the (k+2) th group of storage units.

2. The apparatus of claim 1 , further comprising:

rebuilding a third data segment stored in an (i+2) th storage region of the first storage unit of the k th group of storage units according to only one storage unit of the (k+1) th group of storage units and only one storage unit of the (k+2) th group of storage units.

3. The apparatus of claim 2 , wherein the third data segment and the first data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and wherein the third data segment and the first data segment are rebuilt according to two different storage units of the (k+2) th group of storage units.

4. The apparatus of claim 2 , wherein the third data segment and the second data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and wherein the third data segment and the second data segment are rebuilt according to two different storage units of the (k+2) th group of storage units.

5. The apparatus of claim 1 , further comprising:

rebuilding a fourth data segment stored in an i th storage region of a second storage unit of the k th group of storage units according to only one storage unit of the (k+1) th group of storage units and only one storage unit of the (k+2) th group of storage units.

6. The apparatus of claim 5 , further comprising an additional storage unit electrically connected to the control unit, the additional storage unit having N storage regions, the apparatus further comprising:

storing a seventh data segment into an i th storage region of the additional storage unit, wherein the fourth data segment and the first data segment are rebuilt according to the seventh data segment.

7. The apparatus of claim 6 , wherein the seventh data segment includes error correction data associated with the first data segment and the fourth data segment.

8. The apparatus of claim 5 , wherein the fourth data segment and the first data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and wherein the fourth data segment and the first data segment are rebuilt according to two different storage units of the (k+2) th group of storage units.

9. The apparatus of claim 5 , further comprising:

rebuilding a fifth data segment stored in an (i+1) th storage region of the second storage unit of the k th group of storage units according to only one storage unit of the (k+1) th group of storage units and only one storage unit of the (k+2) th group of storage units.

10. The apparatus of claim 9 , wherein the fifth data segment and the second data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and wherein the fifth data segment and the second data segment are rebuilt according to two different storage units of the (k+2) th group of storage units.

11. The apparatus of claim 9 , wherein the fifth data segment and the fourth data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and wherein the fifth data segment and the fourth data segment are rebuilt according to two different storage units of the (k+2) th group of storage units.

12. The apparatus of claim 9 , further comprising:

rebuilding a sixth data segment stored in an i th storage region of a third storage unit of the k th group of storage units according to only one storage unit of the (k+1) th group of storage units and only one storage unit of the (k+2) th group of storage units.

13. The apparatus of claim 12 , wherein the sixth data segment and the first data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and wherein the sixth data segment and the first data segment are rebuilt according to two different storage units of the (k+2) th group of storage units.

14. The apparatus of claim 12 , wherein the sixth data segment and the fourth data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and wherein the sixth data segment and the fourth data segment are rebuilt according to two different storage units of the (k+2) th group of storage units.

15. An apparatus, comprising:

a control unit;

a memory coupled to the control unit and including computer program code;

S group of storage units electrically connected to the control unit, a 1 st group of storage units to a (S−1) th group of storage units each having N storage units, the S th group of storage units having M storage units, each storage units of the S group of storage units having N storage regions, wherein N, S and M are positive integers and S and M are less than N;

wherein the memory and the computer program code configured to, with the control unit, cause the apparatus to perform:

rebuilding a first data segment stored in an i th storage region of a first storage unit of a k th group of storage units according to only one storage unit of a (k+1) th group of storage units and only one storage unit of the S th group of storage units;

rebuilding a second data segment stored in an (i+2) th storage region of the first storage unit of the k th group of storage units according to only one storage unit of the (k+1) th group of storage units and only one storage unit of the S th group of storage units;

wherein

i is a positive integer less than or equal to N, where k is a positive integer less than or equal to N,

the first data segment and the second data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and

the first data segment and the second data segment are rebuilt according to two different storage units of the S th group of storage units.

16. The apparatus of claim 15 , further comprising:

rebuilding a third data segment stored in an i th storage region of a second storage unit of the k th group of storage units according to only one storage unit of the (k+1) th group of storage units and only one storage unit of the S th group of storage units.

17. The apparatus of claim 16 , wherein the third data segment and the first data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and wherein the third data segment and the first data segment are rebuilt according to two different storage units of the S th group of storage units.

18. The apparatus of claim 16 , further comprising:

rebuilding a fourth data segment stored in an (i+2) th storage region of the second storage unit of the k th group of storage units according to only one storage unit of the (k+1) th group of storage units and only one storage unit of the S th group of storage units.

19. The apparatus of claim 18 , wherein the fourth data segment and the second data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and wherein the fourth data segment and the second data segment are rebuilt according to two different storage units of the S th group of storage units.

20. A method for rebuilding data in a storage system having N groups of storage units each having N storage units, each storage unit of the N group of storage units having N storage regions, wherein N is a positive integer, the method comprising:

rebuilding a first data segment stored in an i th storage region of a first storage unit of a k th group of storage units according to only one storage unit of a (k+1) th group of storage units and only one storage unit of a (k+2) th group of storage units;

rebuilding a second data segment stored in an (i+1) th storage region of the first storage unit of the k th group of storage units according to only one storage unit of the (k+1) th group of storage units and only one storage unit of the (k+2) th group of storage units;

wherein

i is a positive integer less than or equal to N, where k is a positive integer less than or equal to N,

the first data segment and the second data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and

the first data segment and the second data segment are rebuilt according to two different storage units of the (k+2) th group of storage units.

21. The method of claim 20 , further comprising:

rebuilding a third data segment stored in an i th storage region of a second storage unit of the k th group of storage units according to only one storage unit of the (k+1) th group of storage units and only one storage unit of the (k+2) th group of storage units.

22. The method of claim 21 , wherein the third data segment and the first data segment are rebuilt according to two different storage units of the (k+1) th group of storage units, and wherein the third data segment and the first data segment are rebuilt according to two different storage units of the (k+2) th group of storage units.

Assignments (2)
SECURITY INTEREST Recorded Jan 20, 2026
From: SUPER MICRO COMPUTER, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 074447/0643 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2019
From: CHIEN, HUNG-MING
To: SUPER MICRO COMPUTER, INC.
Reel/Frame 048611/0434 →
Continuity (1)
Related Publication 20200293201A1 · Sep 17, 2020