US6269423B1 - Method and apparatus for providing improved caching for a virtual tape server - Google Patents

Method and apparatus for providing improved caching for a virtual tape server Download PDF

Info

Publication number
US6269423B1
US6269423B1 US09/078,181 US7818198A US6269423B1 US 6269423 B1 US6269423 B1 US 6269423B1 US 7818198 A US7818198 A US 7818198A US 6269423 B1 US6269423 B1 US 6269423B1
Authority
US
United States
Prior art keywords
time
logical volume
score
usage
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US09/078,181
Inventor
Gregory Tad Kishi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US09/078,181 priority Critical patent/US6269423B1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KISHI, GREGORY T.
Application granted granted Critical
Publication of US6269423B1 publication Critical patent/US6269423B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Definitions

  • This invention relates in general to data storage and processing, and more particularly to distributed storage servers.
  • VTS virtual tape server
  • a hierarchical storage systems such as a VTS
  • intensively used and frequently accessed data is stored in fast but expensive memory.
  • a fast memory is a direct access storage device (DASD).
  • DASD direct access storage device
  • less frequently accessed data is stored in less expensive but slower memory.
  • slower memory are tape drives and disk drive arrays.
  • the goal of the hierarchy is to obtain moderately priced, high-capacity storage while maintaining high-speed access to the stored information.
  • a host data interface In the VTS system, a host data interface, a DASD file buffer, and a number of tape devices are provided.
  • the host When the host writes a logical volume, or a file, to the VTS, the data is stored as a resident file on the DASD.
  • the DASD provides quick access to this data, it will eventually reach full capacity and a backup or secondary storage system will be needed.
  • An IBM 3590 tape cartridge is one example of a tape device that could be used as a backup or secondary storage system.
  • the logical volume data for a selected logical volume is removed from the DASD to free space for more logical volumes. If the selected logical volume has not already been appended to a tape cartridge or a physical volume, it is appended to a tape cartridge prior being removed from the DASD.
  • a file that has been appended to a tape and removed from the DASD is “migrated.”
  • a DASD file can be appended onto a tape cartridge with the original left on the DASD for possible cache hits.
  • a file that has been appended to a tape cartridge while its original is left on the DASD is said to be premigrated.
  • a cache hit occurs if the logical volume currently resides on the DASD. If the logical volume is not on the DASD, the storage manager determines which of the physical tape volumes contains the logical volume. The corresponding physical volume is then mounted on one of the tape devices, and the data for the logical volume is transferred back to the DASD from the tape (recall).
  • Tape servers may use an engine to move data between the DASD and tape drives in a virtual tape server (VTS) environment.
  • VTS virtual tape server
  • the IBM Virtual Tape Server (VTS) uses the IBM Adstar Distributed Storage Manager (ADSM) as its engine to move data between the DASD and IBM 3590 tape drives on the VTS.
  • ADSM IBM Adstar Distributed Storage Manager
  • the VTS uses the storage manager client on the DASD, e.g., the ADSM Hierarchical Storage Manager (HSM) client, and a distributed storage manager server attached to the tape drives to provide this function.
  • HSM Advanced Storage Manager
  • the logical volumes in the cache are managed on an FIFO (first in first out) or LRU (least recently used) algorithm.
  • FIFO first in first out
  • LRU least recently used
  • the present invention discloses a method and apparatus for improving caching for a virtual tape server.
  • the present invention solves the above-described problems by providing a method and apparatus for improving caching for a virtual tape server which makes assumptions to increase cache hits, but which does not under-perform a LRU algorithm when these assumptions prove to be incorrect.
  • a method in accordance with the principles of the present invention includes the steps of correlating logical volume usage to externally determined file characteristics to derive a usage history for cached logical volumes, maintaining a record of the usage history in time bins and managing the migration of the logical volumes according to the usage history and the externally determined file characteristics of the logical volume.
  • the step of correlating further includes the steps of associating the first logical volume with a logical volume type based on predefined characteristics, assigning a time bin for the type of the first logical volume based on the time of last access of the first logical volume therein, the time of the current access of the first logical volume, and based on the type assigned to the first logical volume at the time the first logical volume was last accessed and updating a usage count in the time bin for the type.
  • the method further includes the step of calculating a score for a logical volume based upon the size of the first logical volume, the age of the first logical volume, and the historic performance of the other volumes.
  • time bin has data associated therewith, the data in the time bin for the first logical volume being divided by a predetermined number to prevent overrun and to maintain weighted historic data when a total for all time bins reaches a predetermined threshold.
  • Another aspect of the present invention is that the score is updated periodically for any cached volume as the cached volume ages.
  • Another aspect of the present invention is that the score is updated periodically for all cached volumes.
  • the step of updating the score further comprises the steps of determining the age and type of each logical volume, selecting an mth time bucket for the logical volume, calculating a usage score for a time bucket, computing a time-weighted usage score for the time bucket and identifying a final score for the time bucket.
  • the usage score comprises calculating a usage score for all nth time buckets, n>m, wherein the mth time bucket is a current time bucket, and wherein the usage score comprises a scaling constant times the sum of the time buckets for the logical volume between n and m divided by the sum of all time buckets greater than or equal to m plus a number of misses.
  • the usage score is proportional to the percentage of cache hits when the cartridge is kept for n ⁇ m+1 time intervals.
  • time-weighted usage score for the nth time bucket is equal to the usage score for the nth bucket divided by n ⁇ m+1.
  • Another aspect of the present invention is that the final score for the logical volume is equal to the maximum of the time-weighted usage score for the nth time buckets.
  • the final score for the logical volume may be equal to the time-weighted usage score for the logical volume divided by the size of the logical volume.
  • Still another aspect of the present invention is that the method further includes the step of processing logical volumes having an age in excess of a predetermined maximum period, e.g., twenty-four hours, according to a size-weighted least recently used basis.
  • the method further includes the steps of assigning logical volumes having no historic data a 50% hit rate in the first time bucket, and setting the score equal to minus the age of the cartridge times its size, or assigning logical volumes having no historic data an average score for all logical volumes.
  • the step of managing the migration of the logical volumes according to the usage history and the externally determined file characteristics of the logical volume further comprises the step of migrating a logical volume having the lowest score first.
  • FIG. 1 illustrates a virtual tape server system 100 according to the present invention
  • FIG. 2 illustrates a flow chart of the management of logical volumes in the cache according to the present invention
  • FIG. 3 is a flow chart illustrating the calculations of the updated scores according to the present invention.
  • FIG. 4 illustrates a historic usage table
  • FIG. 5 illustrates the usage scoring for the 0-2 hour period
  • FIG. 6 illustrates the time-weighted scores for the files
  • FIG. 7 illustrates the maximum scores for the first and second volumes in the first period
  • FIG. 9 illustrates the total score summary
  • FIG. 10 is a block diagram that illustrates an exemplary hardware environment for performing the improved caching method according to the present invention.
  • the present invention provides a method and apparatus for improving caching for a virtual tape server which makes assumptions to increase cache hits, but which does not under-perform when these assumptions prove to be incorrect.
  • FIG. 1 illustrates a virtual tape server system 100 according to the present invention.
  • the virtual tape server attaches to a host computer 110 , and includes a distributed storage manager client 112 , an distributed storage manager server 114 , DASD cache 116 , a plurality of tape drives 118 forming an automated library 120 , a library manager 122 , an operating system 124 and an automatic storage manager administrator 126 .
  • VTS 100 intensively used and frequently accessed data is stored in fast but expensive memory, such as direct access storage devices (DASD) 116 .
  • DASD direct access storage devices
  • less frequently accessed data is stored in less expensive but slower memory, such as tape drives 118 .
  • a VTS 100 uses an engine 114 to move data between the DASD 116 and tape drives 118 .
  • the IBM Virtual Tape Server uses the IBM Adstar Distributed Storage Manager (ADSM) as its engine to move data between the DASD and IBM 3590 tape drives on the VTS.
  • the VTS 100 uses the a storage manager client 112 , e.g., the ADSM Hierarchical Storage Manager (HSM) client, and a distributed storage manager server 114 attached to the tape drives 118 to provide this function.
  • the library manager 122 via commands from the distributed storage manager server 114 , controls an accessor 142 which accesses individual tapes 144 .
  • the present invention assumes that files with different characteristics are used differently, that is the host usage of different files has different trends that can be correlated to some externally determined file characteristics. If this assumption is incorrect, as it could be for some customers, the algorithm will function like an LRU algorithm based upon gathered historical data. Therefore, in customers where these predetermined file characteristics have a high correlation with file usage, the method according to the present invention provides an improvement in the cache hit rate which out-performs the LRU algorithms. For those customers that do not have a high correlation, the method according to the present invention does not under-perform an LRU algorithm.
  • FIG. 2 illustrates a flow chart 200 of the management of logical volumes in the cache according to the present invention.
  • Each logical volume is associated with a “type” based on predefined characteristics 220 .
  • Characteristics 220 are used to sort out logical volume usage, assuming that volumes with similar characteristics will have different cache usage than volumes with different characteristics. Characteristics 220 that can be used are the day of the week the file was used, the time of day the file was used, the type of file usage (i.e., newly created, file not modified, file modified), the type of data usage (i.e., read only, write only, read-write), the number of megabytes of data transferred, and the length of time the file was resident on the virtual tape drive. Other attributes that can be useful are the dataset names in the file, the number of datasets used, etc.
  • a number of time bins are kept 230 .
  • One additional bin for each type of logical volumes keeps the count of the number of volumes that were not reaccessed within a 24 hour period.
  • the data in these bins are updated based on the time of last access of each individual logical volume, the time of the current access of the first logical volume, and based on the logical volumes type at the time it was last accessed 240 .
  • Data on the last use of specific logical volumes must only be kept up to the maximum time of the last timed bin—in this case 24 hours.
  • all the timed data for a particular type of logical volume is divided by 2 whenever the total entries in all the time bins reaches an appropriate threshold (based upon the maximum value for the data type used for each bin (i.e. integer, long, etc.)).
  • the usage score equals a scaling constant (for integer math) times the sum of all entries in buckets t(m) through t(n) inclusive, divided by the sum of all time bucket entries greater than or equal to m, i.e., t(m) through t(max) inclusive plus the number of “misses”.
  • This calculation provides a series of usage scores that is proportional to the percentage of cache hits if the cartridge were kept for n ⁇ m+1 time (2 hour) intervals. Because it is better to keep 2 cartridges that have a 50% chance of being used in 2 hours for 2 hours each (using 4 volume-hours in the cache) instead of 1 cartridge that has a 50% chance of being used in 4 hours for 4 hours (using the same 4 volume-hours), this usage score is time weighted 340 .
  • the new, time-weighted, usage score for each time bucket (score(n)) is equal to the usage score for that bucket divided by n ⁇ m+1, i.e., original score (n)/(n ⁇ m+1).
  • the time-weighted usage score for the logical volume is calculated as the maximum of the previously calculated, individual time-weighted usage scores for the nth time buckets.
  • the final score is calculated 350 .
  • the final score for the volume can be set to be equal to the time-weighted usage score for the volume divided by the volume size. For those volumes which have been in the cache for 24 hours, the score is set equal to minus the age of the cartridge times its size. This means that these cartridges will be processed on a size-weighted LRU basis. For those volumes with no historic data, we currently assume a 50% hit rate in the first time bucket, then set the score equal to minus the age of the cartridge times its size. Alternatively, the average cartridge data could be computed and used for this cartridge. Finally, the final score for the logical volume may be calculated to equal to the maximum of the time-weighted score for the nth time buckets.
  • the method according to the present invention learns because it builds tables on historic data, continually updating itself as new mounts occur. It is adaptive because it applies what is learned to change the scoring on specific types of logical volumes. If no historic difference is discerned between the various types of logical volumes, the data in the table will generate scores that will operate the cache on a size weighted LRU basis.
  • FIG. 4 illustrates a historic usage table 400 .
  • two files TypeA 410 and TypeB 420 , are shown.
  • the first file 410 is illustrated as being accessed ten times in the 0-2 hour period 430 and experienced ten misses 440 .
  • the second file 420 was accessed ten times in the 4-6 hour period 450 and also experienced ten misses 460 .
  • the present example assumes that the two files 410 , 420 were closed at the same time and that each files was a one megabyte file.
  • FIG. 5 illustrates the usage scoring 500 for the 0-2 hour period, i.e., demonstrating calculations for files that are 0-2 hours old in the cache. A scaling constant of 1000 is used.
  • the first file 510 has a usage score of five hundred 512 for the 0-2 hour 514 , 2-4 hour 516 , and the 4-6 hour 518 periods.
  • the time-weighted scores 600 for the files are shown in FIG. 6 .
  • FIG. 7 illustrates the maximum scores 710 , 712 for the first type 720 and second type 722 volumes for all the calculated periods.
  • FIG. 8 illustrates the usage scores 810 , time-weighted scores 820 and maximum scores 830 for the 2-4 period, representing calculations for files that are 2-4 hours old in the cache.
  • the usage score, time-weighted scores and maximum scores for the 4-6 period, representing calculations for files that are 4-6 hours old in the cache, are calculated similarly.
  • FIG. 9 illustrates the total score summary 900 .
  • the first file 910 has a final score of five hundred 912 if it has been in the cache for 0-2 hours 920 , zero 914 if it has been in the cache for 2-4 hours 922 and zero 916 if it has been in the cache for 4-6 hours 926 .
  • the second file 930 has a final score of one hundred sixty seven 940 if it has been in the cache for 0-2 hours 922 , two hundred fifty 942 if it has been in the cache for 2-4 hours 924 and five hundred 944 if it has been in the cache for 4-6 hours 926 .
  • An LRU cache would discard whichever volume closed first.
  • each volume has an equal chance of being discarded.
  • the present invention will ensure that the first file 910 is kept if one of the two volumes must be discarded within the first two hours, i.e., the 0-2 hour period 922 . Thereafter 922 - 926 , the second file 930 will be kept with the first file 910 being discarded, because the scores for the second file are larger than those of the first file in the 2-4 and 4-6 hour periods.
  • FIG. 10 is a block diagram 1000 that illustrates an exemplary hardware environment for performing the improved caching method according to the present invention.
  • the present invention is typically implemented using a computer 1010 comprised of a microprocessor, random access memory (RAM), read-only memory (ROM), and other components. It is envisioned that attached to the computer 1010 may be a monitor 1012 , floppy disk drives 1014 , and CD-ROM drives 1016 . Also included in the preferred embodiment may be input devices, for example, a mouse pointing device 1020 and a keyboard 1022 .
  • the computer 1010 operates under the control of an operating system 1024 , such as the Windows, OS/2, Macintosh, or UNIX operating systems, which is represented in FIG. 10 by the screen display on the monitor 1012 .
  • the computer 1010 executes one or more computer programs 1026 , which are represented in FIG. 10 by the “windows” displayed on the monitor 1012 , under the control of the operating system 1024 .
  • the present invention comprises a storage manager that is preferably implemented in the operating system 1024 and/or computer programs 1026 .
  • the operating system 1024 and the computer programs 1026 may be tangibly embodied in a computer-readable medium or carrier, e.g. one or more of the fixed and/or removable data storage devices 1014 and 1016 , or other data storage or data communications devices. Both the operating system 1024 and the computer programs 1026 may be loaded from the data storage devices 1014 and 1016 into the random access memory of the computer 1010 for execution by the microprocessor as discussed above with reference to FIG. 10 . Both the operating system 1024 and the computer programs 1026 comprise instructions which, when read and executed by the microprocessor of the computer 1010 , causes the computer 1010 to perform the steps necessary to execute the steps or elements of the present invention.
  • FIG. 10 Although an exemplary computer system configuration is illustrated in FIG. 10, those skilled in the art will recognize that any number of different configurations performing similar functions may be used in accordance with the present invention.
  • the present invention provides a method and apparatus for improving caching for a virtual tape server which makes assumptions to increase cache hits, but which does not under-perform a LRU algorithm when these assumptions prove to be incorrect.
  • the present invention assumes that files with different characteristics are used differently, that is the host usage of different files has different trends that can be correlated to some externally determined file characteristics. If this assumption is incorrect, the algorithm will function like an LRU algorithm based upon gathered historical data. Therefore, in customers where these predetermined file characteristics have a high correlation with file usage, the method according to the present invention provides an improvement in the cache hit rate which out-performs the LRU algorithms. For those customers that do not have a high correlation, the method according to the present invention does not under-perform an LRU algorithm.

