IP Library Granted Patent US 7,210,005
Granted Patent B2
US 7,210,005 · App. 11/351,979 · Granted Apr 24, 2007

Method and apparatus for power-efficient high-capacity scalable storage system

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 7,210,005
App. No.
11/351,979
Granted
Apr 24, 2007
Kind
B2
Abstract

Systems and methods for providing scalable, reliable, power-efficient, high-capacity data storage, wherein large numbers of closely packed data drives having corresponding metadata and parity volumes are individually powered on and off, depending upon their respective usage. In one embodiment, the invention is implemented in a RAID-type data storage system which employs a large number of hard disk drives that are individually controlled, so that only the disk drives that are in use are powered on. The reduced power consumption allows the disk drives to be contained in a smaller enclosure than would conventionally be possible. In a preferred embodiment, the data protection scheme is designed to utilize large, contiguous blocks of space on the data disk drives, and to use the space on one data disk drive at a time, so that the data disk drives which are not in use can be powered down.

Claims (46)

1. A system comprising:

a plurality of data storage drives; and

a controller coupled to each of the data storage drives;

wherein the controller is configured to power on a first subset of the data storage drives and to power down a second subset of the data storage drives, and wherein single set of data storage drives in the plurality of data storage drives includes a powered down data storage drive from the second subset and a powered on data storage drive from the first subset.

2. The system of claim 1 , wherein the plurality of data storage drives comprise a single RAID set of data storage drives.

3. The system of claim 1 , wherein the first subset comprises at least one data storage drive in a first RAID set and the second subset comprises at least one data storage drive in the first RAID set.

4. The system of claim 1 , wherein each of the plurality of data storage drives is individually controllable to power the data storage drive on or down, independent of the remainder of the plurality of data storage drives.

5. The system of claim 1 , wherein the data storage drives comprise hard disk drives.

6. The system of claim 5 , wherein the system comprises a RAID system.

7. The system of claim 5 , wherein the system comprises multiple shelves, each shelf including a number of data storage drives in an enclosure, wherein first shelf in the multiple shelves includes the powered down data storage drive in the first subset and powered down data storage drive from the second subset.

8. The system of claim 7 , wherein the system comprises one or more RAID sets of data storage drives and wherein each of the one or more RAID sets of data storage drives comprises data storage drives from at least two of the shelves.

9. The system of claim 7 , wherein the controller comprises a rack controller connected to a plurality of shelf controllers, wherein each shelf controller is configured to control a set of data storage drives on a corresponding shelf.

10. The system of claim 1 , wherein the data storage drives are contained in a single physical enclosure.

11. The system of claim 1 , wherein the data storage drives comprise optical disk drives.

12. The system of claim 1 , further comprising one or more parity drives, each of which is associated with a corresponding RAID set of the plurality of data storage drives.

13. The system of claim 12 , wherein the system is configured to compute parity information for the RAID set by XOR'ing an old parity value with a value currently written to one of the data storage drives in the RAID set to generate a current parity value, and storing the current parity value on the parity drive.

14. The system of claim 12 , wherein the one or more parity drives are always powered on.

15. The system of claim 1 , further comprising one or more metadata drives, each of which is associated with a corresponding group of the plurality of data storage drives.

16. The system of claim 15 , wherein the system is configured to store metadata information on the metadata drive, wherein the metadata comprises a mapping of logical addresses for the system to physical addresses for the corresponding group of data storage drives.

17. The system of claim 15 , wherein the system is configured to store metadata information on the metadata drive, wherein the metadata comprises health information for the corresponding group of data storage drives.

18. The system of claim 15 , wherein the system is configured to store metadata information on the metadata drive, wherein the metadata comprises data which duplicates a portion of each of the corresponding group of data storage drives.

19. The system of claim 15 , wherein the one or more metadata drives are always powered on.

20. The system of claim 1 , wherein the first subset comprises no more than a predetermined fraction of the plurality of data storage drives.

