Techniques for storing data based upon storage policies
AssigneeRocket Software, Inc.
InventorsAlbert Leung, Giovanni Paliska, Bruce Greenblatt, Claudia Chandra
Life of this patent
Estimating the term…
Abstract
Automated techniques for storing data in a data storage environment. Techniques are provided for determining storage locations for data in a heterogeneous storage environment based upon storage policies configured for the storage environment. The data is stored in storage locations that enable efficient data access while optimizing the use of available storage resources with minimum human intervention.
Claims35
In a storage environment comprising a plurality of storage devices, a method of identifying a storage device from the plurality of storage devices for storing data, the method comprising:
- receiving a signal to store a data unit;
- identifying a set of one or more placement rules configured for the storage environment, each placement rule comprising data-related criteria identifying one or more conditions related to one or more characteristics of the data to be stored and device-related criteria identifying one or more conditions related to one or more storage device characteristics;
- calculating a data value score (DVS) for each placement rule in the set of placement rules based upon the data-related criteria of the placement rule and characteristics of the data unit;
- selecting a first placement rule from the set of placement rules based upon the DVSs associated with the set of placement rules;
- calculating a relative storage value score (RSVS) for each storage device in the plurality of storage devices based upon the device-related criteria of the first placement rule, the characteristics of the data unit, and characteristics of the storage device;
- and
- determining a storage device, from the plurality of storage devices, for storing the data unit based upon the set of placement rules and their associated DVSs, the RSVSs calculated for the plurality of storage devices, characteristics of the plurality of storage devices, and characteristics of the data unit to be stored.
In a storage environment comprising a plurality of storage devices, a data processing system for identifying a storage device from the plurality of storage devices for storing data, the data processing system comprising:
- a processor;
- a memory coupled to the processor, the memory configured to store a plurality of code modules for execution by the processor, the plurality of code modules comprising:
- a code module for receiving a signal to store a data unit;
- a code module for identifying a set of one or more placement rules configured for the storage environment, each placement rule comprising data-related criteria identifying one or more conditions related to one or more characteristics of the data to be stored and device-related criteria identifying one or more conditions related to one or more storage device characteristics;
- a code module for calculating a data value score (DVS) for each placement rule in the set of placement rules based upon the data-related criteria of the placement rule and characteristics of the data unit;
- a code module for selecting a first placement rule from the set of placement rules based upon the DVSs associated with the set of placement rules;
- a code module for calculating a relative storage value score (RSVS) for each storage device in the plurality of storage devices based upon the device-related criteria of the first placement rule, the characteristics of the data unit, and characteristics of the storage device;
- and
- a code module for determining a storage device, from the plurality of storage devices, for storing the data unit based upon the set of placement rules and their associated DVSs, the RSVSs calculated for the plurality of storage devices, characteristics of the plurality of storage devices, and characteristics of the data unit to be stored.
In a storage environment comprising a plurality of storage devices, a method of identifying a storage device from the plurality of storage devices for storing data, the method comprising:
- receiving a signal to store a data unit;
- identifying a set of one or more placement rules configured for the storage environment, each placement rule comprising data-related criteria identifying one or more conditions related to one or more characteristics of the data to be stored and device-related criteria identifying one or more conditions related to one or more storage device characteristics;
- calculating a data value score (DVS) for each placement rule in the set of placement rules based upon the data-related criteria of the placement rule and characteristics of the data unit;
- and
- determining a storage device, from the plurality of storage devices, for storing the data unit based upon the set of placement rules and their associated DVSs, characteristics of the plurality of storage devices, and characteristics of the data unit to be stored, wherein determining the storage device for storing the data unit comprises:
- based upon DVSs calculated for the set of placement rules, selecting a first placement rule from the plurality of placement rules;
- identifying a first set of storage devices from the plurality of storage devices based upon the device-related criteria of the first placement rule;
- generating, for each storage device in the first set of storage devices, a relative storage value score (RSVS) based upon bandwidth supported by the storage device,
- device bandwidth value specified in the device-related criteria of the first placement rule;
- desired threshold capacity configured for the storage device, the desired threshold capacity indicating a portion of total capacity of the device allocated for storing the data unit, and
- current usage information for the storage device, the current usage information indicates a portion of the storage device that is being used for storing data of a particular type, and
- cost of storing data on the storage device;
- and
- said generating a RSVS for each storage device in the first set of storage devices comprises:
- generating a RSVS having a value of zero if the storage device is not capable of satisfying the bandwidth requirements specified by the first placement rule;
- generating a RSVS having a value greater than zero if the storage device is capable of satisfying the bandwidth requirements specified by the first placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device;
- generating a RSVS having a value less than zero if the storage device is capable of satisfying the bandwidth requirements specified by the first placement rule and cannot store the data unit without exceeding a capacity threshold associated with the storage device;
- and
- selecting a storage device from the plurality of storage devices for storing the data unit based upon the RSVSs calculated for the plurality of storage devices.
In a storage environment comprising a plurality of storage devices, a data processing system for identifying a storage device from the plurality of storage devices for storing data, the data processing system comprising:
- a processor;
- a memory coupled to the processor, the memory configured to store a plurality of code modules for execution by the processor, the plurality of code modules comprising:
- a code module for receiving a signal to store a data unit;
- a code module for identifying a set of one or more placement rules configured for the storage environment, each placement rule comprising data-related criteria identifying one or more conditions related to one or more characteristics of the data to be stored and device-related criteria identifying one or more conditions related to one or more storage device characteristics;
- a code module for calculating a data value score (DVS) for each placement rule in the set of placement rules based upon the data-related criteria of the placement rule and characteristics of the data unit;
- and
- a code module for determining a storage device, from the plurality of storage devices, for storing the data unit based upon the set of placement rules and their associated DVSs, characteristics of the plurality of storage devices, and characteristics of the data unit to be stored, wherein said code module for determining the storage device for storing the data unit comprises:
- a code module for selecting a first placement rule from the plurality of placement rules based upon DVSs calculated for the set of placement rules;
- a code module for identifying a first set of storage devices from the plurality of storage devices based upon the device-related criteria of the first placement rule;
- a code module for generating, for each storage device in the first set of storage devices,
- a relative storage value score (RSVS) based upon
- bandwidth supported by the storage device,
- device bandwidth value specified in the device-related criteria of the first placement rule;
- desired threshold capacity configured for the storage device, the desired threshold capacity indicating a portion of total capacity of the device allocated for storing the data unit, and
- current usage information for the storage device, the current usage information indicates a portion of the storage device that is being used for storing data of a particular type, and
- cost of storing data on the storage device;
- and
- said code module for generating a RSVS for each storage device in the first set of storage devices comprises:
- a code module for generating a RSVS having a value of zero if the storage device is not capable of satisfying the bandwidth requirements specified by the first placement rule;
- a code module for generating a RSVS having a value greater than zero if the storage device is capable of satisfying the bandwidth requirements specified by the first placement rule and can store the data unit without exceeding a capacity threshold associated with the storage device;
- a code module for generating a RSVS having a value less than zero if the storage device is capable of satisfying the bandwidth requirements specified by the first placement rule and cannot store the data unit without exceeding a capacity threshold associated with the storage device;
- and
- a code module for selecting a storage device from the plurality of storage devices for storing the data unit based upon the RSVSs calculated for the plurality of storage devices.
Dependencies are inferred from the claim text.