Abstract

A method and apparatus for improving caching for a virtual tape server is disclosed. The method and apparatus improve caching by making assumptions to increase cache hits, but which do not cause the virtual tape server to under-perform when these assumptions prove to be incorrect. The method includes the steps of correlating logical volume usage to externally determined file characteristics to derive usage histories for cached logical volumes, maintaining a record of the histories for the files that share the same predefined characteristics, and managing the migration of the logical volumes according to the usage history and the externally determined file characteristics of the logical volume. The correlation is accomplished by associating the first logical volume with a logical volume type based on predefined characteristics, assigning a time bin for the type of the first logical volume based on the time of last access of the first logical volume therein and based on the type assigned to the first logical volume at the time the first logical volume was last accessed and updating a usage count in the time bin for the type. Scores for each logical volume in the cache are updated by determining the age and type of each logical volume, selecting appropriate time buckets for the logical volume, calculating a usage score for the time buckets, computing time-weighted usage scores for the time buckets and identifying a final score for the logical volume. The logical volume with the lowest score is the next volume to be discarded from the cache.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention.
This invention relates in general to data storage and processing, and more particularly to distributed storage servers.
2. Description of Related Art.
The implementation of new technology in magnetic tape products has meant that the density of data written to tape has increased by orders of magnitude in the last ten or fifteen years. The ability to record high density tapes, e.g., ten gigabytes or more on one physical volume, has led to reducing costs in physical tape hardware as well as in handling and management resources.
However, over the past five years, tape data set stacking products, i.e., software solutions to increase tape utilization, have evolved in response to the customer requirement for more efficient ways to manage the information stored on tape. To achieve increased capacity enablement, a virtual tape server (VTS) has been proposed. In a VTS, the hardware is transparent to the host and the user. The VTS requires little external management except though the library management element of the tape library into which a VTS is integrated.
In a hierarchical storage systems, such as a VTS, intensively used and frequently accessed data is stored in fast but expensive memory. One example of a fast memory is a direct access storage device (DASD). In contrast, less frequently accessed data is stored in less expensive but slower memory. Examples of slower memory are tape drives and disk drive arrays. The goal of the hierarchy is to obtain moderately priced, high-capacity storage while maintaining high-speed access to the stored information.
In the VTS system, a host data interface, a DASD file buffer, and a number of tape devices are provided. When the host writes a logical volume, or a file, to the VTS, the data is stored as a resident file on the DASD. Although the DASD provides quick access to this data, it will eventually reach full capacity and a backup or secondary storage system will be needed. An IBM 3590 tape cartridge is one example of a tape device that could be used as a backup or secondary storage system.
When the DASD fills to a predetermined threshold, the logical volume data for a selected logical volume, typically the oldest, is removed from the DASD to free space for more logical volumes. If the selected logical volume has not already been appended to a tape cartridge or a physical volume, it is appended to a tape cartridge prior being removed from the DASD. A file that has been appended to a tape and removed from the DASD is “migrated.” Optionally, any time prior to being removed from the DASD, a DASD file can be appended onto a tape cartridge with the original left on the DASD for possible cache hits. A file that has been appended to a tape cartridge while its original is left on the DASD is said to be premigrated.
When the host reads a logical volume from the VTS, a cache hit occurs if the logical volume currently resides on the DASD. If the logical volume is not on the DASD, the storage manager determines which of the physical tape volumes contains the logical volume. The corresponding physical volume is then mounted on one of the tape devices, and the data for the logical volume is transferred back to the DASD from the tape (recall).
Tape servers may use an engine to move data between the DASD and tape drives in a virtual tape server (VTS) environment. For example, the IBM Virtual Tape Server (VTS) uses the IBM Adstar Distributed Storage Manager (ADSM) as its engine to move data between the DASD and IBM 3590 tape drives on the VTS. In such a system, the VTS uses the storage manager client on the DASD, e.g., the ADSM Hierarchical Storage Manager (HSM) client, and a distributed storage manager server attached to the tape drives to provide this function.
Since recalls take a long time relative to “cache hits,” it would be preferably to have as many logical volumes as possible be cache hits. In order to accomplish this a logical volume caching method is used.
Typically the logical volumes in the cache are managed on an FIFO (first in first out) or LRU (least recently used) algorithm. However, each of these methods exhibits one or more disadvantages: the methods do not discern patterns, the methods are not adaptive, or the methods do not improve upon the cache hit rate.
It can be seen that there is a need for a method and apparatus for improving caching for a virtual tape server.
It can also be seen that there is a need for a method and apparatus for improving caching for a virtual tape server which makes assumptions to increase cache hits, but which does not under-perform a LRU algorithm when these assumptions prove to be incorrect.
SUMMARY OF THE INVENTION
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method and apparatus for improving caching for a virtual tape server.
The present invention solves the above-described problems by providing a method and apparatus for improving caching for a virtual tape server which makes assumptions to increase cache hits, but which does not under-perform a LRU algorithm when these assumptions prove to be incorrect.
A method in accordance with the principles of the present invention includes the steps of correlating logical volume usage to externally determined file characteristics to derive a usage history for cached logical volumes, maintaining a record of the usage history in time bins and managing the migration of the logical volumes according to the usage history and the externally determined file characteristics of the logical volume.
Other embodiments of a system in accordance with the principles of the invention may include alternative or optional additional aspects. One such aspect of the present invention is that the step of correlating further includes the steps of associating the first logical volume with a logical volume type based on predefined characteristics, assigning a time bin for the type of the first logical volume based on the time of last access of the first logical volume therein, the time of the current access of the first logical volume, and based on the type assigned to the first logical volume at the time the first logical volume was last accessed and updating a usage count in the time bin for the type.
Another aspect of the present invention is that the method further includes the step of calculating a score for a logical volume based upon the size of the first logical volume, the age of the first logical volume, and the historic performance of the other volumes.
Another aspect of the present invention is that the time bin has data associated therewith, the data in the time bin for the first logical volume being divided by a predetermined number to prevent overrun and to maintain weighted historic data when a total for all time bins reaches a predetermined threshold.
Another aspect of the present invention is that the score is updated periodically for any cached volume as the cached volume ages.
Another aspect of the present invention is that the score is updated periodically for all cached volumes.
Yet another aspect of the present invention is that the step of updating the score further comprises the steps of determining the age and type of each logical volume, selecting an mth time bucket for the logical volume, calculating a usage score for a time bucket, computing a time-weighted usage score for the time bucket and identifying a final score for the time bucket.
Another aspect of the present invention is that the usage score comprises calculating a usage score for all nth time buckets, n>m, wherein the mth time bucket is a current time bucket, and wherein the usage score comprises a scaling constant times the sum of the time buckets for the logical volume between n and m divided by the sum of all time buckets greater than or equal to m plus a number of misses.
Another aspect of the present invention is that the usage score is proportional to the percentage of cache hits when the cartridge is kept for n−m+1 time intervals.
Another aspect of the present invention is that the time-weighted usage score for the nth time bucket is equal to the usage score for the nth bucket divided by n−m+1.
Another aspect of the present invention is that the final score for the logical volume is equal to the maximum of the time-weighted usage score for the nth time buckets.
Another aspect of the present invention is that the final score for the logical volume may be equal to the time-weighted usage score for the logical volume divided by the size of the logical volume.
Still another aspect of the present invention is that the method further includes the step of processing logical volumes having an age in excess of a predetermined maximum period, e.g., twenty-four hours, according to a size-weighted least recently used basis.
Another aspect of the present invention is that the method further includes the steps of assigning logical volumes having no historic data a 50% hit rate in the first time bucket, and setting the score equal to minus the age of the cartridge times its size, or assigning logical volumes having no historic data an average score for all logical volumes.
Another aspect of the present invention is that the step of managing the migration of the logical volumes according to the usage history and the externally determined file characteristics of the logical volume further comprises the step of migrating a logical volume having the lowest score first.
These and various other advantages and features of novelty which characterize the invention are pointed out with particularity in the claims annexed hereto and form a part hereof. However, for a better understanding of the invention, its advantages, and the objects obtained by its use, reference should be made to the drawings which form a further part hereof, and to accompanying descriptive matter, in which there are illustrated and described specific examples of an apparatus in accordance with the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
FIG. 1 illustrates a virtual tape server system 100 according to the present invention;
FIG. 2 illustrates a flow chart of the management of logical volumes in the cache according to the present invention;
FIG. 3 is a flow chart illustrating the calculations of the updated scores according to the present invention;
FIG. 4 illustrates a historic usage table;
FIG. 5 illustrates the usage scoring for the 0-2 hour period;
FIG. 6 illustrates the time-weighted scores for the files;
FIG. 7 illustrates the maximum scores for the first and second volumes in the first period;
FIG. 8 illustrates the usage scores, time-weighted scores and maximum scores for the 2-4period;
FIG. 9 illustrates the total score summary; and
FIG. 10 is a block diagram that illustrates an exemplary hardware environment for performing the improved caching method according to the present invention.
DETAILED DESCRIPTION OF THE INVENTION
In the following description of the exemplary embodiment, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration the specific embodiment in which the invention may be practiced. It is to be understood that other embodiments may be utilized as structural changes may be made without departing from the scope of the present invention.
The present invention provides a method and apparatus for improving caching for a virtual tape server which makes assumptions to increase cache hits, but which does not under-perform when these assumptions prove to be incorrect.
FIG. 1 illustrates a virtual tape server system 100 according to the present invention. The virtual tape server attaches to a host computer 110, and includes a distributed storage manager client 112, an distributed storage manager server 114, DASD cache 116, a plurality of tape drives 118 forming an automated library 120, a library manager 122, an operating system 124 and an automatic storage manager administrator 126.
In the VTS 100, intensively used and frequently accessed data is stored in fast but expensive memory, such as direct access storage devices (DASD) 116. In contrast, less frequently accessed data is stored in less expensive but slower memory, such as tape drives 118.
A VTS 100 uses an engine 114 to move data between the DASD 116 and tape drives 118. For example, the IBM Virtual Tape Server (VTS) uses the IBM Adstar Distributed Storage Manager (ADSM) as its engine to move data between the DASD and IBM 3590 tape drives on the VTS. In such a system, the VTS 100 uses the a storage manager client 112, e.g., the ADSM Hierarchical Storage Manager (HSM) client, and a distributed storage manager server 114 attached to the tape drives 118 to provide this function. The library manager 122, via commands from the distributed storage manager server 114, controls an accessor 142 which accesses individual tapes 144.
Since recalls take a long time relative to “cache hits,” any improvement would ensure that the number of logical volumes that are cache hits is maximized. However, as mentioned above, prior storage managers managed the logical volumes in the cache on an FIFO (first in first out) or LRU (least recently used) algorithm. Accordingly, each of these methods exhibits one or more disadvantages: the methods do not discern patterns in the cache hits, the methods are not adaptive, or the methods do not improve upon the cache hit rate.
The present invention assumes that files with different characteristics are used differently, that is the host usage of different files has different trends that can be correlated to some externally determined file characteristics. If this assumption is incorrect, as it could be for some customers, the algorithm will function like an LRU algorithm based upon gathered historical data. Therefore, in customers where these predetermined file characteristics have a high correlation with file usage, the method according to the present invention provides an improvement in the cache hit rate which out-performs the LRU algorithms. For those customers that do not have a high correlation, the method according to the present invention does not under-perform an LRU algorithm.
FIG. 2 illustrates a flow chart 200 of the management of logical volumes in the cache according to the present invention. Each logical volume is associated with a “type” based on predefined characteristics 220.
These characteristics 220 are used to sort out logical volume usage, assuming that volumes with similar characteristics will have different cache usage than volumes with different characteristics. Characteristics 220 that can be used are the day of the week the file was used, the time of day the file was used, the type of file usage (i.e., newly created, file not modified, file modified), the type of data usage (i.e., read only, write only, read-write), the number of megabytes of data transferred, and the length of time the file was resident on the virtual tape drive. Other attributes that can be useful are the dataset names in the file, the number of datasets used, etc.
Every time a file is used, its type is determined, and its time of last usage is stored. If the file is not used within a specified maximum period, an entry in the “miss” bucket for that type of file is incremented and the entry for the file is discarded. If the file is used within the maximum time period, the appropriate time bucket for the type of file is incremented, the old entry for the file is discarded, and a new entry for the type of file representing the current usage of the file is stored.
For each type of logical volume a number of time bins are kept 230. For instance in the IBM VTS, 12 time bins are kept, each representing the number of volumes of each type that were reaccessed in 2 hour intervals (e.g. bin0=bin0-2 hr, bin1=2-4 hr, etc.). One additional bin for each type of logical volumes keeps the count of the number of volumes that were not reaccessed within a 24 hour period.
As mounts are processed, the data in these bins are updated based on the time of last access of each individual logical volume, the time of the current access of the first logical volume, and based on the logical volumes type at the time it was last accessed 240. Data on the last use of specific logical volumes must only be kept up to the maximum time of the last timed bin—in this case 24 hours. To prevent overrun, and to maintain weighted historic data, all the timed data for a particular type of logical volume is divided by 2 whenever the total entries in all the time bins reaches an appropriate threshold (based upon the maximum value for the data type used for each bin (i.e. integer, long, etc.)).
FIG. 3 is a flow chart 300 illustrating the calculations of the scores according to the present invention. The updates to the scores can be performed every two hours for any cached volume as it ages in the cache, or periodically for all cached volumes. First, the age and type of each logical volume is determined 310 and the appropriate time bucket is selected 320. For that time bucket (t(m)), and for every time bucket (t(n)) up to and including the 24 hour bucket t(max), a usage score (score(n)) is calculated 330. The usage score equals a scaling constant (for integer math) times the sum of all entries in buckets t(m) through t(n) inclusive, divided by the sum of all time bucket entries greater than or equal to m, i.e., t(m) through t(max) inclusive plus the number of “misses”.
This calculation provides a series of usage scores that is proportional to the percentage of cache hits if the cartridge were kept for n−m+1 time (2 hour) intervals. Because it is better to keep 2 cartridges that have a 50% chance of being used in 2 hours for 2 hours each (using 4 volume-hours in the cache) instead of 1 cartridge that has a 50% chance of being used in 4 hours for 4 hours (using the same 4 volume-hours), this usage score is time weighted 340. The new, time-weighted, usage score for each time bucket (score(n)) is equal to the usage score for that bucket divided by n−m+1, i.e., original score (n)/(n−m+1). The time-weighted usage score for the logical volume is calculated as the maximum of the previously calculated, individual time-weighted usage scores for the nth time buckets.
Optionally, because smaller volumes occupy less space in the cache and more volumes in the cache leads to a higher hit count, the final score is calculated 350. The final score for the volume can be set to be equal to the time-weighted usage score for the volume divided by the volume size. For those volumes which have been in the cache for 24 hours, the score is set equal to minus the age of the cartridge times its size. This means that these cartridges will be processed on a size-weighted LRU basis. For those volumes with no historic data, we currently assume a 50% hit rate in the first time bucket, then set the score equal to minus the age of the cartridge times its size. Alternatively, the average cartridge data could be computed and used for this cartridge. Finally, the final score for the logical volume may be calculated to equal to the maximum of the time-weighted score for the nth time buckets.
In this manner a single score value can be used to manage the volumes in the cache, with the lowest score volume being discarded whenever space is needed in the cache. The method according to the present invention learns because it builds tables on historic data, continually updating itself as new mounts occur. It is adaptive because it applies what is learned to change the scoring on specific types of logical volumes. If no historic difference is discerned between the various types of logical volumes, the data in the table will generate scores that will operate the cache on a size weighted LRU basis.
The present invention is described further herein below with reference to one example. FIG. 4 illustrates a historic usage table 400. In FIG. 4, two files, TypeA 410 and TypeB 420, are shown. The first file 410 is illustrated as being accessed ten times in the 0-2 hour period 430 and experienced ten misses 440. The second file 420 was accessed ten times in the 4-6 hour period 450 and also experienced ten misses 460. The present example assumes that the two files 410, 420 were closed at the same time and that each files was a one megabyte file.
FIG. 5 illustrates the usage scoring 500 for the 0-2 hour period, i.e., demonstrating calculations for files that are 0-2 hours old in the cache. A scaling constant of 1000 is used. In FIG. 5, the first file 510 has a usage score of five hundred 512 for the 0-2 hour 514, 2-4 hour 516, and the 4-6 hour 518 periods. The usage score of the first file 510 for the three periods 514, 516, 518 are calculated as follows: 0 - 2 hour = 10 10 ( 0 - 24 hour ) + 10 ( misses ) × 1000 ; 2 - 4 hour = 10 + 0 10 ( 0 - 24 hour ) + 10 ( misses ) × 1000 ; 4 - 6 hour = 10 + 0 + 0 10 ( 0 - 24 hour ) + 10 ( misses ) × 1000.
Figure US06269423-20010731-M00001
The usage score of the second file 520 for the three periods 514, 516, 518 are calculated as follows: 0 - 2 hour = 10 10 ( 0 - 24 hour ) + 10 ( misses ) × 1000 ; 2 - 4 hour = 0 + 0 10 ( 0 - 24 hour ) + 10 ( misses ) × 1000 ; 4 - 6 hour = 0 + 0 + 10 10 ( 0 - 24 hour ) + 10 ( misses ) × 1000.
Figure US06269423-20010731-M00002
The time-weighted scores 600 for the files are shown in FIG. 6. The time-weighted scores 600 for the first file 610 are calculated as follows: 0 - 2 hour = 500 1 = 500 ; 2 - 4 hour = 500 2 = 250 ; 4 - 6 hour = 500 3 = 167.
Figure US06269423-20010731-M00003
The time weighted scores for the second file 620 are calculated as follows: 0 - 2 hour = 0 1 = 0 ; 2 - 4 hour = 0 2 = 0 ; 4 - 6 hour = 500 3 = 167.
Figure US06269423-20010731-M00004
FIG. 7 illustrates the maximum scores 710, 712 for the first type 720 and second type 722 volumes for all the calculated periods.
FIG. 8 illustrates the usage scores 810, time-weighted scores 820 and maximum scores 830 for the 2-4 period, representing calculations for files that are 2-4 hours old in the cache. The usage score, time-weighted scores and maximum scores for the 4-6 period, representing calculations for files that are 4-6 hours old in the cache, are calculated similarly.
FIG. 9 illustrates the total score summary 900. The first file 910 has a final score of five hundred 912 if it has been in the cache for 0-2 hours 920, zero 914 if it has been in the cache for 2-4 hours 922 and zero 916 if it has been in the cache for 4-6 hours 926. The second file 930 has a final score of one hundred sixty seven 940 if it has been in the cache for 0-2 hours 922, two hundred fifty 942 if it has been in the cache for 2-4 hours 924 and five hundred 944 if it has been in the cache for 4-6 hours 926. An LRU cache would discard whichever volume closed first. In this LRU cache, assuming simultaneous closing for illustrative purposes, each volume has an equal chance of being discarded. The present invention will ensure that the first file 910 is kept if one of the two volumes must be discarded within the first two hours, i.e., the 0-2 hour period 922. Thereafter 922-926, the second file 930 will be kept with the first file 910 being discarded, because the scores for the second file are larger than those of the first file in the 2-4 and 4-6 hour periods.
FIG. 10 is a block diagram 1000 that illustrates an exemplary hardware environment for performing the improved caching method according to the present invention. The present invention is typically implemented using a computer 1010 comprised of a microprocessor, random access memory (RAM), read-only memory (ROM), and other components. It is envisioned that attached to the computer 1010 may be a monitor 1012, floppy disk drives 1014, and CD-ROM drives 1016. Also included in the preferred embodiment may be input devices, for example, a mouse pointing device 1020 and a keyboard 1022.
The computer 1010 operates under the control of an operating system 1024, such as the Windows, OS/2, Macintosh, or UNIX operating systems, which is represented in FIG. 10 by the screen display on the monitor 1012. The computer 1010 executes one or more computer programs 1026, which are represented in FIG. 10 by the “windows” displayed on the monitor 1012, under the control of the operating system 1024. The present invention comprises a storage manager that is preferably implemented in the operating system 1024 and/or computer programs 1026.
Generally, the operating system 1024 and the computer programs 1026 may be tangibly embodied in a computer-readable medium or carrier, e.g. one or more of the fixed and/or removable data storage devices 1014 and 1016, or other data storage or data communications devices. Both the operating system 1024 and the computer programs 1026 may be loaded from the data storage devices 1014 and 1016 into the random access memory of the computer 1010 for execution by the microprocessor as discussed above with reference to FIG. 10. Both the operating system 1024 and the computer programs 1026 comprise instructions which, when read and executed by the microprocessor of the computer 1010, causes the computer 1010 to perform the steps necessary to execute the steps or elements of the present invention.
Although an exemplary computer system configuration is illustrated in FIG. 10, those skilled in the art will recognize that any number of different configurations performing similar functions may be used in accordance with the present invention.
In summary, the present invention provides a method and apparatus for improving caching for a virtual tape server which makes assumptions to increase cache hits, but which does not under-perform a LRU algorithm when these assumptions prove to be incorrect. The present invention assumes that files with different characteristics are used differently, that is the host usage of different files has different trends that can be correlated to some externally determined file characteristics. If this assumption is incorrect, the algorithm will function like an LRU algorithm based upon gathered historical data. Therefore, in customers where these predetermined file characteristics have a high correlation with file usage, the method according to the present invention provides an improvement in the cache hit rate which out-performs the LRU algorithms. For those customers that do not have a high correlation, the method according to the present invention does not under-perform an LRU algorithm.
The foregoing description of the exemplary embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not with this detailed description, but rather by the claims appended hereto.

