Abstract:
A system including plural storage devices provides a technique for controlling storage devices in which files are located by a file system, and turning on or off the storage devices based on prediction of the start or end of access to the files. A program that manages power to the storage devices and data access to the storage devices via the files includes means or functions for allocating a storage device as an area in which a file is located, for selecting a storage device in which a file is located, for predicting that access to a file is started for commanding turning on power to a storage device based on the prediction that access to a file is started, for predicting that access to a file terminates, and for commanding turning off power to a storage device based on the prediction that access to a file terminates.

Description:
CLAIM OF PRIORITY 
       [0001]    The present application claims priority from Japanese applications JP 2007-332043 filed on Dec. 25, 2007 and is a continuation application of U.S. application Ser. No. 12/032,219, filed Feb. 15, 2008, the contents of which are hereby incorporated by reference into this application. 
       BACKGROUND OF THE INVENTION 
       [0002]    The present invention relates to a technique for managing storages by a file system in a computer system, and more particularly to a technique for managing storage power in a large-scale computer system. 
         [0003]    With an increase in the amount of data processing in a computer system, storages are becoming large-scale. Some large-scale computer systems have storage devices from several hundred TB to several PB, so that power consumed by the storages is becoming unignorable. 
         [0004]    On the other hand, in the above-described large-scale computer systems, access to all storage devices does not occur continuously throughout a year. For example, large-scale computer systems are lent to users on an hour basis, and access to storage devices in which files owned by the users do not exist is rare. 
         [0005]    Accordingly, according to a known technique as described in JP-A No. 2007-133821, in a storage in which a physical storage device that can control activation and halt, and a physical storage device that cannot control them coexist, properties are taken into account to set logical storage devices on the physical storage devices and thereby to reduce power consumption of the storage. According to this technique, when access to the logical storage devices set on the physical storage devices is stopped, it is determined whether the physical storage devices can be halted. When they can be halted, they are halted, and otherwise, the logical storage devices are moved to a physical storage device that can be halted, and the physical storage device is halted. 
         [0006]    Furthermore, according to a known technique as described in JP-A No. 2007-164650, based on access situation, logical storage devices are moved among physical storage devices having different power supply modes to reduce energization time. With this technique, the relocation of the logical storage devices is scheduled so that logical storage devices frequently accessed are located in physical storage devices of long energization mode, and logical storage devices infrequently accessed are located in physical storage devices of short energization mode. The logical storage devices are relocated based on the frequency of access to the physical storage devices. 
       BRIEF SUMMARY OF THE INVENTION 
       [0007]    By the way, with the above-described conventional techniques, the activation and halt of a storage device is controlled based on access situations. In this case, there is a problem in that, when a file frequently accessed is interspersed on plural storage devices, since the number of storage devices that can be halted becomes smaller, the effect of reducing power consumption could become smaller. 
         [0008]    Furthermore, with the above-described conventional techniques, when a file to be accessed is located in a halted storage device, after the storage device is activated by the access, the file is accessed. In this case, there is another problem in that since it takes several tens of seconds to activate the storage device, access to the file could time out. 
         [0009]    Accordingly, the present invention has been made in view of the above problems, and its object is to increase the effect of reducing power consumption of storages by controlling storage devices in which files are located by a file system in a computer system that includes plural storage devices. 
         [0010]    Another object of the present invention is to prevent access to a file from timing out by turning on or off power to the storage devices, based on the prediction of the start or end of access to the file. 
         [0011]    The aforementioned and other objects and novel characteristics of the present invention will become apparent from the description of this specification and the accompanying drawings. 
         [0012]    The typical disclosures of the invention will be described in brief as follows. 
         [0013]    The present invention is a method for managing power to a storage device in a computer system including at least one storage device, and data access to the storage device via a file, and a program for the same, and has characteristics described below. 
         [0014]    The present invention includes: means for allocating a storage device as an area in which a file is located; means for selecting a storage device in which a file is located; means for predicting that access to a file is started; means for commanding turning on power to a storage device, based on the prediction that access to a file is started; means for predicting that access to a file terminates; and means for commanding turning off power to a storage device, based on the prediction that access to a file terminates. 
         [0015]    Effects obtained by typical disclosures of the invention will be described in brief as follows. 
         [0016]    According to the present invention, the effect of reducing power consumption of storages can be increased by controlling storage devices in which files are located by a file system in a computer system that includes plural storage devices. 
         [0017]    Furthermore, according to the present invention, access to a file can be prevented from timing out by turning on or off power to the storage devices, based on the prediction of the start or end of access to the file. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0018]      FIG. 1  is a schematic block diagram showing a computer system in a first embodiment; 
           [0019]      FIG. 2  is an explanatory drawing showing a user management table in the first embodiment; 
           [0020]      FIG. 3  is an explanatory drawing showing a storage device management table in the first embodiment; 
           [0021]      FIG. 4  is an explanatory drawing showing a file of in the first embodiment; 
           [0022]      FIG. 5  is a flowchart showing processing of storage device allocation means  1  in the first embodiment; 
           [0023]      FIG. 6  is a flowchart showing processing of storage device allocation means  2  in the first embodiment; 
           [0024]      FIG. 7  is a flowchart showing processing of storage device selection means in the first embodiment; 
           [0025]      FIG. 8  is a flowchart showing processing of access start prediction means in the first embodiment; 
           [0026]      FIG. 9  is a flowchart showing processing of storage device power-on means in the first embodiment; 
           [0027]      FIG. 10  is a flowchart showing processing of access end prediction means in the first embodiment; 
           [0028]      FIG. 11  is a flowchart showing processing of storage device power-off means in the first embodiment; 
           [0029]      FIG. 12  is an explanatory drawing showing a directory structure view in the first embodiment; 
           [0030]      FIG. 13  is a schematic block diagram showing a computer system in a second embodiment; 
           [0031]      FIG. 14  is a flowchart showing processing of access start prediction means in the second embodiment; 
           [0032]      FIG. 15  is a flowchart showing processing of access end prediction means in the second embodiment; 
           [0033]      FIG. 16  is an explanatory drawing showing file in a third embodiment; 
           [0034]      FIG. 17  is an explanatory drawing showing a storage device management table in the third embodiment; 
           [0035]      FIG. 18  is a flowchart showing processing of storage device allocation means  1  in the third embodiment; 
           [0036]      FIG. 19  is a flowchart showing processing of storage device allocation means  2  in the third embodiment; 
           [0037]      FIG. 20  is a flowchart showing processing of storage device allocation means  3  in the third embodiment: 
           [0038]      FIG. 21  is a flowchart showing processing of storage device power-on means  1  in the third embodiment; 
           [0039]      FIG. 22  is a flowchart showing processing of storage device power-on means  2  in the third embodiment; 
           [0040]      FIG. 23  is a flowchart showing processing of storage device power-off means  1  in the third embodiment; 
           [0041]      FIG. 24  is a flowchart showing processing of storage device power-off means  2  in the third embodiment; 
           [0042]      FIG. 25  is a flowchart showing processing of storage device selection means  1  in the third embodiment; 
           [0043]      FIG. 26  is a flowchart showing processing of storage device selection means  2  in the third embodiment; 
           [0044]      FIG. 27  is a flowchart showing processing of storage device selection means  3  in the third embodiment; 
           [0045]      FIG. 28  is an explanatory drawing showing a file property window in the third embodiment; 
           [0046]      FIG. 29  is an explanatory drawing showing a directory structure view in the third embodiment; 
           [0047]      FIG. 30  is an explanatory drawing showing a file in a fourth embodiment; 
           [0048]      FIG. 31  is an explanatory drawing showing a storage device management table in the fourth embodiment; 
           [0049]      FIG. 32  is a flowchart showing processing of storage device allocation means  1  in the fourth embodiment; 
           [0050]      FIG. 33  is a flowchart showing processing of storage device allocation means  2  in the fourth embodiment; 
           [0051]      FIG. 34  is a flowchart showing processing of storage device allocation means  3  in the fourth embodiment; 
           [0052]      FIG. 35  is a flowchart showing processing of storage device selection means  1  in the fourth embodiment; 
           [0053]      FIG. 36  is a flowchart showing processing of storage device selection means  2  in the fourth embodiment; 
           [0054]      FIG. 37  is a flowchart showing processing of storage device selection means  3  in the fourth embodiment; 
           [0055]      FIG. 38  is a flowchart showing processing of storage device selection means  4  in the fourth embodiment; 
           [0056]      FIG. 39  is a flowchart showing processing of storage device selection means  5  in the fourth embodiment; 
           [0057]      FIG. 40  is a flowchart showing processing of storage device selection means  6  in the fourth embodiment; 
           [0058]      FIG. 41  is an explanatory drawing showing a file property window in the fourth embodiment; and 
           [0059]      FIG. 42  is an explanatory drawing showing a directory structure view in the fourth embodiment. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0060]    Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In all drawings for explaining the embodiments, in principle, the same components are identified by the same reference numerals, and repeated descriptions of them are omitted. 
       First Embodiment 
       [0061]      FIG. 1  is a schematic block diagram showing a computer system in a first embodiment of the present invention. A computer system in the first embodiment includes: a user management program  100 ; a login/logout program  110 ; a file system program  120 ; a storage device control unit  130 ; and plural storage devices  140 . The user management program  100 , the login/logout program  110 , and the file system program  120  are executed in a central processing unit (CPU) constituting a computer of the computer system, and stored in a storage unit (memory). The computer is a general-purpose computer that includes an interface unit through which data is exchanged with a CPU, memory, and external devices (not shown in the drawing) that are connected by an internal bus. Data exchange between the computer and a storage device control unit  130  is performed via the interface unit. 
         [0062]    The user management program  100  executed in the CPU registers and deletes users of the computer system, and updates a user management table  101  that holds user IDs and other information. Moreover, the user management program  100 , when registering a user of the computer system, passes information of the user to the file system program  120 . In this embodiment, a user&#39;s identifier will be used as user&#39;s information. The user management table  101  is stored in the memory. 
         [0063]    The login/logout program  110  accepts login/logout of users registered in the computer system. The login/logout program  110 , when accepting user&#39;s login/logout to the computer system, consults the user management table  101  to get user&#39;s information and pass it to the file system program  120 . 
         [0064]    The file system program  120  includes plural function configuration means. That is, it includes: storage device allocation means  121 ; storage device selection means  122 ; access start prediction means  123 ; storage device power-on means  124 ; access end prediction means  125 ; and storage device power-off means  126 . Although these are expressed as “means” for convenience, since they are substantially programs, they are, in some cases, referred to as “function,” “feature,” or “unit.” For example, the access start prediction means  123  may be referred to as an access start prediction function or an access start prediction unit. 
         [0065]    The file system program  120  has a storage device management table  127  that holds the identifiers of storage devices  140 , users to which storage devices  140  are allocated, and other information, and is stored in the memory. 
         [0066]    The storage device control unit  130  accesses a file  141  of a storage device  140  specified based on a request from the file system program  120 . Moreover, the storage device control unit  130  controls the power of a storage device  140  specified based on a request from file system program  120 . 
         [0067]    Some commercially available storage device control units have a function to control power to a storage device. The storage device control unit  130  can use the power control function to control power to the storage devices when the file system program  120  issues a request from the computer to the storage device control unit  130 . For example, iStorage StoragePowerConserver (power saving function) in iStorage (registered trademark) series of NEC Corporation can be used. 
         [0068]    When the file system program  120  cannot issue a power control request directly from the computer to the storage device control unit  130 , by issuing a request to a service processor (hereinafter referred to as SVP) not shown in the drawing, it can issue a power control request to the storage device control unit  130  via the SVP. 
         [0069]    The storage device  140  accesses a file  141 , based on a request from the storage device control unit  130 . Moreover, the storage device  140  turns on or off power, based on the request from the storage device control unit  130 . 
         [0070]      FIG. 2  is an explanatory drawing showing a user management table in this embodiment. 
         [0071]    A column  200  shows user names registered in the computer system. A column  210  shows encrypted passwords. A column  220  shows users&#39; identifiers. A column  230  shows the identifiers of groups to which users belong. A column  240  shows comments on users. A column  250  shows users&#39; home directories. A column  260  shows users&#39; login shells. 
         [0072]      FIG. 3  is an explanatory drawing showing a storage device management table  127 . 
         [0073]    A column  300  shows the identifiers of storage devices  140 . A column  310  shows information of users to which storage devices  140  are allocated. A column  320  shows the power counters of the storage devices  140 . As a storage device identifier, for example, LUID (Logical Unit ID) and LVID (Logical Volume ID) are used. 
         [0074]    In this embodiment, a storage device  140  allocated to a root user that provides basic commands executed by users is powered when the system is activated, and the power counter of the column  320  is initialized to one so that power to the storage device  140  is not turned off. Moreover, in this embodiment, the value of power counters of the column  320  concerning the storage devices  140  except one allocated to the root user are initialized to zero. 
         [0075]      FIG. 4  is an explanatory drawing showing a file within the storage devices  140 . 
         [0076]    A file  141  includes metadata  400  and data  410 . The metadata  400  has information such as file type  401 , file permission  402 , the identifier  403  of a user owning the file, the identifier  404  of a group to which a user owning the file belongs, file access time  405 , and file size  406 . The metadata  400 , which is sometimes referred to as meta-information, means accessory data of certain data. In this specification, unmodified “data” refers to data except the metadata. 
         [0077]      FIGS. 5 and 6  show a flowchart of processing of the storage device allocation means  121  in this embodiment. 
         [0078]    Step  500  of  FIG. 5  gets information of a user to be registered to the computer system from the user management program  100 . 
         [0079]    Step  510  consults the storage device management table  127  to determine whether a row in which the gotten user&#39;s information is registered exists in the column  310 . 
         [0080]    In that case, since no storage device  140  needs to be allocated, the processing terminates. Otherwise, control proceeds to Step  520 . 
         [0081]    Step  520  consults the storage device management table  127  to determine whether a row in which user&#39;s information is not registered exists in the column  310 . 
         [0082]    Otherwise, control proceeds to Step  530 . When a row in which user&#39;s information is not registered exists, control proceeds to Step  600  of  FIG. 6 . 
         [0083]    Step  530  displays an error indicating that the storage devices  140  cannot be allocated, and the processing terminates. 
         [0084]    Step  600  of  FIG. 6  consults the storage device management table  127  to select one of rows in which user&#39;s information is not registered that exist in the column  310 . 
         [0085]    Step  610  registers the user information in the selected row of the column  310 . 
         [0086]    Step  620  requests the storage device control unit  130  to turn on power to a storage device  140  having an identifier of the column  300  of the selected row. 
         [0087]    Step  630  requests the storage device control unit  130  to initialize a storage device  140  having an identifier of the column  300  of the selected row so that a file  141  can be located. 
         [0088]    Step  640  requests the storage device control unit  130  to turn off power to a storage device  140  having an identifier of the column  300  of the selected row, and the processing terminates. 
         [0089]      FIG. 7  shows a flowchart of processing of the storage device selection means  122  in this embodiment. 
         [0090]    Step  700  gets information of an executing user from a program accessing a file  141 . 
         [0091]    Step  710  consults the storage device management table  127  to search a row for the column  310  in which the gotten user&#39;s information is registered. 
         [0092]    Step  720  requests the storage device control unit  130  to access a file  141  of a storage device  140  having an identifier of the column  300  of the searched row. 
         [0093]      FIG. 8  shows a flowchart of processing of the access start prediction means  123  in this embodiment. 
         [0094]    Step  800  gets information of a user to log in the computer system from a login/logout program  110 . 
         [0095]    Step  810  passes the gotten user&#39;s information to the storage device power-on means  124 , and the processing terminates. 
         [0096]      FIG. 9  shows a flowchart of processing of the storage device power-on means  124  in this embodiment. 
         [0097]    Step  900  gets user&#39;s information from the access start prediction means  123 . 
         [0098]    Step  910  consults the storage device management table  127  to search a row for the column  310  in which the gotten user&#39;s information is registered. 
         [0099]    Step  920  determines the value of the power counter of the column  320  of the searched row. 
         [0100]    Step  920 , when the value of the column  320  is greater than zero, proceeds to Step  930  because power to the storage device  140  is on. When the value of the column  320  is zero, control proceeds to Step  940 . 
         [0101]    Step  930  increments the value of the column  320  of the searched row, and the processing terminates. 
         [0102]    Step  940  requests the storage device control unit  130  to turn off power to a storage device  140  having an identifier of the column  300  of the searched row. 
         [0103]      FIG. 10  shows a flowchart of processing of the access end prediction means  125  in this embodiment. 
         [0104]    Step  1000  gets information of a user to log out from the computer system from the login/logout program  110 . 
         [0105]    Step  1010  determines whether a program the user to log out is executing in background exists. A program executed by a user can be confirmed by using an execution program display command, for example. 
         [0106]    Step  1010  proceeds to Step  1020  because access to a storage device  140  may occur when a program being executed in background exists. When a program being executed in background does not exist, it proceeds to Step  1030 . 
         [0107]    Step  1020  monitors the end of a program being executed in background. 
         [0108]    Step  1030  passes the gotten user&#39;s information to the storage device power-off means  126 , and the processing terminates. 
         [0109]      FIG. 11  shows a flowchart of processing of the storage device power-off means  126  in this embodiment. 
         [0110]    Step  1100  gets user&#39;s information from the access end prediction means  125 . 
         [0111]    Step  1110  consults the storage device management table  127  to search a row for the column  310  in which the gotten user&#39;s information is registered. 
         [0112]    Step  1120  decrements the value of the power counter of the column  320  of the searched row. 
         [0113]    Step  1130  determines the value of the power counter of the column  320  of the searched row. 
         [0114]    In Step  1130 , when the value of the column  320  of the searched line is greater than zero, the processing terminates because power to the storage device  140  does not need to be turned off. When the value of the column  320  of the searched line is zero, control proceeds to Step  1140 . 
         [0115]    Step  1140  requests the storage device control unit  130  to turn off power to a storage device  140  having an identifier of the column  300  of the searched row. 
         [0116]      FIG. 12  is an explanatory drawing showing a directory structure view  1200  in this embodiment. 
         [0117]    The directory structure view  1200  is a directory structure viewable to users who use the computer system. 
         [0118]    Directory structures  1210 ,  1211 , and  1212  each show file locations in storage devices  140  allocated based on user&#39;s information. 
         [0119]    The file system program  120  makes an overlap of the directory structures  1210  and  1211  of storage devices  140  the power to which is on appear as the directory structure view  1200  to users who use the computer. 
         [0120]    Therefore, according to this embodiment, in the file system program  120 , the storage device allocation means  121  and the storage device selection means  122  control storage devices in which files are located, based on information of users who use the computer system, and the storage device power-on means  124  and the storage device power-off means  126  control power to storage devices, based on information of users who use the computer system, thereby increasing the effect of reducing the power consumption of the storages. The access start prediction means  123  and the access end prediction means  125  control power to storage devices when users log in to or log out from the computer system, thereby preventing access to a file from a user-executed program from timing out. 
       Second Embodiment 
       [0121]      FIG. 13  is a schematic block diagram showing a computer system in a second embodiment of the present invention. This embodiment will be described, centering on differences from the first embodiment. 
         [0122]    The computer system in this embodiment includes a job schedule program  1300 , in addition to the configuration of the computer system of the above-described first embodiment. 
         [0123]    The job schedule program  1300  holds jobs of users registered in the computer system and schedules their execution. Moreover, the job schedule program  1300 , when starting or terminating the execution of held jobs, consults the user management table  101  to acquire user&#39;s information and pass it to the file system program  120 . 
         [0124]      FIG. 14  shows a flowchart of processing of the access start prediction means  123  in this embodiment. 
         [0125]    The access start prediction means  123  in this embodiment includes steps on the job schedule program  1300 , in addition to the steps of the access start prediction means  123  of the above-described first embodiment. 
         [0126]    Step  1400  gets user&#39;s information of a job to start execution from the job schedule program  1300 . 
         [0127]    Step  1401  passes the acquired user&#39;s information to the storage device power-on means  124 , and the processing terminates. 
         [0128]      FIG. 15  shows a flowchart of processing of the access end prediction means  125  in this embodiment. 
         [0129]    The access end prediction means  125  in this embodiment includes a step on the job schedule program  1300 , in addition to the steps of the access end prediction means  125  of the above-described first embodiment. 
         [0130]    Step  1500  gets user&#39;s information of a job having been executed from the job schedule program  1300 . 
         [0131]    Step  1501  passes the gotten user&#39;s information to the storage device power-off means  126 , and the processing terminates. 
         [0132]    Therefore, according to this embodiment, in the file system program  120 , the access start prediction means  123  and the access end prediction means  125  control power to storage devices when execution of held jobs is started or terminated, thereby preventing access to a file from the jobs from timing out and increasing the effect of reducing power consumption of the storages. 
       Third Embodiment 
       [0133]    A general construction of a computer system in the third embodiment is the same as that of the computer systems in the first or second embodiment. This embodiment will be described, centering on differences from the first or second embodiment. 
         [0134]      FIG. 16  is an explanatory drawing showing a file  141  in this embodiment. Metadata  400  of the file  141  in this embodiment has an attribute  1600  indicating distributed access to the file, in addition to the information of the metadata  400  of the first or second embodiment. 
         [0135]      FIG. 17  is an explanatory drawing showing a storage device management table  127  in this embodiment. The storage device management table  127  in this embodiment has a column  1700  indicating the identifier of a storage device  140  in which the file  141  is split and located, in addition to the columns of the storage device management table  127  of the first or second embodiment. 
         [0136]      FIGS. 18 ,  19 , and  20  show flowcharts of processing of storage device allocation means  121  in this embodiment. 
         [0137]    The storage device allocation means  121  in this embodiment includes steps on the storage device  140  in which the file  141  is split and located, in addition to the steps of the storage device allocation means  121  of the first or second embodiment. This embodiment assumes that the storage device  140  in which the split file  141  is located can be allocated to other users. In this embodiment, as a storage device  140  in which the split file  141  is located, a storage device  140  of a continuous row of the storage device management table  127  is allocated. 
         [0138]    Step  1900  of  FIG. 19  determines whether an identifier of the column  300  of the selected row is registered in the column  1700  of a previous row. 
         [0139]    In that case, since a storage device  140  having an identifier of the column  300  of the selected row does not need to be initialized, Step  1900  proceeds to Step  1920 . Otherwise, control proceeds to Step  620  of  FIG. 20 . 
         [0140]    Step  1910  registers an identifier of the column  300  to an identifier of the column  1700  of a previous row. 
         [0141]    Step  1920  determines whether the number of allocated storage devices  140  matches the number of splits of the file  141 . 
         [0142]    In that case, the processing terminates. Otherwise, control proceeds to Step  1930 . 
         [0143]    Step  1930  selects the next row of the storage device management table  127 , and returns to Step  1900 . 
         [0144]    Step  2000  of  FIG. 20  registers an identifier indicating that the next storage device  140  in which the file  141  is split and located is undefined, to an identifier of the column  1700  of a selected row. In this embodiment, as an identifier indicating that the next storage device  140  in which the file  141  is split and located is undefined, an identifier of the column  300  of the selected row is used. 
         [0145]      FIGS. 21 and 22  show flowcharts of processing of the storage device power-on means  124  in this embodiment. 
         [0146]    The storage device power-on means  124  in this embodiment includes steps on the storage device  140  in which the file  141  is split and located, in addition to the steps of the storage device power-on means  124  of the first and second embodiments. 
         [0147]    Step  2200  of  FIG. 22  determines whether the number of the storage devices  140  the power of which is turned on matches the number of splits of the file  141 . 
         [0148]    In that case, the processing terminates. Otherwise, control proceeds to Step  2210 . 
         [0149]    Step  2210  consults the storage device management table  127  to search a row for the column  300  in which an identifier of the column  1700  of the searched row is registered, and returns to Step  920  of  FIG. 21 . 
         [0150]      FIGS. 23 and 24  show flowcharts of processing of the storage device power-off means  126  in this embodiment. 
         [0151]    The storage device power-off means  126  in this embodiment includes steps on the storage device  140  in which the file  141  is split and located, in addition to the steps of the storage device power-off means  126  in the first or second embodiment. 
         [0152]    Step  2400  of  FIG. 24  determines whether the number of storage devices  140  the power to which is turned off matches the number of splits of the file  141 . 
         [0153]    In that case, the processing terminates. Otherwise, control proceeds to Step  2410 . 
         [0154]    Step  2410  consults the storage device management table  127  to search a row for the column  300  in which an identifier of the column  1700  of the searched row is registered, and returns to Step  1120  of  FIG. 23 . 
         [0155]      FIGS. 25 ,  26 , and  27  show flowcharts of processing of the storage device selection means  122  in this embodiment. 
         [0156]    The storage device selection means  122  in this embodiment includes steps on the split location of the file  141 , in addition to the steps of the storage device selection means  122  of the first or second embodiment. 
         [0157]    Step  2500  of  FIG. 25  determines whether a distributed access attribute  1600  of the metadata  400  of the file  141  to be accessed is specified. 
         [0158]    Otherwise, control proceeds to Step  2600  of  FIG. 26 . When the distributed access attribute  1600  is specified, control proceeds to Step  2700  of  FIG. 27 . 
         [0159]    Step  2600  of  FIG. 26  determines whether access to the file  141  is an open request. 
         [0160]    In that case, control proceeds to Step  2610 . Otherwise, control proceeds to Step  720 . 
         [0161]    Step  2610  determines whether the file  141  is split and located in a storage device  140  having an identifier of the column  1700  of the searched row. 
         [0162]    Otherwise, the processing terminates. In that case, control proceeds to Step  2620 . 
         [0163]    Step  2620  searches a row for the column  300  in which an identifier of the column  1700  of a row searched is registered, according to the number of splits of the file  141 , and requests the storage device control unit  130  to relocate the coupled file  141  in the storage device  140 , and the processing terminates. 
         [0164]    Step  2700  of  FIG. 27  determines whether access to the file  141  is an open request. 
         [0165]    In that case, control proceeds to step  2710 . Otherwise, control proceeds to Step  2730 . 
         [0166]    Step  2710  determines whether the file  141  is split and located in a storage device  140  having an identifier of the column  1700  of the searched row. 
         [0167]    In that case, the processing terminates. Otherwise, control proceeds to Step  2720 . 
         [0168]    Step  2720  searches a row for the column  300  in which an identifier of the column  1700  of a row searched is registered, according to the number of splits of the file  141 , and requests the storage device control unit  130  to relocate the split file  141  in the storage device  140 , and the processing terminates. 
         [0169]    Step  2730  searches a row for the column  300  in which an identifier of the column  1700  of a row searched is registered, according to the number of splits of the file  141 , and requests the storage device control unit  130  to distribute access to the storage device  140 , and the processing terminates. 
         [0170]      FIG. 28  is an explanatory drawing showing a file property window  2800  in this embodiment; 
         [0171]    The file property window  2800  has a field  2810  that displays information of the metadata  400  of a file  141 , and a field  2820  that specifies the attributes of the metadata  400  of the file  141 . 
         [0172]    By marking the attributes of the field  2820 , the distributed access attribute  1600  of the metadata  400  of the file  141  is specified, and by the storage device selection means  122 , the file  141  is split and located in the storage device  140 . 
         [0173]      FIG. 29  is an explanatory drawing showing a directory structure view in this embodiment. 
         [0174]    The directory structure view  2900  is a directory structure viewable to users who use the computer system. 
         [0175]    Directory structures  2910 ,  2911 , and  2912  each show file locations in storage devices  140  allocated based on user&#39;s information. In this embodiment, a storage device  140  having the directory structure  2911  is also allocated as a storage device in which the split file  141  of a storage device  140  having the directory structure  2910  is located. Likewise, a storage device  140  having the directory structure  2912  is also allocated as a storage device in which the split file  141  of a storage device  140  having the directory structure  2911  is located. 
         [0176]    The file system program  120  makes an overlap of the directory structures  2910 ,  2911 , and  2912  of storage devices  140  the power to which is on appear as the directory structure view  2900  to users who use the computer. The file system program  120  enables access to files  141  split and located in the storage devices  140  having the directory structures  2911  and  2912 . 
         [0177]    Therefore, according to this embodiment, in the file system program  120 , a file  141  specified with the distribute access attribute  1600  is split and allocated in plural storage devices by the storage device allocation means  121  and the storage device selection means  122 , whereby performance of access to files can be increased while increasing the effect of reducing power consumption of storages. 
       Fourth Embodiment 
       [0178]    A general construction of a computer system in a fourth embodiment of the present invention is the same as that of the computer system in the first or second embodiment. This embodiment will be described, centering on differences from the first or second embodiment. 
         [0179]      FIG. 30  is an explanatory drawing showing a file  141  in this embodiment. 
         [0180]    Metadata  400  of the file  141  in this embodiment has an attribute (access rare attribute)  3000  indicating that access to the file  141  is rare, in addition to the information of the metadata  400  of the first or second embodiment. 
         [0181]      FIG. 31  is an explanatory drawing showing the storage device management table  127  in this embodiment. 
         [0182]    The storage device management table  127  in this embodiment has a column  3100  showing the identifiers of storage devices  140  in which data  410  of rarely accessed files  141  is located, in addition to the columns of the storage device management table  127  of the first or second embodiment. 
         [0183]      FIGS. 32 ,  33 , and  34  show flowcharts of processing of the storage device allocation means  121  in this embodiment. 
         [0184]    The storage device allocation means  121  in this embodiment includes steps on a storage device  140  in which the data  410  of a rarely accessed file  141  is located, in addition to the steps of the storage device allocation means  121  in the first or second embodiment. This embodiment assumes that the storage device  140  in which the data  410  of a rarely accessed file  141  is located can be allocated to other users. Moreover, in this embodiment, as the storage device  140  in which the data  410  of a rarely accessed file  141  is located, a storage device  140  of the next row of the storage device management table  127  is allocated. 
         [0185]    Step  3300  of  FIG. 33  selects the next row of the storage device management table  127 . 
         [0186]    Step  3400  of  FIG. 34  determines whether an identifier of the column  300  of a selected row is registered in the column  3100  of a previous row. 
         [0187]    In that case, control returns to the caller because a storage device  140  having an identifier of the column  300  of the selected row does not need to be initialized. Otherwise, control proceeds to Step  620 . 
         [0188]    Step  3410  registers an identifier indicating that a storage device  140  in which the data  410  of a rarely accessed file  141  is located is undefined, in an identifier of the column  3100  of the selected row. In this embodiment, as an identifier indicating that a storage device  140  in which the data  410  of a rarely accessed file  141  is located is undefined, an identifier of the column  300  of the selected row is used. 
         [0189]    Step  3420  registers an identifier of the column  300  of the selected row in an identifier of the column  1700  of the previous row. 
         [0190]    The storage device power-on means  124  in this embodiment is the same as that in the first or second embodiment, and does not include steps on a storage device  140  in which the data  410  of a rarely accessed file  141  is located. 
         [0191]    The storage device power-off means  126  in this embodiment is the same as that in the first or second embodiment, and does not include steps on a storage device  140  in which the data  410  of a rarely accessed file  141  is located. 
         [0192]      FIGS. 35 ,  36 ,  37 ,  38 ,  39 , and  40  show flowcharts of processing of the storage device selection means  122  in this embodiment. 
         [0193]    The storage device selection means  122  in this embodiment includes steps on the location of a rarely accessed file  141 , in addition to the steps of the storage device selection means  122  of the first or second embodiment. 
         [0194]    Step  3500  of  FIG. 35  determines whether the access rare attribute  3000  of the metadata  400  of the file  141  to be accessed is specified. 
         [0195]    Otherwise, control proceeds to Step  3600  of  FIG. 36 . In that case, control proceeds to Step  3900  of  FIG. 39 . 
         [0196]    Step  3600  of  FIG. 36  determines whether access to the file  141  is an open request. 
         [0197]    In that case, control proceeds to Step  3610 . Otherwise, control proceeds to Step  720 . 
         [0198]    Step  3610  determines whether the data  410  of the file  141  is located in a storage device  140  having an identifier of the column  3100  of the searched row. 
         [0199]    Otherwise, the processing terminates. In that case, control proceeds to Step  3620 . 
         [0200]    Step  3620  consults the storage device management table  127  to search a row for the column  300  in which an identifier of the column  3100  of the searched row is registered and select the row, and proceeds to Step  3700  of  FIG. 37 . 
         [0201]    Step  3630  requests the storage device control unit  130  to relocate the data  410  of the file  141  in a storage device  140  having an identifier of the column  300  of the searched row, and proceeds to Step  3800  of  FIG. 38 . 
         [0202]    Step  3700  of  FIG. 37  determines the value of a power counter of the column  320  of the selected row. 
         [0203]    In Step  3700 , when the value of the column  320  of the selected row is greater than zero, control proceeds to Step  3710  because the power to the storage device  140  does not need to be turned on. When the value of the column  320  of the selected row is zero, control proceeds to Step  3720 . 
         [0204]    Step  3710  increments the value of the column  320  of the selected row, and returns to the caller. 
         [0205]    Step  3720  requests the storage device control unit  130  to turn on power to a storage device  140  having an identifier of the column  300  of the selected row. 
         [0206]    Step  3800  of  FIG. 38  decrements the value of the column  320  of the selected row. 
         [0207]    Step  3810  determines the value of a power counter of the column  320  of the selected row. 
         [0208]    In Step  3810 , when the value of the column  320  of the selected row is greater than zero, control returns to the caller when power to the storage device  140  does not need to be turned off. When the value of the column  320  of the selected row is zero, control proceeds to Step  3820 . 
         [0209]    Step  3820  requests the storage device control unit  130  to turn off power to a storage device  140  having an identifier of the column  300  of the selected row, and returns to the caller. 
         [0210]    Step  3900  of  FIG. 39  consults the storage device management table  127  to select a row of the column  300  in which an identifier of the column  3100  of the searched row is registered. 
         [0211]    Step  3910  determines whether access to the file  141  is an open request. 
         [0212]    In that case, control proceeds to Step  3700  of  FIG. 37 . Otherwise, control proceeds to Step  4000  of  FIG. 40 . 
         [0213]    Step  3920  determines whether the data  410  is located in a storage device  140  having an identifier of the column  300  of the selected row. 
         [0214]    In that case, the processing terminates. Otherwise, control proceeds to Step  3930 . 
         [0215]    Step  3930  requests the storage device control unit  130  to relocate the data  410  of the file  141  in a storage device  140  having an identifier of the column  300  of the selected row, and the processing terminates. 
         [0216]    Step  4000  of  FIG. 40  determines whether access to the file  141  is a close request. 
         [0217]    In that case, control proceeds to Step  3800  of  FIG. 38 . Otherwise, control proceeds to Step  4010 . 
         [0218]    Step  4010  requests the storage device control unit  130  to distribute metadata  400  access and data  410  access of the file  141  to the storage device  140  according to an identifier of the column  300  of the searched row and an identifier of the column  300  of the selected row, and the processing terminates. 
         [0219]      FIG. 41  is an explanatory drawing showing a file property window  4100  in this embodiment. 
         [0220]    The file property window  4100  has a field  4110  to display information of metadata  400  of the file  141  and a field  4120  to specify attributes of metadata  400  of the file  141 . 
         [0221]    By marking the attributes of the field  4120 , the access rate attribute  3000  of the metadata  400  of the file  141  is specified, and by the storage device selection means  122 , the metadata  400  and the data  410  of the file  141  are split and located in the storage device  140 . 
         [0222]      FIG. 42  is an explanatory drawing showing a directory structure view in this embodiment. 
         [0223]    The directory structure view  4200  is a directory structure viewable to users who use the computer system. 
         [0224]    Directory structures  4210 ,  4211 , and  4212  each show file locations in storage devices  140  allocated based on user&#39;s information. In this embodiment, a storage device  140  having the directory structure  4211  is also allocated as a storage device in which the data  410  of a rarely accessed file  141  of a storage device  140  having the directory structure  4210  is located. Likewise, a storage device  140  having the directory structure  4212  is also allocated as a storage device in which the data  410  of a rarely accessed file  141  of a storage device  140  having the directory structure  4211  is located. 
         [0225]    The file system program  120  makes an overlap of the directory structures  4210  and  4211  of storage devices  140  the power to which is on appear as the directory structure view  4200  to users who use the computer. By the file system program  120 , power to the storage device  140  having the directory structure  4212  is not turned on until an allocating user starts the use of the computer system, or a request to a rarely accessed file  141  in the storage device  140  having the directory structure  4211  occurs. 
         [0226]    Therefore, according to this embodiment, in the file system program  120 , by locating metadata  400  and data  410  of a file  141  specified with the access rare attribute  1600  in different storage devices by the storage device allocation means  121  and the storage device selection means  122 , storages can be efficiently used while increasing the effect of reducing power consumption of the storages. 
         [0227]    Although the present invention has bee described in detail based on various embodiments, it goes without saying that the present invention is not limited to the above-described embodiments, and may be modified in various ways without departing from its purport such as group identifiers are used as users&#39; information instead of users&#39; identifiers. 
         [0228]    The present invention can apply to a method for managing storages by a file system in a computer system, particularly a method for managing storage power in a large-scale computer system.