# US 2013/0159637 A1 · System and method for optimally creating storage objects in a storage system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159637 A1
- Document ID: US20130159637A1
- Status: Published application
- Kind: A1
- Application number: 13/328,039
- Filed: 2011-12-16
- Published: 2013-06-20
- Earliest claimed: 2011-12-16
- Assignees: NetApp, Inc.
- Inventors: Eric P. Forgette; Daniel A. Sarisky; Jonathan K. Rippy
- Web page: https://patentgrep.com/patent/US20130159637A1

## CPC

- G06F 3/0605: {by facilitating the interaction with a user or administrator}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems and methods that enable the optimal creation of a storage object within a virtual storage system are disclosed. In accordance with embodiments, an optimal location with the storage system is determined in response to receiving an indication that a storage object is to be created within the storage system. The system and method prioritize physical storage resources in which to create the storage object, prioritize components to be provided access to the created storage object, and prioritize the interface between the physical storage resources and the accessing component. The storage object is optimally created within the storage system based on the priorities and based, at least in part, on other created storage objects.

## Claims

### Claim 1

A method for providing an optimal network interface for a storage object comprising one or more physical storage resources, said method comprising:
accepting under control of a processor a service level requirement for creating said storage object from said one or more physical storage resources;
identifying under control of said processor a network interface for providing storage system access to said one or more physical storage resources based at least in part on said service level requirement; and
creating said storage object from said physical storage resources and said network interface, wherein said creating is based, at least in part, on said service level requirement.

### Claim 2 (depends on 1)

The method of claim 1 wherein said storage system comprises a plurality of service level requirements, said plurality of service level requirements associated with one or more applications, wherein said plurality of service level requirements have different storage physical storage resources available thereto.

### Claim 3 (depends on 2)

The method of claim 2 wherein each of said one or more applications are associated with one or more clients.

### Claim 4 (depends on 1)

The method of claim 1 wherein said storage system comprises physical locations mapped from a virtual entity and wherein a client accesses said virtual entity independent of said physical locations.

### Claim 5 (depends on 1)

The method of claim 1 wherein said creation is further based upon access patterns between said storage system and said one or more physical storage resources over said interface.

### Claim 6 (depends on 1)

The method of claim 1 wherein said providing an interface comprises:
selecting a storage controller interposed between said storage system and said one or more physical storage resources such that said storage controller exclusively controls a portion of said interface between said storage system and said one or more physical storage resources.

### Claim 7 (depends on 5)

The method of claim 5 wherein said storage controller comprises a physical location mapped from a virtual identity and wherein said storage systems accesses said virtual identity without knowledge of said physical location of said storage controller.

### Claim 8 (depends on 1)

The method of claim 1 further comprising:
providing data received from a client to said one or more physical storage resources in which said storage object is created according to said service level requirement via said interface.

### Claim 9 (depends on 1)

The method of claim 1 further comprising:
reconfiguring certain of said created storage objects from time to time.

### Claim 10 (depends on 9)

The method of claim 9 wherein said reconfiguring is based, at least in part, on other created storage objects.

### Claim 11

A method comprising:
identifying a service level requirement for a storage object, said storage object created from one or more physical storage resources, said one or more physical storage resources operable under the control of a storage controller;
analyzing attributes of said one or more physical storage resources to identify qualifying physical storage resources that satisfy said service level requirement in which to create said storage object;
analyzing attributes of components of said storage controller to identify qualifying storage controller components that satisfy said service level requirement in which to store a control component of said storage object; and
selecting one or more physical storage resources from said qualifying physical storage resources in which to create said storage object and a storage controller component from said qualifying storage controller components in which to store said control component of said storage object to provide an optimized configuration of said storage object.

### Claim 12 (depends on 11)

The method of claim 11 further comprising:
analyzing attributes of available network interfaces between said physical storage resources and said storage controller to identify qualifying network interfaces that satisfy said service level requirement.

### Claim 13 (depends on 11)

The method of claim 11 wherein said analyzing attributes of said one or more physical storage resources to identify qualifying physical storage resources comprises determining access patterns of said one or more physical storage resources.

### Claim 14 (depends on 11)

