Method and system for equalizing usage of storage media
A method is presented for using a hard disk drive which contains a non-volatile random access memory (NVRAM) and a computer-usable disk medium. A usage value is maintained for the number of accesses to the computer-usable disk medium, and the usage value is stored within the NVRAM. In a system that is connected to multiple hard disk drives, the usage values for the hard disk drives can be compared to determine a youngest disk drive or a lowest amount of usage amongst the multiple hard disk drives. When data needs to be mirrored or backed-up to one of the hard disk drives, it can be copied to the youngest or least-used hard disk drive. If an operating system installation needs to be performed, the operating system files can be stored on the youngest or least-used hard disk drive.
Latest IBM Patents:
1. Field of the Invention
The present invention relates to an improved data digital processing system and, in particular, to a method and apparatus for input/output processing. Still more particularly, the present invention provides a method and apparatus for peripheral monitoring.
2. Description of Related Art
One of the most critical and used devices of a digital data processing system is the disk drive. Unfortunately, multiple disk drives within a computer system are often used in an unbalanced manner throughout the lifetime of the disk drives. For example, an unbalanced condition occurs when one disk drive is chosen for a particular operation, such as an installation of an operating system, due to configuration information or its physical location within the computer system, thereby resulting in the disk drive being used for reading and writing operations much more often than other equally capable disk drives. Hence, there is a higher likelihood that this disk drive will fail sooner than other disk drives in the computer system. This situation might cause system downtime to occur more often as one drive, over time, becomes a fail point for the computer system.
Therefore, it would be advantageous to have a method and a system for equalizing usage of multiple disk drives within a computer system.
SUMMARY OF THE INVENTIONA method is presented for using a hard disk drive which contains a non-volatile random access memory (NVRAM) and a computer-usable disk medium. A usage value is maintained for the number of accesses to the computer-usable disk medium, and the usage value is stored within the NVRAM. In a system that is connected to multiple hard disk drives, the usage values for the hard disk drives can be compared to determine a youngest disk drive or a lowest amount of usage amongst the multiple hard disk drives. When data needs to be mirrored or backed-up to one of the hard disk drives, it can be copied to the youngest or freshest hard disk drive. If an operating system installation needs to be performed, the operating system files can be stored on the youngest or least-used hard disk drive.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, further objectives, and advantages thereof, will be best understood by reference to the following detailed description when read in conjunction with the accompanying drawings, wherein:
In general, the devices that may comprise or relate to the present invention include a wide variety of data processing technology. Therefore, as background, a typical organization of hardware and software components within a data processing system is described prior to describing the present invention in more detail.
With reference now to the figures,
In the depicted example, distributed data processing system 100 may include the Internet with network 101 representing a worldwide collection of networks and gateways that use various protocols to communicate with one another, such as Lightweight Directory Access Protocol (LDAP), Transport Control Protocol/Internet Protocol (TCP/IP), Hypertext Transport Protocol (HTTP), Wireless Application Protocol (WAP), etc. Of course, distributed data processing system 100 may also include a number of different types of networks, such as, for example, an intranet, a local area network (LAN), or a wide area network (WAN). For example, server 102 directly supports client 109 and network 110, which incorporates wireless communication links. Network-enabled phone 111 connects to network 110 through wireless link 112, and PDA 113 connects to network 110 through wireless link 114. Phone 111 and PDA 113 can also directly transfer data between themselves across wireless link 115 using an appropriate technology, such as Bluetooth™ wireless technology, to create so-called personal area networks (PAN) or personal ad-hoc networks. In a similar manner, PDA 113 can transfer data to PDA 107 via wireless communication link 116.
The present invention could be implemented within a variety of hardware platforms;
With reference now to
Those of ordinary skill in the art will appreciate that the hardware in
In addition to being able to be implemented on a variety of hardware platforms, the present invention may be implemented in a variety of software environments. A typical operating system may be used to control program execution within each data processing system. For example, one device may run a Unix® operating system, while another device contains a simple Java® runtime environment. A representative computer platform may include a browser, which is a well known software application for accessing hypertext documents in a variety of formats, such as graphic files, word processing files, Extensible Markup Language (XML), Hypertext Markup Language (HTML), Handheld Device Markup Language (HDML), Wireless Markup Language (WML), and various other formats and types of files.
The present invention may be implemented on a variety of hardware and software platforms, as described above with respect to
More specifically, though, the present invention is directed to an improved method and system for equalizing usage of multiple disk drives within a computer system. Prior to describing the improved usage technique in more detail, the use of a typical disk drive is illustrated.
With reference now to
With reference now to
Disk channel path 234 is a data path by which data is written to and recovered from a physical disk medium, such as disk 208 in
With reference now to
Assuming that software application 254 calls a function within file system functional unit 256 for modifying a target file, file system functional unit 256 may invoke functions within hard disk drive device drivers that are supported by operating system 252 if the target file is stored on host system 250; otherwise, file system functional unit 256 may invoke various network-related functions to access the target file if it is remotely stored. In the example that is shown in
Host system 250 also includes host configuration application 270 for allowing a system administrator or some other type of privileged user to configure host system 250. In the example that is shown in
Turning now to the present invention, an improved method and system for equalizing usage of multiple disk drives within a computer system is presented. The present invention is directed to a method and system for monitoring hard disk drive usage so that a system administrator or other user may rotate hard disk drive usage amongst multiple disk drives on a computer system, as explained in more detail further below.
With reference now to
With reference now to
Prior to executing the steps that are shown in the flowchart of
In any case, as part of its initialization procedure, the HDD device driver reads and caches a HDD usage metric value from the NVRAM in a supported hard disk drive on the host system (step 404). By retrieving the persistently stored HDD usage metric value from each supported hard disk drive, the HDD device driver initializes its count of the read/write operations for each supported hard disk drive. The HDD device driver then performs other initialization tasks (step 406), and the process is concluded.
With reference now to
The HDD device driver then continues to support the read/write request (step 506), and the process is concluded. It should be noted that the examples herein describe the maintenance of running counts for reads and writes to a hard disk drive; alternatively, additional HDD operations or other HDD operations may be counted as part of the representation of a usage metric on the hard disk drive, such as seek operations.
With reference now to
Taken together,
With reference now to
With reference now to
In an alternative embodiment, after the HDD usage metric values have been compared, all of the HDD usage metric values are presented in some manner in accordance with the result of the comparison with the other HDD usage metric values. For example, the HDD usage metric values could be shown in ascending order, descending order, or in some other manner. As alternative processing or as additional processing, more complex mathematical operations and/or comparisons may also be performed, as shown below with respect to
The user of the application may select one of the hard disk drives for a particular configuration operation within the software application with knowledge of the HDD usage metric values that have been presented within a graphical user interface window. For example, a system administrator (or a user within control over configuring the host system) may desire to configure one of the hard disk drives on the host system as the default hard drive from which the operating system is loaded or from which most software applications are loaded. In order to circumvent or minimize future hard disk drive failures, the system administrator may desire to select the hard disk drive that has the least amount of usage among the hard disk drives on the host system. Using the present invention, the system administrator would be able to select the hard disk drive with the least amount of usage. Although the example that is shown in
With reference now to
The configuration application then computes a consumed lifetime value for each hard disk drive (step 906). An MTBF value for a particular type of hard disk drive reflects the average lifespan for that type of hard disk drive; in addition, a given hard disk drive's HDD usage metric value reflects the wear and tear that has been imposed on the hard disk drive through the read/write and/or other operations on the hard disk drive. Hence, the consumed lifetime value for a particular hard disk drive is related to the percentage of the average lifespan that has already been consumed for that particular hard disk drive as indicated by its HDD usage metric value. The consumed lifetime values for the hard disk drives are then compared with each other to determine and then indicate the relatively youngest hard disk drive (step 908), and the process is concluded. For example, the relatively youngest hard disk drive may be graphically emphasized with a special color or in some other manner within a graphical user interface. Alternatively, after the relative ages of the hard disk drives have been computed and compared, all of the relative ages may be presented in accordance with the result of the comparison.
A given type of hard disk drive may be built more robustly and have a higher MTBF value than another type of hard disk drive. Hence, it is possible for a first hard disk drive to have a larger HDD usage metric value than a second hard disk drive and, at the same time, for the first hard disk drive to be relatively younger than the second hard disk drive because the first hard disk drive has a larger MTBF value than the second hard disk drive. In this manner, relative age of a hard disk drive is determined from its previous usage and its expected future lifetime.
With reference now to
The process commences with the receipt of a request to mirror data or to backup data within a host system (step 1002) by some type of software application that contains functionality for mirroring data or for archiving data; the request may be in the form of a function call, a request message, or some other format. HDD usage metric values are retrieved from each hard disk drive on the host system (step 1004), e.g., via HDD usage management function 704 that is shown in
With reference now to
In contrast to the system that is shown in
With reference now to
The goal of operating system installation code 1202 is to load an operating system onto one of the available hard disk drives that are connected to host system 1200. Since an operating system has not yet been installed on host system 1200, operating system installation code 1202 also comprises drivers for accessing various input/output devices, such as drivers 1204-1208. Operating system installation code 1202 uses CD-ROM device driver 1206 to read CD-ROM 1210 that stores the files that contain the executable code for the operating system. Operating system installation code 1202 uses HDD device driver 1204 to access hard disk drive 1212 or HDD device driver 1208 to access either hard disk drive 1214 or hard disk drive 1216.
Operating system installation code 1202 is able to select one of hard disk drives 1212-1216 as the default location for the operating system files; using the present invention, operating system installation code 1202 is able to perform the selection based on HDD usage metric values 1222-1226 in the hard disk drives. If the hard disk drive is newly manufactured and is unused, then the HDD usage metric value in a given hard disk drive may be an initialization value; if the given hard disk drive has already been used, possibly in another host system, then the HDD usage metric value in the given hard disk drive may show substantial age or use. In any case, the selection operation may be based on a comparison of the absolute HDD usage metric values, or the selection may be accomplished in accordance with some other function, such as a comparison of the relative ages of the hard disk drives based on their HDD usage metric values and their MTBF values. In this example, operating system installation code 1202 has selected hard disk drive 1212 and has placed installed OS files 1228 on hard disk drive 1212. After the installation process has been completed, then hard disk drive 1212 may be configured as the boot-up device within a BIOS of host system 1200.
The advantages of the present invention should be apparent in view of the detailed description of the invention that is provided above. The present invention allows a user to spread out HDD usage within a system over the lifetime of all of the hard disk drives in the system. If desired by a user that is configuring a system, a new hard disk drive that is added to the system can be configured to be used before re-using older hard disk drives, thus extending the lifespan of older hard disk drives. The spread of the usage should also allow the hard disk drives to reach their published average lifetimes as indicated by the MTBF values associated with the hard disk drives. In addition, if a hard disk drive does fail, an engineer may use the HDD usage metric values for general statistical purposes or during an error analysis process to determine if the estimates of the MTBF values were accurate.
It is important to note that while the present invention has been described in the context of a fully functioning data processing system, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of instructions in a computer readable medium and a variety of other forms, regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include media such as EPROM, ROM, tape, paper, floppy disc, hard disk drive, RAM, and CD-ROMs and transmission-type media, such as digital and analog communications links.
The description of the present invention has been presented for purposes of illustration but is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiments were chosen to explain the principles of the invention and its practical applications and to enable others of ordinary skill in the art to understand the invention in order to implement various embodiments with various modifications as might be suited to other contemplated uses.
Claims
1. A method for using a plurality of hard disk drives that are connected to a data processing system, each of the hard disk drives including a non-volatile random access memory (NVRAM) and a computer-usable disk medium, the method comprising:
- reading a plurality of usage values from each of the plurality of hard disk drives, wherein a usage value for a hard disk drive is stored within an NVRAM of the hard disk drive, and wherein a usage value is related to a count of accesses to a computer-usable disk medium of the hard disk drive;
- comparing the plurality of usage values;
- determining to install operating system files on a hard disk drive within the plurality of hard disk drives;
- selecting a hard disk drive amongst the plurality of hard disk drives based on the plurality of usage values; and
- installing the operating system files to the selected hard disk drive.
2. The method of claim 1 further comprising:
- determining a lowest usage value amongst the plurality of usage values; and
- indicating the lowest usage value and its associated hard disk drive to a user of the data processing system.
3. The method of claim 1 further comprising:
- retrieving a plurality of mean-time-between-failures (MTBF) values associated with the plurality of hard disk drives; and
- computing a consumed lifetime value based on a usage value and a MTBF value for each of the plurality of hard disk drives.
4. The method of claim 3 further comprising:
- determining a lowest consumed lifetime value amongst the plurality of consumed lifetime values; and
- indicating the lowest consumed lifetime value and its associated hard disk drive to a user of the data processing system.
5. The method of claim 1 further comprising:
- determining to copy data to a hard disk drive within the plurality of hard disk drives;
- selecting a hard disk drive amongst the plurality of hard disk drives based on the plurality of usage values; and
- copying data to the selected hard disk drive.
6. A computer program product on a non-transitory computer-readable medium for use in a data processing system for using a plurality of hard disk drives that are connected to a data processing system, each of the hard disk drives including a non-volatile random access memory (NVRAM) and a computer-usable disk medium, the computer program product comprising:
- means for reading a plurality of usage values from each of the plurality of hard disk drives, wherein a usage value for a hard disk drive is stored within an NVRAM of the hard disk drive, and wherein a usage value is related to a count of accesses to a computer-usable disk medium of the hard disk drive; and
- means for comparing the plurality of usage values;
- means for determining to install operating system files on a hard disk drive within the plurality of hard disk drives;
- means for selecting a hard disk drive amongst the plurality of hard disk drives based on the plurality of usage values; and
- means for installing the operating system files to the selected hard disk drive.
7. The computer program product of claim 6 further comprising:
- means for determining a lowest usage value amongst the plurality of usage values; and
- means for indicating the lowest usage value and its associated hard disk drive to a user of the data processing system.
8. The computer program product of claim 6 further comprising:
- means for retrieving a plurality of mean-time-between-failures (MTBF) values associated with the plurality of hard disk drives; and
- means for computing a consumed lifetime value based on a usage value and a MTBF value for each of the plurality of hard disk drives.
9. The computer program product of claim 8 further comprising:
- means for determining a lowest consumed lifetime value amongst the plurality of consumed lifetime values; and
- means for indicating the lowest consumed lifetime value and its associated hard disk drive to a user of the data processing system.
10. The computer program product of claim 6 further comprising:
- means for determining to copy data to a hard disk drive within the plurality of hard disk drives;
- means for selecting a hard disk drive amongst the plurality of hard disk drives based on the plurality of usage values; and
- means for copying data to the selected hard disk drive.
11. An apparatus for using a plurality of hard disk drives that are connected to a data processing system, each of the hard disk drives including a non-volatile random access memory (NVRAM) and a computer-usable disk medium, the apparatus comprising:
- means for reading a plurality of usage values from each of the plurality of hard disk drives, wherein a usage value for a hard disk drive is stored within an NVRAM of the hard disk drive, and wherein a usage value is related to a count of accesses to a computer-usable disk medium of the hard disk drive; and
- means for comparing the plurality of usage values;
- means for determining to install operating system files on a hard disk drive within the plurality of hard disk drives;
- means for selecting a hard disk drive amongst the plurality of hard disk drives based on the plurality of usage values; and
- means for installing the operating system files to the selected hard disk drive.
12. The apparatus of claim 11 further comprising:
- means for determining a lowest usage value amongst the plurality of usage values; and
- means for indicating the lowest usage value and its associated hard disk drive to a user of the data processing system.
13. The apparatus of claim 11 further comprising:
- means for retrieving a plurality of mean-time-between-failures (MTBF) values associated with the plurality of hard disk drives; and
- means for computing a consumed lifetime value based on a usage value and a MTBF value for each of the plurality of hard disk drives.
14. The apparatus of claim 13 further comprising:
- means for determining a lowest consumed lifetime value amongst the plurality of consumed lifetime values; and
- means for indicating the lowest consumed lifetime value and its associated hard disk drive to a user of the data processing system.
15. The apparatus of claim 11 further comprising:
- means for determining to copy data to a hard disk drive within the plurality of hard disk drives;
- means for selecting a hard disk drive amongst the plurality of hard disk drives based on the plurality of usage values; and
- means for copying data to the selected hard disk drive.
5726937 | March 10, 1998 | Beard |
5748957 | May 5, 1998 | Klein |
5909691 | June 1, 1999 | Schultz et al. |
5951700 | September 14, 1999 | Klein |
5961613 | October 5, 1999 | DeNicola |
6081447 | June 27, 2000 | Lofgren et al. |
6112257 | August 29, 2000 | Mason et al. |
6230233 | May 8, 2001 | Lofgren et al. |
6237063 | May 22, 2001 | Bachmat et al. |
6249838 | June 19, 2001 | Kon |
6366987 | April 2, 2002 | Tzelnic et al. |
6430660 | August 6, 2002 | Kemp et al. |
6483901 | November 19, 2002 | Cuallo |
6487634 | November 26, 2002 | Bachmat |
6611896 | August 26, 2003 | Mason et al. |
6748487 | June 8, 2004 | Takamoto et al. |
6954833 | October 11, 2005 | Yochai et al. |
6957294 | October 18, 2005 | Saunders et al. |
6985996 | January 10, 2006 | Nagshain |
20010027489 | October 4, 2001 | Miyamoto et al. |
20020069323 | June 6, 2002 | Percival |
20040037034 | February 26, 2004 | Suzuki et al. |
20040162940 | August 19, 2004 | Yagisawa et al. |
- Basham et al., U.S. Patent Application, “Stackable Connector System for Automated Removal/Addition in a Storage Media Library”.
Type: Grant
Filed: Dec 10, 2003
Date of Patent: Aug 14, 2012
Patent Publication Number: 20050132133
Assignee: International Business Machines Corporation (Armonk, NY)
Inventors: Susann Marie Keohane (Austin, TX), Gerald Francis McBrearty (Austin, TX), Shawn Patrick Mullen (Buda, TX), Jessica Murillo (Hutto, TX), Johnny Meng-Han Shieh (Austin, TX)
Primary Examiner: Edward Dudek, Jr.
Assistant Examiner: Ryan Dare
Attorney: Hamilton & Terrile, LLP
Application Number: 10/732,625
International Classification: G06F 12/06 (20060101);