IP Library Granted Patent US 8,412,742
Granted Patent B2
US 8,412,742 · App. 13/135,866 · Granted Apr 2, 2013

Media aware distributed data layout

Inventor: Michael L. Kazar (Pittsburgh, PA)
Assignee: Avere Systems, 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 8,412,742
App. No.
13/135,866
Granted
Apr 2, 2013
Kind
B2
Abstract

A storage system comprises a plurality of vdisks, with each vdisk containing a plurality of storage segments, and each segment providing a specific class of service (CoS). Each vdisk stores files with data and meta data distributed among its storage segments. A storage system comprises a memory having multiple classes of service. The system comprises an interface for storing a file as blocks of data associated with a class of service in the memory. The interface chooses the class of service for a block on a block by block basis. A file system for storing a file comprises a plurality of vdisks, with each vdisk having a plurality of inodes. Each inode of each vdisk stores data on one or more segments, with each segment having a different class of service. The system comprises a controller which stores data of a file in an inode of a vdisk, in one or more segments of that vdisk. A file system for storing a file comprises a plurality of vdisks, and each vdisk having a plurality of inodes. The system comprises a controller including a plurality of processors, with each processor serving one or more of the vdisks. A file system for storing comprises a plurality of vdisks, with each vdisk having a plurality of inodes, a plurality of inodes of at least one vdisk storing data on a plurality of segments, each segment having a different class of service. The system comprises a controller which stores data of the file in one or more segments of one vdisk. A method for storing a file.

Claims (24)

1. A file system for storing a file comprising:

a plurality of vdisks, each vdisk having a plurality of storage segments, each segment providing a specific class of service (COS) for storage, each vdisk having a plurality of inodes stored in an inode table, each inode describing a file in the vdisk, each inode of each vdisk storing data on one or more of a plurality of segments, each segment having a different class of service for storage; and

a controller comprises a computer processor which stores data of a file in an inode of a vdisk, in one or more arbitrary segments of that vdisk, and

where a vdisk to hold a newly created file or directory is chosen from the plurality of vdisks based on a predetermined mapping into the plurality of vdisks in the storage system, the vdisk chosen to hold the newly created file or directory differs from the vdisk holding the newly created object's parent directory, and

where the predetermined mapping chooses the vdisk with a largest available space, or a largest percentage of available space.

2. A system as described in claim 1 where the controller includes a plurality of processors, either virtual or physical, each processor serving one or more of the vdisks.

3. A system as described in claim 1 including at least one directory storing mappings of file names to (vdisk, inode) pairs.

4. A system as described in claim 3 wherein each inode has one or more back pointers to all of the directory entries pointing to the inode.

5. A system as described in claim 4 wherein one of the vdisks is a root vdisk.

6. A system as described in claim 5 wherein one of the inodes in the root vdisk is a root inode of the file system.

7. A system as described in claim 6 wherein each segment has a plurality of chunks.

8. A system as described in claim 1 , wherein each vdisk is an arbitrary collection of directories and files, and at least one file is stored in at least two segments.

9. A system as described in claim 1 , wherein each vdisk is an arbitrary collection of directories and files, and at least two vdisks hold at least one file.

10. A storage system as described in claim 1 , wherein each vdisk contains meta data disk block pointers only to blocks within the same vdisk.

11. A system as described in claim 10 , including an interface to initiate a file system consistency check on an individual vdisk, triggered by an indication of an inconsistency in a specific vdisk.

12. A system as described in claim 1 including:

a controller including a plurality of processors, each processor serving one or more of the vdisks.

13. A system as described in claim 12 wherein each segment has a plurality of chunks.

14. A system as described in claim 13 wherein each segment has chunks added to it dynamically over time.

15. A method for storing a file comprising the steps of:

receiving the file at an interface; and

storing data of the file in an inode of a vdisk with a controller in multiple segments of one vdisk of a plurality of vdisks arbitrarily, each vdisk having a plurality of inodes, at least two of the inodes of one vdisk storing data in different segments, each segment having a different class of service for storage, and

where a vdisk to hold a newly created file or directory is chosen from the plurality of vdisks based on a predetermined mapping into the plurality of vdisks in the storage system, the vdisk chosen to hold the newly created file or directory differs from the vdisk holding the newly created object's parent directory, and

where the predetermined mapping chooses the vdisk with a largest available space, or a largest percentage of available space.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2020
From: AVERE SYSTEMS, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053373/0574 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2018
From: KAZAR, MICHAEL L.
To: ARRIAD, INC.
Reel/Frame 045136/0118 →
CHANGE OF NAME Recorded Mar 7, 2018
From: ARRIAD, INC.
To: AVERE SYSTEMS, INC.
Reel/Frame 045520/0016 →
Continuity (2)
Division 12218085 · Jul 11, 2008
Related Publication 20110282922A1 · Nov 17, 2011