The method of claim 11 wherein said analyzing attributes of components of said storage controller to identify qualifying storage controller components comprises determining a degree of similarity between said storage controller components and said storage object.

### Claim 15 (depends on 11)

The method of claim 11 wherein providing an optimized configuration of said storage object comprises optimizing access to data of said storage object.

### Claim 16 (depends on 12)

The method of claim 12 further comprising selecting a qualifying network interface between said physical storage resources and said storage controller to further provide an optimized configuration of said storage object.

### Claim 17 (depends on 11)

The method of claim 11 further comprising:
providing data received from a client to said one or more physical storage resources in which said storage object is created according to said optimized configuration of said storage object.

### Claim 18 (depends on 11)

The method of claim 11 further comprising:
reconfiguring certain of said created storage objects from time to time.

### Claim 19 (depends on 18)

The method of claim 18 wherein said reconfiguring is based, at least in part, on other created storage objects.

### Claim 20

A method for creating storage at an optimal location in a storage system, said method comprising:
receiving an indication that a storage object is to be created in said storage system, said storage object associated with a service level requirement;
in response to said receiving:
identifying a physical storage resource in said system that satisfies said service level requirement;
identifying a virtual resource in said system that satisfies said service level requirement;
identifying a network interface between a satisfactory physical storage resource and a satisfactory virtual resource in said system that satisfies said service level requirement; and
creating said storage object from said satisfactory physical storage resource and providing access to said storage object for said satisfactory virtual resource via said satisfactory network interface.

### Claim 21 (depends on 20)

The method of claim 20 further comprising ranking satisfactory physical storage resources and creating said storage object from a highest ranking physical storage resource, wherein said ranking is based, at least in part, on other storage objects previously created in said physical storage resources.

### Claim 22 (depends on 21)

The method of claim 21 wherein said ranking comprises determining a degree of similarity between said storage object and said satisfactory physical storage resources.

### Claim 23 (depends on 20)

The method of claim 20 further comprising ranking satisfactory virtual resources and providing access to said storage object for a highest ranking virtual resource.

### Claim 24 (depends on 22)

The method of claim 22 wherein said ranking comprises determining a degree of similarity between said storage object and said satisfactory virtual resources.

### Claim 25 (depends on 20)

The method of claim 20 wherein said receiving an indication comprises receiving a request for additional storage.

### Claim 26 (depends on 20)

The method of claim 20 wherein said receiving an indication comprises receiving a notification that storage is to be rebalanced.

### Claim 27 (depends on 20)

The method of claim 20 further comprising:
providing data received from a client to said physical storage resources in which said storage object is created according to said service level requirement via said network interface.

### Claim 28 (depends on 20)

The method of claim 20 further comprising:
reconfiguring certain of said created storage objects from time to time.

### Claim 29 (depends on 28)

The method of claim 28 wherein said reconfiguring is based, at least in part, on other created storage objects.

### Claim 30

A method for optimizing creation of storage in a virtual storage system, said method comprising:
submitting, from a client system, a request for additional storage satisfying a service level requirement;
in response to said submitting, receiving at said client system a notification that additional storage has been created for said client system, said storage created by:
analyzing attributes of said one or more physical storage resources to identify qualifying physical storage resources that satisfy said service level requirement in which to create said storage, said analyzing based, at least in part, on existing uses of said storage resources;
analyzing attributes of components of a storage controller to identify qualifying storage controller components that satisfy said service level requirement in which to store a control component of said storage;
selecting one or more physical storage resources from said qualifying physical storage resources in which to create said storage; and
selecting a storage controller component from said qualifying storage controller components in which to store said control component of said storage to provide an optimized configuration of said storage.

### Claim 31 (depends on 30)

The method of claim 30 further comprising:
providing data received from said client system to said physical storage resources in which said storage object is created according to said service level requirement via said network interface.

### Claim 32

A method for using virtual storage wherein said virtual storage comprises multiple physical resources, said method comprising:
accepting from a user data to be stored in said virtual storage; and
delivering accepted data to a specific set of possible physical locations within said resources, said possible physical locations pre-identified by said virtual storage based upon an established storage object created according to service level requirements established for said user, said storage object based, at least in part, on other created storage objects for other users.