21. The system of claim 1 , wherein the predetermined fraction is determined based on a failure rate of individual data storage drives, a minimum required service period, and a total number of data storage drives in the system.

22. The system of claim 21 , wherein the predetermined fraction is equal to f/ {1−(1−1/T)[[** 1/N]] 1/N }, where f is a mean time between failures of an individual data storage drive, T is a minimum required service period, and N is the total number of data storage drives in the system.

23. A method comprising:

providing a data storage system having a plurality of data storage drives;

performing data accesses to the data storage system, wherein the data accesses involve accesses to a first subset of the data storage drives, wherein the first subset of the data storage drives is powered on; and

powering down a second subset of the data storage drives, wherein the data accesses do not involve accesses to the second subset of the data storage drives,

wherein a single set of data storage drives in the plurality of data storage drives includes a powered down data storage drive from the second subset and a powered on data storage drive from the first subset.

24. The method of claim 23 , wherein the plurality of data storage drives comprise a single RAID set of data storage drives.

25. The method of claim 23 , wherein the first subset comprises at least one data storage drive in a first RAID set and the second subset comprises at least one data storage drive in the first RAID set.

26. The method of claim 23 , wherein each of the plurality of data storage drives is individually controlled to power the data storage drive on or down, independent of the remainder of the plurality of data storage drives.

27. The method of claim 23 , wherein performing data accesses to the data storage system comprises accessing a block of storage that spans a first data storage drive and a second data storage drive, wherein as the first data storage drive is accessed, the first data storage drive is powered on and the second data storage drive is powered down, and as the second data storage drive is accessed, the second data storage drive is powered on and the first data storage drive is powered down.

28. The method of claim 27 , further comprising, if the data accesses comprise writes, caching data for the second data storage drive as the second data storage drive is transitioned from a powered down state to a powered on state.

29. The method of claim 27 , further comprising, if the data accesses comprise reads, retrieving data corresponding to the second data storage drive from a metadata volume as the second data storage drive is transitioned from a powered down state to a powered on state.

30. The method of claim 23 , wherein performing data accesses to the data storage system comprises accessing one or more data storage drives and corresponding parity drives.

31. The method of claim 30 , further comprising computing parity information for a RAID set by XOR'ing an old parity value with a value currently written to one of the data storage drives in the RAID set to generate a current parity value, and storing the current parity value on the parity drive.

32. The method of claim 23 , wherein performing data accesses to the data storage system comprises accessing one or more data storage drives and corresponding metadata drives.

33. The method of claim 32 , wherein accessing the metadata drives comprises storing metadata information on the metadata drive, wherein the metadata comprises health information for the corresponding group of data storage drives.

34. The method of claim 32 , wherein accessing the metadata drives comprises storing metadata information on the metadata drive, wherein the metadata comprises data which duplicates a portion of each of the corresponding group of data storage drives.

35. The method of claim 32 , further comprising refreshing data on the one or more data storage drives by moving data to different data storage drives to maintain integrity based on information stored on the metadata drive.

36. The method of claim 23 , wherein the first subset comprises no more than a predetermined fraction of the plurality of data storage drives.

37. The system of claim 36 , wherein the predetermined fraction is determined based on a failure rate of individual data storage drives, a minimum required service period, and a total number of data storage drives in the system.

38. The method of claim 37 , wherein the predetermined fraction is equal to f/{1−(1−1/T)[[**1/N]] 1/N }, where f is a mean time between failures of an individual data storage drive, T is a minimum required service period, and N is the total number of data storage drives in the system.

39. The method of claim 23 , further comprising replacing one or more data storage drives that are in the second subset.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: RPX CORPORATION
Reel/Frame 035409/0615 →
RELEASE OF SECURITY INTEREST Recorded Feb 23, 2014
From: WESTBURY INVESTMENT PARTNERS SBIC, LP
To: SILICON VALLEY BANK
Reel/Frame 032276/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2010
From: SILICON VALLEY BANK
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 024351/0936 →