IP Library Granted Patent US 8,990,496
Granted Patent B2
US 8,990,496 · App. 14/281,234 · Granted Mar 24, 2015

Method and system for the heterogeneous data volume

Inventors: Alexander Aizman (Mountain View, CA); Vineeth Remanan Pillai (Mountain View, CA)
Assignee: Nexenta Systems, Inc.
G06F3/064G06F11/1076G06F2211/1028G06F2211/103G06F3/061G06F3/0689G06F2003/0692
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,990,496
App. No.
14/281,234
Granted
Mar 24, 2015
Kind
B2
Abstract

A method and system is disclosed for providing a heterogeneous data storage comprising a plurality of storage devices of different types with respect to device vendor, model, capacity, performance and/or function. The present invention employs data access mechanisms specific to the type of underlying storage and the type of data to be stored or retrieved, and provides for integrated remote mirroring, disaster recovery and hierarchical storage management (HSM), as well as improved I/O performance and life expectancy of storage disks. A method of writing to and reading from heterogeneous data volume is also disclosed.

Claims (39)

1. A system comprising:

a processor;

a heterogeneous data volume including a plurality of storage disks; and

an electronic storage medium containing program instructions executable on the processor for:

associating each storage disk of the plurality of storage disks with a class of storage, wherein each class of storage is associated with data access mechanisms used to write data to each storage disk;

associating a first set of the storage disks with a first class of storage;

associating a second set of the storage disks with a second class of storage;

receiving a data set as part of an input/output operation, the data set including a plurality of logical blocks;

associating a first logical block of the plurality of logical blocks with the first class of storage;

associating a second logical block of the plurality of logical blocks with the second class of storage;

writing the first logical block to the heterogeneous data volume using the data access mechanisms associated with the first class of storage, wherein the writing occurs as part of the input/output operation including storing the first logical block within the first set of storage disks; and

writing the second logical block to the heterogeneous data volume using the data access mechanisms associated with the second class of storage, wherein the writing occurs as part of the input/output operation including storing the second logical block within the second set of storage disks.

2. The system of claim 1 wherein at least one of the first and second logical blocks includes metadata associated with the data set.

3. The system of claim 2 , wherein the processor determines whether the metadata associated with the at least one of the first and second logical blocks needs to be stored in the heterogeneous data volume.

4. The system of claim 3 , wherein the processor stores the metadata associated with the at least one of the first and second logical blocks.

5. The system of claim 4 , wherein the metadata includes the class of storage of the at least one of the first and second logical blocks.

6. The system of claim 5 , wherein the metadata includes a location of extra copies of the at least one of the first and second logical blocks.

7. The system of claim 1 , wherein the data set includes a data file.

8. The system of claim 1 , wherein the heterogeneous data volume includes a plurality of redundancy groups.

9. The system of claim 8 , wherein each of the plurality of redundancy groups is associated with a class of storage.

10. The system of claim 9 , wherein each of the plurality of redundancy groups includes a plurality of other redundancy groups or storage disks.

11. A method for writing data to a heterogeneous data volume including a plurality of storage disks comprising:

associating each storage disk of the plurality of storage disks with a class of storage, wherein each class of storage is associated with data access mechanisms used to write data to each storage disk;

associating a first set of the storage disks with a first class of storage;

associating a second set of the storage disks with a second class of storage;

receiving a data set as part of an input/output operation, the data set including a plurality of logical blocks;

associating a first logical block of the plurality of logical blocks with the first class of storage;

associating a second logical block of the plurality of logical blocks with the second class of storage;

writing the first logical block to the heterogeneous data volume using the data access mechanisms associated with the first class of storage, wherein the writing occurs as part of the input/output operation including storing the first logical block within the first set of storage disks; and

writing the second logical block to the heterogeneous data volume using the data access mechanisms associated with the second class of storage, wherein the writing occurs as part of the input/output operation including storing the second logical block within the second set of storage disks.

12. The method of claim 11 wherein at least one of the first and second logical blocks includes metadata associated with the data set.

13. The method of claim 12 , comprising determining whether the metadata associated with the at least one of the first and second logical blocks needs to be stored in the heterogeneous data volume.

14. The method of claim 13 , comprising storing the metadata associated with the at least one of the first and second logical blocks.

15. The method of claim 14 , wherein the metadata includes the class of storage of the at least one of the first and second logical blocks.

16. The method of claim 15 , wherein the metadata includes a location of extra copies of the at least one of the first and second logical blocks.

17. The method of claim 11 , wherein the data set includes a data file.

18. The method of claim 11 , wherein the heterogeneous data volume includes a plurality of redundancy groups.

19. The method of claim 18 , wherein each of the plurality of redundancy groups is associated with a class of storage.

20. The method of claim 19 , wherein each of the plurality of redundancy groups includes a plurality of other redundancy groups or storage disks.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2019
From: NEXENTA SYSTEMS, INC.
To: NEXENTA BY DDN, INC.
Reel/Frame 050624/0524 →
RELEASE OF SECURITY INTEREST Recorded Mar 8, 2018
From: SILICON VALLEY BANK
To: NEXENTA SYSTEMS, INC.
Reel/Frame 045144/0872 →
SECURITY INTEREST Recorded Nov 9, 2016
From: NEXENTA SYSTEMS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040270/0049 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2015
From: AIZMAN, ALEXANDER; PILLAI, VINEETH REMANAN
To: NEXENTA SYSTEMS, INC.
Reel/Frame 035023/0218 →
Continuity (5)
Continuation 13239258 · Sep 21, 2011
Continuation In Part 12875073 · Sep 2, 2010
Provisional Application 61365153 · Jul 16, 2010
Provisional Application 61362260 · Jul 7, 2010
Related Publication 20140258616A1 · Sep 11, 2014