IP Library Granted Patent US 7,366,837
Granted Patent B2
US 7,366,837 · App. 11/118,298 · Granted Apr 29, 2008

Data placement technique for striping data containers across volumes of a storage system cluster

Assignee: Network Appliance, Inc.
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,366,837
App. No.
11/118,298
Granted
Apr 29, 2008
Kind
B2
Abstract

A technique places content, such as data, of one or more data containers on volumes of a striped volume set (SVS). The placement of data across the volumes of the SVS allows specification of a deterministic pattern of fixed length. That is, the pattern determines a placement of data of a data container that is striped among the volumes of the SVS. The placement pattern is such that the stripes are distributed exactly or nearly equally among the volumes and that, within any local span of a small multiple of the number of volumes, the stripes are distributed nearly equally among the volumes. The placement pattern is also substantially similar for a plurality of SVSs having different numbers of volumes.

Claims (40)

1. A method for placing content of one or more data containers on a set of volumes of a striped volume set (SVS), the method comprising:

associating the SVS with a set of striping rules that define a stripe algorithm, a stripe width and a list of volumes, the volumes distributed across a plurality of nodes interconnected as a cluster;

apportioning the data container content as stripes, each stripe having a size specified by the stripe width; and

placing the stripes across the volumes in a manner specified by the stripe algorithm that reflects a deterministic pattern of fixed length such that the stripes are distributed equally among the volumes.

2. The method of claim 1 wherein the deterministic pattern of fixed length is embodied by a stripe placement table.

3. The method of claim 2 wherein the stripe placement table comprises data identifying a placement of stripes for a predefined number of volumes in the SVS.

4. The method of claim 2 wherein the stripe placement table comprises data identifying a placement of stripes for a plurality of predefined number of volumes in the SVS.

5. The method of claim 1 wherein the deterministic pattern of fixed length repeats at a repetition interval.

6. The method of claim 5 wherein the repetition interval is determined in accordance with a set of prime factors less than N, wherein N is a number of volumes comprising the SVS.

7. The method of claim 1 wherein the data containers comprise files.

8. The method of claim 1 wherein the data containers comprise logical unit numbers.

9. The method of claim 1 further comprising:

adding an additional volume to the set of volumes; and

moving only 1/N of the stripes to the additional volume.

10. The method of claim 1 wherein the stripes are distributed according to a 1/N deterministic pattern of fixed length, wherein N equals a number of volumes in the SVS.

11. A system adapted to place content of one or more data containers on volumes of a striped volume set (SVS), the system comprising:

a disk array adapted to implement the volumes;

a volume striping module adapted to organize the volumes as the SVS; and

a file system module cooperating with the volume striping module to control layout of the data container content on the SVS volumes of the array, the modules further cooperating to apportion the data container content as stripes and place the stripes across the volumes in a manner that reflects a deterministic pattern of fixed length such that the stripes are distributed equally among the volumes.

12. The system of claim 11 wherein the deterministic pattern of fixed length is embodied by a stripe placement table.

13. The system of claim 12 wherein the stripe placement table comprises data identifying a placement of stripes for a predefined number of volumes in the SVS.

14. The system of claim 11 wherein the stripe placement table comprises data identifying a placement of stripes for a plurality of predefined number of volumes in the SVS.

15. The system of claim 11 wherein the deterministic pattern of fixed length repeats at a repetition interval.

16. The system of claim 15 wherein the repetition interval is determined in accordance with a set of prime factors less than N, wherein N is a number of volumes comprising the SVS.

17. The method of claim 11 wherein the data containers comprise files.

18. The method of claim 11 wherein the data container comprise logical unit numbers.

19. A system adapted to place content of one or more data containers on volumes of a striped volume set (SVS), the system comprising:

means for implementing the volumes;

means for organizing the volumes as the SVS; and

means for controlling layout of the data container content on the SVS volumes of the array, the means for controlling further apportioning the data container content as stripes and placing the stripes across the volumes in a manner that reflects a deterministic pattern of fixed length such that the stripes are distributed equally among the volumes.

20. A system for placing content of one or more data containers on volumes of a striped volume set (SVS), the system comprising:

means for associating the SVS with a set of striping rules that define a stripe algorithm, a stripe width and a list of volumes, the volumes distributed across a plurality of nodes interconnected as a cluster;

means for apportioning the data container content as stripes, each stripe having a size specified by the stripe width; and

means for placing the stripes across the volumes in a manner specified by the stripe algorithm that reflects a deterministic pattern of fixed length such that the stripes are distributed equally among the volumes.

21. The system of claim 20 wherein the deterministic pattern of fixed length repeats at a repetition interval.

22. The system of claim 21 wherein the repetition interval is determined in accordance with a set of prime factors less than N, wherein N is a number of volumes comprising the SVS.

23. A computer readable medium for placing content of one or more data containers on volumes of a striped volume set (SVS), the computer readable medium including program instructions for performing the steps of:

associating the SVS with a set of striping rules that define a stripe algorithm, a stripe width and a list of volumes, the volumes distributed across a plurality of nodes interconnected as a cluster;

apportioning the data container content as stripes, each stripe having a size specified by the stripe width; and

placing the stripes across the volumes in a manner specified by the stripe algorithm that reflects a deterministic pattern of fixed length such that the stripes are distributed equally among the volumes.

Assignments (3)
CHANGE OF NAME Recorded May 28, 2024
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 067543/0624 →
CHANGE OF NAME Recorded Mar 10, 2011
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 025933/0618 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2005
From: CORBETT, PETER F.; ENGLISH, ROBERT M.; KLEIMAN, STEVEN R.
To: NETWORK APPLIANCE, INC.
Reel/Frame 016527/0656 →
Continuity (2)
Continuation In Part 1072036400 · Nov 24, 2003
Related Publication 20060184731A1 · Aug 17, 2006