Patent ID: 7539709

Claim:
A method for managing data in a storage system comprising: obtaining a data operation associated with a first storage tier and a second storage tier of the storage system; obtaining a first plurality of values describing a current state of the first storage tier; calculating a first existing utility of the first storage tier based on the first plurality of values, wherein calculating the first existing utility comprises evaluating a utility function using the first plurality of values as parameters; calculating a second existing utility of the second storage tier; predicting a second plurality of values describing a predicted state of the first storage tier following the data operation; determining a first future utility of the first storage tier based on the second plurality of values; determining a second future utility of the second storage tier following the data operation; calculating a first difference between the first future utility and the first existing utility; calculating a second difference between the second future utility and the second existing utility; calculating a third difference between the second difference and the first difference; executing the data operation based on the third difference; calculating an actual utility of the first storage tier after executing the data operation; calculating a fourth difference between the actual utility and the first future utility; and adjusting the utility function based on the fourth difference.