CATEGORY BASED SPACE ALLOCATION FOR MULTIPLE STORAGE DEVICES
First Claim
1. A method for carrying out a request to store data generated by an application, comprising:
- receiving, from the application, the request to store data;
determining a storage functionality associated with the request, wherein the storage functionality is implementable using one or more storage devices;
transmitting, to a space allocator;
identifications of the one or more storage devices, anda size of the data;
receiving, from the space allocator, information about space allocated within at least one of the one or more storage devices; and
issuing, based on the information, one or more In/Out (I/O) commands to store the data in a manner that implements the storage functionality.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention provides a technique for carrying out a request to store data. The technique includes the steps of receiving, from an application, the request to store data, and determining a storage functionality associated with the request. The storage functionality represents a particular storage function (e.g., RAID-5) that can be implemented using space available in one or more storage devices that are associated with the storage functionality. Identifications of the one or more storage devices, as well as a size of the data, are transmitted to a space allocator. In turn, the space allocator analyzes various aspects of the one or more storage devices (e.g., amount of free space therein) and allocates space within at least one of the one more storage devices according to the analysis. Information about the space allocations is then used to issue In/Out (I/O) commands that cause the storage functionality to be implemented.
-
Citations
20 Claims
-
1. A method for carrying out a request to store data generated by an application, comprising:
-
receiving, from the application, the request to store data; determining a storage functionality associated with the request, wherein the storage functionality is implementable using one or more storage devices; transmitting, to a space allocator; identifications of the one or more storage devices, and a size of the data; receiving, from the space allocator, information about space allocated within at least one of the one or more storage devices; and issuing, based on the information, one or more In/Out (I/O) commands to store the data in a manner that implements the storage functionality. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for carrying out a request to allocate space within one or more storage devices, comprising:
-
receiving, from a storage manager, a request that includes; identifications of the one or more storage devices, and a size of data to be stored; selecting, from the one or more storage devices, at least one storage device in which an amount of space equal to the size of data can be allocated; allocating, within each of the selected storage devices, an amount of space equal to the size of data; and transmitting, to the storage manager, information about the space allocations. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for adding a storage device to a collection of storage devices, comprising:
-
detecting the addition of the storage device; executing one or more benchmark tests against the storage device to establish characteristics of the storage device; identifying, based on the established characteristics of the storage device, at least one storage functionality that the storage device is capable of supporting; and updating a data structure to include at least one reference to the storage device. - View Dependent Claims (13, 14)
-
-
15. A system for carrying out a request to store data generated by an application, comprising:
-
a processor; a memory storing instructions that, when executed by the processor, cause the processor to; receive, from the application, the request to store data; determine a storage functionality associated with the request, wherein the storage functionality is implementable using one or more storage devices; transmit, to a space allocator; identifications of the one or more storage devices, and a size of the data; receive, from the space allocator, information about space allocated within at least one of the one or more storage devices; and issue, based on the information, one or more In/Out (I/O) commands to store the data in a manner that implements the storage functionality. - View Dependent Claims (16, 17)
-
-
18. A system for carrying out a request to allocate space within one or more storage devices, comprising:
-
a processor; a memory storing instructions that, when executed by the processor, cause the processor to; receive, from a storage manager, a request that includes; identifications of the one or more storage devices, and a size of data to be stored; select, from the one or more storage devices, at least one storage device in which an amount of space equal to the size of data can be allocated; allocate, within each of the selected storage devices, an amount of space equal to the size of data; and transmit, to the storage manager, information about the space allocations. - View Dependent Claims (19, 20)
-
Specification