Claims (45)

What is claimed is:
1. A method for improving caching in a virtual tape system, comprising the steps of:
correlating logical volume usage to externally determined file characteristics to derive a usage history for cached logical volumes; wherein the step of correlating further comprises the steps of:
associating the first logical volume with a logical volume type based on predefined characteristics;
assigning a time bin for the type of the first logical volume based on the time of last access of the first logical volume therein, the time of current access of the first logical volume and based on the type assigned to the first logical volume at the time the first logical volume was last accessed; and
updating a usage count in the time bin for the type;
maintaining a record of the usage history in time bins; and
managing the migration of the logical volumes according to the usage history and the externally determined file characteristics of the logical volume.
2. The method of claim 1 further comprising the step of calculating a score for a logical volume based upon the size of the first logical volume, the age of the first logical volume, and the historic performance of the other volumes.
3. The method of claim 2 wherein the time bin has data associated therewith, the data in the time bin for the first logical volume being divided by a predetermined number to prevent overrun and to maintain weighted historic data when a total for all time bins reaches a predetermined threshold.
4. The method of claim 2 wherein the score is updated periodically for any cached volume as the cached volume ages.
5. The method of claim 2 wherein the score is updated periodically for all cached volumes.
6. The method of claim 2 wherein the step of updating the score further comprises the steps of:
determining the age and type of each logical volume;
selecting a time bucket for the logical volume;
calculating a usage score for the time bucket;
computing a time-weighted usage score for the time bucket; and
identifying a final score for the time bucket.
7. The method of claim 5 wherein the usage score comprises calculating a usage score for all nth time buckets, n>m, wherein the mth time bucket is a current time bucket, and wherein the usage score comprises a scaling constant times the sum of the time buckets for the logical volume between n and m divided by the sum of all time buckets greater than or equal to m plus a number of misses.
8. The method of claim 6 wherein the usage score is proportional to the percentage of cache hits when the cartridge is kept for n−m+1 time intervals.
9. The method of claim 6 wherein the time-weighted usage score for the nth time bucket is equal to the usage score for the nth bucket divided by n−m+l.
10. The method of claim 6 wherein the final score for the logical volume is equal to the maximum of the time-weighted usage score for the nth time buckets.
11. The method of claim 6 wherein the final score for the logical volume is equal to the time-weighted usage score for the logical volume divided by the size of the logical volume.
12. The method of claim 2 further comprising the step of processing logical volumes having an age in excess of a predetermined maximum period according to a size-weighted least recently used basis.
13. The method of claim 2 further comprising the steps of assigning logical volumes having no historic data a 50% hit rate in the first time bucket, and setting the score equal to minus the age of the cartridge times its size.
14. The method of claim 2 further comprising the step of assigning logical volumes having no historic data an average score for all logical volumes.
15. The method of claim 2 wherein the step of managing the migration of the logical volumes according to the usage history and the externally determined file characteristics of the logical volume further comprises the step of migrating a logical volume having the lowest score first.
16. An article of manufacture for a computer-based user-interface, the article of manufacture comprising a computer readable medium having instructions for causing a computer to perform a method comprising the steps of:
correlating logical volume usage to externally determined file characteristics to derive a usage history for cached logical volumes; wherein the step of correlating further comprises the steps of:
associating the first logical volume with a logical volume type based on predefined characteristics;
assigning a time bin for the type of the first logical volume based on the time of last access of the first logical volume therein, the time of current access of the first logical volume and based on the type assigned to the first logical volume at the time the first logical volume was last accessed; and
updating a usage count in the time bin for the type;
maintaining a record of the usage history in time bins; and
managing the migration of the logical volumes according to the usage history and the externally determined file characteristics of the logical volume.
17. The article of manufacture of claim 15 further comprising the step of calculating a score for a logical volume based upon the size of the first logical volume, the age of the first logical volume, and the historic performance of the other volumes.
18. The article of manufacture of claim 16 wherein the time bin has data associated therewith, the data in the time bin for the first logical volume being divided by a predetermined number to prevent overrun and to maintain weighted historic data when a total for all time bins reaches a predetermined threshold.
19. The article of manufacture of claim 16 wherein the score is updated periodically for any cached volume as the cached volume ages.
20. The article of manufacture of claim 16 wherein the score is updated periodically for all cached volumes.
21. The article of manufacture of claim 16 wherein the step of updating the score further comprises the steps of:
determining the age and type of each logical volume;
selecting a time bucket for the logical volume;
calculating a usage score for the time bucket;
computing a time-weighted usage score for the time bucket; and
identifying a final score for the time bucket.
22. The article of manufacture of claim 19 wherein the usage score comprises calculating a usage score for all nth time buckets, n>m, wherein the mth time bucket is a current time bucket, and wherein the usage score comprises a scaling constant times the sum of the time buckets for the logical volume between n and m divided by the sum of all time buckets greater than or equal to m plus a number of misses.
23. The article of manufacture of claim 20 wherein the usage score is proportional to the percentage of cache hits when the cartridge is kept for n−m+1 time intervals.
24. The article of manufacture of claim 20 wherein the time-weighted usage score for the nth time bucket is equal to the usage score for the nth bucket divided by n−m+1.
25. The article of manufacture of claim 20 wherein the final score for the logical volume is equal to the maximum of the time-weighted usage score for the nth time buckets.
26. The article of manufacture of claim 20 wherein the final score for the logical volume is equal to the time-weighted usage score for the logical volume divided by the size of the logical volume.
27. The article of manufacture of claim 16 further comprising the step of processing logical volumes having an age in excess of a predetermined maximum period according to a size-weighted least recently used basis.
28. The article of manufacture of claim 16 further comprising the steps of assigning logical volumes having no historic data a 50% hit rate in the first time bucket, and setting the score equal to minus the age of the cartridge times its size.
29. The article of manufacture of claim 16 further comprising the step of assigning logical volumes having no historic data an average score for all logical volumes.
30. The article of manufacture of claim 16 wherein the step of managing the migration of the logical volumes according to the usage history and the externally determined file characteristics of the logical volume further comprises the step of migrating a logical volume having the lowest score first.
31. A virtual tape server, comprising:
primary storage media for storing intensively used and frequently accesses data, the data being transferred to the primary storage media as logical volumes;
secondary storage media, coupled to the primary storage media, for storing less frequently accesses logical volumes and forming a library;
a library manager, coupled to the secondary storage media, for controlling access to the logical volumes stored on the secondary storage media;
a distributed storage manager, operatively coupled to the primary and secondary storage media, for moving logical volumes between the primary and secondary storage media, the distributed storage manager further comprising a distributed storage manager server and a hierarchical storage manager client; and
an automatic storage manager administrator, coupled to the distributed storage manager, for controlling the distributed storage manager, the automatic storage manager administrator managing the caching of logical volumes in the virtual tape system by correlating logical volume usage to externally determined file characteristics to derive a usage history for cached logical volumes, maintaining a record of the usage history in time bins and managing the migration of the logical volumes according to the usage history and the externally determined file characteristics of the logical volume; wherein the automatic storage manager administrator further correlates logical volume usage to externally determined file characteristics by associating the first logical volume with a logical volume type based on predefined characteristics, assigning a time bin for the type of the first logical volume based on the time of last access of the first logical volume therein, the time of current access of the first logical volume and based on the type assigned to the first logical volume at the time the first logical volume was last accesses and updating a usage count in the time bin for the type.
32. The virtual tape server of claim 29 wherein the automatic storage manager calculates a score for a logical volume based upon the size of the first logical volume, the age of the first logical volume, and the historic performance of the other volumes.
33. The virtual tape server of claim 30 wherein the time bin has data associated therewith, the data in the time bin for the first logical volume is divided by a predetermined number to prevent overrun and to maintain weighted historic data when a total for all time bins reaches a predetermined threshold.
34. The virtual tape server of claim 30 wherein the score is updated periodically for any cached volume as the cache volume ages.
35. The virtual tape server of claim 30 wherein the score is updated periodically for all cached volumes.
36. The virtual tape server of claim 30 wherein the automatic storage manager administrator further comprises:
means for determining the age and type of each logical volume;
means for selecting a time bucket for the logical volume;
means for calculating a usage score for the time bucket;
means for computing a time-weighted usage score for the time bucket; and
means for identifying a final score for the time bucket.
37. The virtual tape server of claim 33 wherein the calculating means calculates a usage score for all nth time buckets, n>m, wherein the mth time bucket is a current time bucket, and wherein the usage score comprises a scaling constant times the sum of the time buckets for the logical volume between n and m divided by the sum of all time buckets greater than or equal to m plus a number of misses.
38. The virtual tape server of claim 34 wherein the usage score is proportional to the percentage of cache hits when the cartridge is kept for n−m+1 time intervals.
39. The virtual tape server of claim 34 wherein the time-weighted usage score for the nth time bucket is equal to the usage score for the nth bucket divided by n−m+1.
40. The virtual tape server of claim 34 wherein the final score for the logical volume is equal to the maximum of the time-weighted usage score for the nth time buckets.
41. The virtual tape server of claim 34 wherein the final score for the logical volume is equal to the time-weighted usage score for the logical volume divided by the size of the logical volume.
42. The virtual tape server of claim 30 wherein the automatic storage manager administrator processes logical volumes having an age in excess of a predetermined maximum period according to a size-weighted least recently used basis.
43. The virtual tape server of claim 30 wherein the automatic storage manager administrator assigns logical volumes having no historic data a 50% hit rate in the first time bucket, and sets the score equal to minus the age of the cartridge times its size.
44. The virtual tape server of claim 30 wherein the automatic storage manager administrator assigns logical volumes having no historic data an average score for all logical volumes.
45. The virtual tape server of claim 30 wherein the automatic storage manager administrator migrates logical volumes having the lowest score first.
US09/078,181 1998-05-13 1998-05-13 Method and apparatus for providing improved caching for a virtual tape server Expired - Fee Related US6269423B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/078,181 US6269423B1 (en) 1998-05-13 1998-05-13 Method and apparatus for providing improved caching for a virtual tape server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/078,181 US6269423B1 (en) 1998-05-13 1998-05-13 Method and apparatus for providing improved caching for a virtual tape server

