Patent ID: 7529903

Claim:
A method for auto-migration of data between multiple memory storage devices in a three tier memory system according to a Service Level Agreement (SLA), comprising: receiving notification that a new SLA is now a current SLA, the Service Level Agreement specifying service level requirement terms that are particular to a class of service among a set of classes of services, each class in the set having its own set of terms; storing the specified service level requirement terms of the current SLA, service level requirement terms comprising access time, access rates, file size, length of time to perform read, write and modify operations, and time of modification of blocks, files, and objects; providing three tiers of memory, a first tier comprising fast disk, a second tier comprising remote disk, and a third tier comprising magnetic tape, wherein associated with each tier are access time, access rate, file size, and time of modification of blocks, files and objects; detecting a peak use period and moving application program files to a higher, faster tier of memory, wherein the peak use period and reallocation of memory for the peak use period is specified by the current SLA; monitoring access of application program data stored in one or more of the multiple memory storage devices for one or more application programs, the monitoring including monitoring access times, access rates, file size, and modification times, to produce data comparable to service level requirements; comparing data obtained from monitoring access of blocks, files, and objects, to service level requirement data of the current SLA, the comparisons comprising comparing access times, access rates, file size and modification times; and automatically transferring application program data between multiple memory storage devices of the three tiers to achieve an allocation of the application program data among the plurality of multiple storage devices that meets service level requirements of the current SLA if the comparing shows that a new allocation of the application program data is needed to meet service level requirements.