Publications (1)

Publication Number Publication Date
US6269423B1 true US6269423B1 (en) 2001-07-31

Family

ID=22142439

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/078,181 Expired - Fee Related US6269423B1 (en) 1998-05-13 1998-05-13 Method and apparatus for providing improved caching for a virtual tape server

Country Status (1)

Country Link
US (1) US6269423B1 (en)

Cited By (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6507893B2 (en) * 2001-01-26 2003-01-14 Dell Products, L.P. System and method for time window access frequency based caching for memory controllers
US20030236942A1 (en) * 2002-06-20 2003-12-25 International Business Machines Corporation Method, system, and article of manufacture for optimizing storage utilization
US20040024919A1 (en) * 2002-08-02 2004-02-05 Alacritus, Inc. Protectable data storage system and a method of protecting and/or managing a data storage system
US20040034811A1 (en) * 2002-08-14 2004-02-19 Alacritus, Inc. Method and system for copying backup data
US20040044706A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Method and system for providing a file system overlay
US20040044844A1 (en) * 2002-08-29 2004-03-04 International Business Machines Corporation Apparatus and method to form one or more premigration aggregates comprising a plurality of least recently accessed virtual volumes
US20040045002A1 (en) * 2000-10-05 2004-03-04 Ricardo Berger Method system and apparatus for multiprocessing
US20040044701A1 (en) * 2002-08-29 2004-03-04 International Business Machines Corporation Method and apparatus for recovery of the association of construct definitions with logical volumes in a virtual tape server
US20040044842A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. System and method for exporting a virtual tape
US20040044828A1 (en) * 2002-08-29 2004-03-04 International Business Machines Corporation Method and apparatus for read-only recovery in a dual copy storage system
US20040044863A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Method of importing data from a physical data storage device into a virtual tape library
US20040044705A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Optimized disk repository for the storage and retrieval of mostly sequential data
US20040044845A1 (en) * 2002-08-29 2004-03-04 Gibble Kevin L. Apparatus and method to assign pseudotime attributes to one or more logical volumes
US20040044830A1 (en) * 2002-08-29 2004-03-04 Gibble Kevin Lee System, method, and apparatus for logical volume duplexing in a virtual tape system
WO2004021161A2 (en) * 2002-08-29 2004-03-11 International Business Machines Corporation Maintaining information in one or more virtual volume aggregates comprising a plurality of virtual volumes
US20040073624A1 (en) * 2002-10-15 2004-04-15 International Business Machines Corporation Apparatus and method to manage and copy computer files
US20040078639A1 (en) * 2002-08-29 2004-04-22 Josephina Anna Method and apparatus for recovery of a logical volume in a multi copy storage system
US20040111251A1 (en) * 2002-12-09 2004-06-10 Alacritus, Inc. Method and system for emulating tape libraries
US20040153739A1 (en) * 2002-12-09 2004-08-05 Alacritus, Inc. Method and system for creating and using removable disk based copies of backup data
US20040181628A1 (en) * 2003-03-12 2004-09-16 Alacritus, Inc. System and method for virtual vaulting
US20040230724A1 (en) * 2003-05-14 2004-11-18 Roger Stager Method and system for data compression and compression estimation in a virtual tape library environment
US20050055512A1 (en) * 2003-09-05 2005-03-10 Kishi Gregory Tad Apparatus, system, and method flushing data from a cache to secondary storage
US20050066116A1 (en) * 2003-09-05 2005-03-24 International Business Machines Corporation Apparatus and method to write information to two virtual tape servers
US20050114573A1 (en) * 2003-11-20 2005-05-26 International Business Machines Corporation Apparatus and method to provide information from a first information storage and retrieval system to a second information storage and retrieval system
US20050114624A1 (en) * 2003-11-20 2005-05-26 International Business Machines Corporation Apparatus and method to control access to logical volumes
US20050114591A1 (en) * 2003-11-20 2005-05-26 International Business Machines Corporation Apparatus and method to control access to logical volumes using parallel access volumes
US20050114465A1 (en) * 2003-11-20 2005-05-26 International Business Machines Corporation Apparatus and method to control access to logical volumes using one or more copy services
US20050171979A1 (en) * 2004-02-04 2005-08-04 Alacritus, Inc. Method and system for maintaining data in a continuous data protection system
US20050182891A1 (en) * 2004-02-13 2005-08-18 International Business Machines Corporation Apparatus and method to implement retry algorithms when providing information from a primary storage system to a remote storage system
US20050182953A1 (en) * 2004-02-04 2005-08-18 Alacritus, Inc. Method and system for browsing objects on a protected volume in a continuous data protection system
US20050188256A1 (en) * 2004-02-04 2005-08-25 Alacritus, Inc. Method and system for data recovery in a continuous data protection system
US20050193272A1 (en) * 2004-02-04 2005-09-01 Alacritus, Inc. Method and system for storing data using a continuous data protection system
US20050193236A1 (en) * 2004-02-04 2005-09-01 Alacritus, Inc. Method and apparatus for managing backup data
US20050193244A1 (en) * 2004-02-04 2005-09-01 Alacritus, Inc. Method and system for restoring a volume in a continuous data protection system
US20050216536A1 (en) * 2004-02-04 2005-09-29 Alacritus, Inc. Method and system for backing up data
US20050227569A1 (en) * 2001-09-03 2005-10-13 Matsushita Electric Industrial Co., Ltd. Light-emitting semiconductor device, light-emitting system and method for fabricating light-emitting semiconductor device
US20060087923A1 (en) * 2004-10-22 2006-04-27 Jones Carl E Apparatus and method to install a component in an information storage and retrieval system
US20060095547A1 (en) * 2004-11-08 2006-05-04 International Business Machines Corporation Storage configuration loader using cache for fast retrieval of storage configurations
US20060101220A1 (en) * 2004-11-08 2006-05-11 Cohn Jeremy A Apparatus and method to validate the configuration of an information storage and retrieval system
US20060100982A1 (en) * 2004-11-08 2006-05-11 International Business Machines Corporation Storage configuration loader with automatic error recovery
US20060112173A1 (en) * 2004-11-08 2006-05-25 Internatonal Business Machines Corporation Storage configuration loader
US20060126468A1 (en) * 2004-12-14 2006-06-15 Network Appliance, Inc. Method and apparatus for verifiably migrating WORM data
US20060143443A1 (en) * 2004-02-04 2006-06-29 Alacritus, Inc. Method and apparatus for deleting data upon expiration
US20060143476A1 (en) * 2004-12-14 2006-06-29 Mcgovern William P Disk sanitization using encryption
US20060195493A1 (en) * 2004-02-04 2006-08-31 Network Appliance, Inc. Method and system for remote data recovery
US20060293767A1 (en) * 2005-06-28 2006-12-28 Eischeid Todd M Policy based automation rule selection control system
US20070073964A1 (en) * 2005-09-26 2007-03-29 Dawson Erika M Method and apparatus for handling multi-volume datasets in a tape storage system
US20070083727A1 (en) * 2005-10-06 2007-04-12 Network Appliance, Inc. Maximizing storage system throughput by measuring system performance metrics
US20070118693A1 (en) * 2005-11-19 2007-05-24 International Business Machines Cor Method, apparatus and computer program product for cache restoration in a storage system
US20070161248A1 (en) * 2005-11-23 2007-07-12 Christenson Kurt K Process for removing material from substrates
US20080021993A1 (en) * 2006-07-20 2008-01-24 Compton Matthew C Automated Discovery and Configuration of Components on a Computer Network
US20080250197A1 (en) * 2007-04-05 2008-10-09 International Business Machines Corporation Physical Tape Interchange Format
US7467131B1 (en) * 2003-09-30 2008-12-16 Google Inc. Method and system for query data caching and optimization in a search engine system
US20080313403A1 (en) * 2007-06-14 2008-12-18 Niranjan Thirumale N Apparatus, system, and method for selecting an input/output tape volume cache
US7526620B1 (en) 2004-12-14 2009-04-28 Netapp, Inc. Disk sanitization in an active file system
US7558839B1 (en) 2004-12-14 2009-07-07 Netapp, Inc. Read-after-write verification for improved write-once-read-many data storage
US7650533B1 (en) 2006-04-20 2010-01-19 Netapp, Inc. Method and system for performing a restoration in a continuous data protection system
US7752401B2 (en) 2006-01-25 2010-07-06 Netapp, Inc. Method and apparatus to automatically commit files to WORM status
US8028135B1 (en) 2004-09-01 2011-09-27 Netapp, Inc. Method and apparatus for maintaining compliant storage
US20120131280A1 (en) * 2010-11-24 2012-05-24 International Business Machines Corporation Systems and methods for backing up storage volumes in a storage system
US8271736B2 (en) 2008-02-07 2012-09-18 International Business Machines Corporation Data block frequency map dependent caching
US20180302473A1 (en) * 2017-04-14 2018-10-18 Quantum Corporation Network attached device for accessing removable storage media

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
US4811203A (en) 1982-03-03 1989-03-07 Unisys Corporation Hierarchial memory system with separate criteria for replacement and writeback without replacement
US5043885A (en) 1989-08-08 1991-08-27 International Business Machines Corporation Data cache using dynamic frequency based replacement and boundary criteria
US5155835A (en) * 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5513336A (en) 1992-06-04 1996-04-30 Emc Corporation System and method for determining when and what position in cache memory to store data elements utilizing least and last accessed data replacement method
US5619675A (en) 1994-06-14 1997-04-08 Storage Technology Corporation Method and apparatus for cache memory management using a two level scheme including a bit mapped cache buffer history table and circular cache buffer list
US5737141A (en) * 1993-12-04 1998-04-07 Hewlett-Packard Company Retrieving data recorded at different bit densities
US5809511A (en) * 1997-01-02 1998-09-15 International Business Machines Corporation Outboard data migration in a volume stacking library
US5911148A (en) * 1997-05-29 1999-06-08 International Business Machines Corporation Automated message processing system configured for automated tape device management

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
US4811203A (en) 1982-03-03 1989-03-07 Unisys Corporation Hierarchial memory system with separate criteria for replacement and writeback without replacement
US5043885A (en) 1989-08-08 1991-08-27 International Business Machines Corporation Data cache using dynamic frequency based replacement and boundary criteria
US5155835A (en) * 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
US5513336A (en) 1992-06-04 1996-04-30 Emc Corporation System and method for determining when and what position in cache memory to store data elements utilizing least and last accessed data replacement method
US5737141A (en) * 1993-12-04 1998-04-07 Hewlett-Packard Company Retrieving data recorded at different bit densities
US5619675A (en) 1994-06-14 1997-04-08 Storage Technology Corporation Method and apparatus for cache memory management using a two level scheme including a bit mapped cache buffer history table and circular cache buffer list
US5809511A (en) * 1997-01-02 1998-09-15 International Business Machines Corporation Outboard data migration in a volume stacking library
US5911148A (en) * 1997-05-29 1999-06-08 International Business Machines Corporation Automated message processing system configured for automated tape device management

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Direct Access Storage Device Cache Segment Management," IBM(R) Technical Disclosure Bulletin, 37(08):473-477 (Aug. 1994).
"Direct Access Storage Device Cache Segment Management," IBM® Technical Disclosure Bulletin, 37(08):473-477 (Aug. 1994).

Cited By (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040045002A1 (en) * 2000-10-05 2004-03-04 Ricardo Berger Method system and apparatus for multiprocessing
US6507893B2 (en) * 2001-01-26 2003-01-14 Dell Products, L.P. System and method for time window access frequency based caching for memory controllers
US20050227569A1 (en) * 2001-09-03 2005-10-13 Matsushita Electric Industrial Co., Ltd. Light-emitting semiconductor device, light-emitting system and method for fabricating light-emitting semiconductor device
US6868478B2 (en) 2002-06-20 2005-03-15 International Business Machines Corporation Method, system, and article of manufacture for optimizing storage utilization
US20030236942A1 (en) * 2002-06-20 2003-12-25 International Business Machines Corporation Method, system, and article of manufacture for optimizing storage utilization
US20040024919A1 (en) * 2002-08-02 2004-02-05 Alacritus, Inc. Protectable data storage system and a method of protecting and/or managing a data storage system
US7454529B2 (en) 2002-08-02 2008-11-18 Netapp, Inc. Protectable data storage system and a method of protecting and/or managing a data storage system
US20040034811A1 (en) * 2002-08-14 2004-02-19 Alacritus, Inc. Method and system for copying backup data
US7069466B2 (en) 2002-08-14 2006-06-27 Alacritus, Inc. Method and system for copying backup data
US6938120B2 (en) 2002-08-29 2005-08-30 International Business Machines Corporation Apparatus and method to form one or more premigration aggregates comprising a plurality of least recently accessed virtual volumes
US7020755B2 (en) 2002-08-29 2006-03-28 International Business Machines Corporation Method and apparatus for read-only recovery in a dual copy storage system
US7197518B2 (en) * 2002-08-29 2007-03-27 International Business Machines Corporation Method and apparatus for recovery of the association of construct definitions with logical volumes in a virtual tape server
US20040044845A1 (en) * 2002-08-29 2004-03-04 Gibble Kevin L. Apparatus and method to assign pseudotime attributes to one or more logical volumes
US20040044830A1 (en) * 2002-08-29 2004-03-04 Gibble Kevin Lee System, method, and apparatus for logical volume duplexing in a virtual tape system
WO2004021161A2 (en) * 2002-08-29 2004-03-11 International Business Machines Corporation Maintaining information in one or more virtual volume aggregates comprising a plurality of virtual volumes
US20040044844A1 (en) * 2002-08-29 2004-03-04 International Business Machines Corporation Apparatus and method to form one or more premigration aggregates comprising a plurality of least recently accessed virtual volumes
US20040078639A1 (en) * 2002-08-29 2004-04-22 Josephina Anna Method and apparatus for recovery of a logical volume in a multi copy storage system
US20040044701A1 (en) * 2002-08-29 2004-03-04 International Business Machines Corporation Method and apparatus for recovery of the association of construct definitions with logical volumes in a virtual tape server
CN1295592C (en) * 2002-08-29 2007-01-17 国际商业机器公司 Maintaining information in one or more virtual volume aggregates comprising a plurality of virtual volumes
US6895466B2 (en) 2002-08-29 2005-05-17 International Business Machines Corporation Apparatus and method to assign pseudotime attributes to one or more logical volumes
WO2004021161A3 (en) * 2002-08-29 2004-09-30 Ibm Maintaining information in one or more virtual volume aggregates comprising a plurality of virtual volumes
US7107417B2 (en) 2002-08-29 2006-09-12 International Business Machines Corporation System, method and apparatus for logical volume duplexing in a virtual tape system
US20040044828A1 (en) * 2002-08-29 2004-03-04 International Business Machines Corporation Method and apparatus for read-only recovery in a dual copy storage system
US7080277B2 (en) 2002-08-29 2006-07-18 International Business Machines Corporation Method and apparatus for recovery of a logical volume in a multi copy storage system
US7882081B2 (en) 2002-08-30 2011-02-01 Netapp, Inc. Optimized disk repository for the storage and retrieval of mostly sequential data
US20040044863A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Method of importing data from a physical data storage device into a virtual tape library
US7437387B2 (en) 2002-08-30 2008-10-14 Netapp, Inc. Method and system for providing a file system overlay
US20040044842A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. System and method for exporting a virtual tape
US6851031B2 (en) 2002-08-30 2005-02-01 Alacritus, Inc. Method of importing data from a physical data storage device into a virtual tape library
US6862656B2 (en) 2002-08-30 2005-03-01 Alacritus, Inc. System and method for exporting a virtual tape
US20040044705A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Optimized disk repository for the storage and retrieval of mostly sequential data
US20040044706A1 (en) * 2002-08-30 2004-03-04 Alacritus, Inc. Method and system for providing a file system overlay
US20040073624A1 (en) * 2002-10-15 2004-04-15 International Business Machines Corporation Apparatus and method to manage and copy computer files
US7080223B2 (en) 2002-10-15 2006-07-18 International Business Machines Corporation Apparatus and method to manage and copy computer files
US8024172B2 (en) 2002-12-09 2011-09-20 Netapp, Inc. Method and system for emulating tape libraries
US20040111251A1 (en) * 2002-12-09 2004-06-10 Alacritus, Inc. Method and system for emulating tape libraries
US7567993B2 (en) 2002-12-09 2009-07-28 Netapp, Inc. Method and system for creating and using removable disk based copies of backup data
US20040153739A1 (en) * 2002-12-09 2004-08-05 Alacritus, Inc. Method and system for creating and using removable disk based copies of backup data
US20040181628A1 (en) * 2003-03-12 2004-09-16 Alacritus, Inc. System and method for virtual vaulting
US7487009B2 (en) 2003-03-12 2009-02-03 Netapp, Inc. System and method for virtual vaulting
US20060074520A1 (en) * 2003-03-12 2006-04-06 Network Appliance, Inc. System and method for virtual vaulting
US7437492B2 (en) 2003-05-14 2008-10-14 Netapp, Inc Method and system for data compression and compression estimation in a virtual tape library environment
US20040230724A1 (en) * 2003-05-14 2004-11-18 Roger Stager Method and system for data compression and compression estimation in a virtual tape library environment
US7640316B2 (en) * 2003-09-05 2009-12-29 International Business Machines Corporation Apparatus and method to write information to two virtual tape servers
US20050066116A1 (en) * 2003-09-05 2005-03-24 International Business Machines Corporation Apparatus and method to write information to two virtual tape servers
US7085895B2 (en) 2003-09-05 2006-08-01 International Business Machines Corporation Apparatus, system, and method flushing data from a cache to secondary storage
US20050055512A1 (en) * 2003-09-05 2005-03-10 Kishi Gregory Tad Apparatus, system, and method flushing data from a cache to secondary storage
US7467131B1 (en) * 2003-09-30 2008-12-16 Google Inc. Method and system for query data caching and optimization in a search engine system
US20050114624A1 (en) * 2003-11-20 2005-05-26 International Business Machines Corporation Apparatus and method to control access to logical volumes
US7171514B2 (en) 2003-11-20 2007-01-30 International Business Machines Corporation Apparatus and method to control access to logical volumes using parallel access volumes
US20050114573A1 (en) * 2003-11-20 2005-05-26 International Business Machines Corporation Apparatus and method to provide information from a first information storage and retrieval system to a second information storage and retrieval system
US20050114591A1 (en) * 2003-11-20 2005-05-26 International Business Machines Corporation Apparatus and method to control access to logical volumes using parallel access volumes
US20050114465A1 (en) * 2003-11-20 2005-05-26 International Business Machines Corporation Apparatus and method to control access to logical volumes using one or more copy services
US7512735B2 (en) 2003-11-20 2009-03-31 International Business Machines Corporation Apparatus and method to control access to logical volumes
US7249205B2 (en) 2003-11-20 2007-07-24 International Business Machines Corporation Apparatus and method to provide information from a first information storage and retrieval system to a second information storage and retrieval system
US7797582B1 (en) 2004-02-04 2010-09-14 Netapp, Inc. Method and system for storing data using a continuous data protection system
US7904679B2 (en) 2004-02-04 2011-03-08 Netapp, Inc. Method and apparatus for managing backup data
US7979654B2 (en) 2004-02-04 2011-07-12 Netapp, Inc. Method and system for restoring a volume in a continuous data protection system
US20060195493A1 (en) * 2004-02-04 2006-08-31 Network Appliance, Inc. Method and system for remote data recovery
US7559088B2 (en) 2004-02-04 2009-07-07 Netapp, Inc. Method and apparatus for deleting data upon expiration
US20060143443A1 (en) * 2004-02-04 2006-06-29 Alacritus, Inc. Method and apparatus for deleting data upon expiration
US20050193244A1 (en) * 2004-02-04 2005-09-01 Alacritus, Inc. Method and system for restoring a volume in a continuous data protection system
US7783606B2 (en) 2004-02-04 2010-08-24 Netapp, Inc. Method and system for remote data recovery
US7720817B2 (en) 2004-02-04 2010-05-18 Netapp, Inc. Method and system for browsing objects on a protected volume in a continuous data protection system
US20050171979A1 (en) * 2004-02-04 2005-08-04 Alacritus, Inc. Method and system for maintaining data in a continuous data protection system
US20050216536A1 (en) * 2004-02-04 2005-09-29 Alacritus, Inc. Method and system for backing up data
US7490103B2 (en) 2004-02-04 2009-02-10 Netapp, Inc. Method and system for backing up data
US20050182953A1 (en) * 2004-02-04 2005-08-18 Alacritus, Inc. Method and system for browsing objects on a protected volume in a continuous data protection system
US7315965B2 (en) 2004-02-04 2008-01-01 Network Appliance, Inc. Method and system for storing data using a continuous data protection system
US20050188256A1 (en) * 2004-02-04 2005-08-25 Alacritus, Inc. Method and system for data recovery in a continuous data protection system
US7325159B2 (en) 2004-02-04 2008-01-29 Network Appliance, Inc. Method and system for data recovery in a continuous data protection system
US20050193272A1 (en) * 2004-02-04 2005-09-01 Alacritus, Inc. Method and system for storing data using a continuous data protection system
US7406488B2 (en) 2004-02-04 2008-07-29 Netapp Method and system for maintaining data in a continuous data protection system
US7426617B2 (en) 2004-02-04 2008-09-16 Network Appliance, Inc. Method and system for synchronizing volumes in a continuous data protection system
US20050193236A1 (en) * 2004-02-04 2005-09-01 Alacritus, Inc. Method and apparatus for managing backup data
US20050182891A1 (en) * 2004-02-13 2005-08-18 International Business Machines Corporation Apparatus and method to implement retry algorithms when providing information from a primary storage system to a remote storage system
US7240132B2 (en) 2004-02-13 2007-07-03 International Business Machines Corporation Apparatus and method to implement retry algorithms when providing information from a primary storage system to a remote storage system
US8028135B1 (en) 2004-09-01 2011-09-27 Netapp, Inc. Method and apparatus for maintaining compliant storage
US7650435B2 (en) 2004-10-22 2010-01-19 International Business Machines Corporation Apparatus and method to install a component in an information storage and retrieval system
US20060087923A1 (en) * 2004-10-22 2006-04-27 Jones Carl E Apparatus and method to install a component in an information storage and retrieval system
US8135922B2 (en) 2004-11-08 2012-03-13 International Business Machines Corporation Apparatus and method to validate the configuration of an information storage and retrieval system
CN100440213C (en) * 2004-11-08 2008-12-03 国际商业机器公司 Apparatus and method to validate the configuration of an information storage and retrieval system
US20060112173A1 (en) * 2004-11-08 2006-05-25 Internatonal Business Machines Corporation Storage configuration loader
US20060095547A1 (en) * 2004-11-08 2006-05-04 International Business Machines Corporation Storage configuration loader using cache for fast retrieval of storage configurations
US20060100982A1 (en) * 2004-11-08 2006-05-11 International Business Machines Corporation Storage configuration loader with automatic error recovery
US20060101220A1 (en) * 2004-11-08 2006-05-11 Cohn Jeremy A Apparatus and method to validate the configuration of an information storage and retrieval system
US7480702B2 (en) 2004-11-08 2009-01-20 International Business Machines Corporation Storage configuration loader
US20060126468A1 (en) * 2004-12-14 2006-06-15 Network Appliance, Inc. Method and apparatus for verifiably migrating WORM data
US7558839B1 (en) 2004-12-14 2009-07-07 Netapp, Inc. Read-after-write verification for improved write-once-read-many data storage
US7774610B2 (en) 2004-12-14 2010-08-10 Netapp, Inc. Method and apparatus for verifiably migrating WORM data
US7581118B2 (en) 2004-12-14 2009-08-25 Netapp, Inc. Disk sanitization using encryption
US20060143476A1 (en) * 2004-12-14 2006-06-29 Mcgovern William P Disk sanitization using encryption
US7526620B1 (en) 2004-12-14 2009-04-28 Netapp, Inc. Disk sanitization in an active file system
US20060293767A1 (en) * 2005-06-28 2006-12-28 Eischeid Todd M Policy based automation rule selection control system
US7565486B2 (en) 2005-09-26 2009-07-21 International Business Machines Corporation Method and apparatus for handling multi-volume datasets in a tape storage system
US20070073964A1 (en) * 2005-09-26 2007-03-29 Dawson Erika M Method and apparatus for handling multi-volume datasets in a tape storage system
US20070083727A1 (en) * 2005-10-06 2007-04-12 Network Appliance, Inc. Maximizing storage system throughput by measuring system performance metrics
US7401198B2 (en) 2005-10-06 2008-07-15 Netapp Maximizing storage system throughput by measuring system performance metrics
US20070118693A1 (en) * 2005-11-19 2007-05-24 International Business Machines Cor Method, apparatus and computer program product for cache restoration in a storage system
US20070161248A1 (en) * 2005-11-23 2007-07-12 Christenson Kurt K Process for removing material from substrates
US7752401B2 (en) 2006-01-25 2010-07-06 Netapp, Inc. Method and apparatus to automatically commit files to WORM status
US7650533B1 (en) 2006-04-20 2010-01-19 Netapp, Inc. Method and system for performing a restoration in a continuous data protection system
US20080021993A1 (en) * 2006-07-20 2008-01-24 Compton Matthew C Automated Discovery and Configuration of Components on a Computer Network
US8200806B2 (en) 2006-07-20 2012-06-12 International Business Machines Corporation Automated discovery and configuration of components on a computer network
US7774566B2 (en) * 2007-04-05 2010-08-10 International Business Machines Corporation Physical tape interchange format
US20080250197A1 (en) * 2007-04-05 2008-10-09 International Business Machines Corporation Physical Tape Interchange Format
US20080313403A1 (en) * 2007-06-14 2008-12-18 Niranjan Thirumale N Apparatus, system, and method for selecting an input/output tape volume cache
US8140788B2 (en) * 2007-06-14 2012-03-20 International Business Machines Corporation Apparatus, system, and method for selecting an input/output tape volume cache
US8667238B2 (en) 2007-06-14 2014-03-04 International Business Machines Corporation Selecting an input/output tape volume cache
US8271736B2 (en) 2008-02-07 2012-09-18 International Business Machines Corporation Data block frequency map dependent caching
US8484419B2 (en) * 2010-11-24 2013-07-09 International Business Machines Corporation Systems and methods for backing up storage volumes in a storage system
US20120131280A1 (en) * 2010-11-24 2012-05-24 International Business Machines Corporation Systems and methods for backing up storage volumes in a storage system
US9135128B2 (en) 2010-11-24 2015-09-15 International Business Machines Corporation Systems and methods for backing up storage volumes in a storage system
US9612917B2 (en) 2010-11-24 2017-04-04 International Business Machines Corporation Systems and methods for backing up storage volumes in a storage system
US8745333B2 (en) 2010-11-24 2014-06-03 International Business Machines Corporation Systems and methods for backing up storage volumes in a storage system
US20180302473A1 (en) * 2017-04-14 2018-10-18 Quantum Corporation Network attached device for accessing removable storage media
US11363100B2 (en) * 2017-04-14 2022-06-14 Quantum Corporation Network attached device for accessing removable storage media

Similar Documents

Publication Publication Date Title
US6269423B1 (en) Method and apparatus for providing improved caching for a virtual tape server
US6988165B2 (en) System and method for intelligent write management of disk pages in cache checkpoint operations
US9213496B2 (en) Method, system, and program for moving data among storage units
US7711916B2 (en) Storing information on storage devices having different performance capabilities with a storage system
US7085895B2 (en) Apparatus, system, and method flushing data from a cache to secondary storage
US5734861A (en) Log-structured disk array with garbage collection regrouping of tracks to preserve seek affinity
US7124272B1 (en) File usage history log for improved placement of files in differential rate memory according to frequency of utilizations and volatility of allocation space
US7734875B1 (en) Cache management using historical access information
US6871272B2 (en) Data sorting in information storage systems
Smith Long term file migration: Development and evaluation of algorithms
Gill et al. SARC: Sequential Prefetching in Adaptive Replacement Cache.
US6385699B1 (en) Managing an object store based on object replacement penalties and reference probabilities
US6351754B1 (en) Method and system for controlling recovery downtime
US7185155B2 (en) Methods and mechanisms for proactive memory management
US4974197A (en) Batching data objects for recording on optical disks with maximum object count
EP0757317A2 (en) Hierarchical data storage device and storage method
US20160085480A1 (en) Providing access information to a storage controller to determine a storage tier for storing data
US10671309B1 (en) Predicting usage for automated storage tiering
Grimsrud et al. Multiple prefetch adaptive disk caching
JP2004062869A (en) Method and apparatus for selective caching of transactions in computer system
US9223812B2 (en) Adaptive scheduled periodic caching
US6715039B1 (en) Cache slot promotion in a replacement queue cache using determinations of probabilities and costs
Herodotou AutoCache: Employing machine learning to automate caching in distributed file systems
US9189407B2 (en) Pre-fetching in a storage system
US7836248B2 (en) Methods and systems for managing persistent storage of small data objects

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KISHI, GREGORY T.;REEL/FRAME:009180/0766

Effective date: 19980511

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20090731