US20100100757A1 - Power estimating method and computer system - Google Patents
Power estimating method and computer system Download PDFInfo
- Publication number
- US20100100757A1 US20100100757A1 US12/351,232 US35123209A US2010100757A1 US 20100100757 A1 US20100100757 A1 US 20100100757A1 US 35123209 A US35123209 A US 35123209A US 2010100757 A1 US2010100757 A1 US 2010100757A1
- Authority
- US
- United States
- Prior art keywords
- access
- power consumption
- processor
- disk drives
- volumes
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3221—Monitoring of peripheral devices of disk drive devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to a storage system storing data in plural magnetic disk devices.
- a storage system in which a sub-system is constructed by a disk array including magnetic disk devices and data is stored in the disk array.
- the storage system Since the storage system is connected to plural computers, the storage system is often used in an environment such as a data center on which many computers are concentrated.
- Power consumption of the data centers or devices disposed in the data centers tends to increase. Particularly, the power consumption of the storage system is great and thus there is a need for power saving control such as shutting down the power supply of disks or carrying out migration of data depending on operating statuses of devices in the storage system.
- power saving control such as shutting down the power supply of disks or carrying out migration of data depending on operating statuses of devices in the storage system.
- it is necessary to accurately obtain the power consumption depending on the operating statuses of devices by detailed constituent units.
- the storage system Since the storage system is generally connected to plural host computers, the same physical resources in the storage system are shared with the plural host computers. In general, the physical resources in the storage system are logical partitioned and the storage system provides the resultant logical resources to the host computers.
- the power consumption of the storage system should be obtained every host computer, that is, every logical resource.
- a method of providing a threshold value to the power consumption of a device and controlling a rotation frequency of a disk and an ON/OFF operation of a power source so that the power is smaller than the threshold value is known (for example, JP-A-2008-003719).
- JP-A-2008-003719 a control is made using the maximum values of power consumption of components, that is, the rated power.
- JP-A-2008-003719 The cumulative power consumption described in JP-A-2008-003719 is greatly different from the actual power consumption and thus a control with high precision cannot be made.
- a method of calculating power consumption by logical partitions when a single hardware resource is shared by plural logical partitions is not described therein.
- the invention is contrived to solve the above-mentioned problems.
- An advantage of some aspects of the invention is to acquire power consumption of each part and each logical partition in a storage system.
- a representative example of the invention is as follows. That is, there is provided a power estimating method in a computer system including a management computer and a storage system connected to the management computer and a host computer.
- the management computer includes a first interface connected to the storage system, a first processor connected to the first interface, and a first memory connected to the first processor.
- the host computer includes a second interface connected to the storage system, a second processor connected to the second interface, and a second memory connected to the second processor.
- the storage system includes at least one third processor controlling read and write of data to and from a plurality of disk drives, a control memory connected to the third processor, a management interface connected to the management computer, a host interface connected to the host computer, a disk interface connected to the disk drives, and a cache memory unit temporarily storing data.
- the third processor, the management interface, the host interface, the disk interface, and the cache memory unit are connected to each other.
- the cache memory unit includes a plurality of third memories and a memory controller controlling the plurality of third memories.
- the control memory stores a storage control program for controlling the storage system and control data used to control the storage system.
- the storage control program includes a power estimating program for estimating power and the control data includes incremental power consumption information indicating power consumption increments of the disk drives, the cache memory unit, and the third processor when the storage system is operating.
- the storage system prepares logical storage-volumes in a real area of the plurality of disk drives, logically partitions physical resources of the storage system to generate a plurality of logical partitions including the logical storage-volumes and the logically-partitioned physical resources, and provides the logical partitions to the host computer.
- the incremental power consumption information includes information on power consumption increments of the disk drives in access directions to the logical storage-volumes.
- the power estimating method includes the steps of: allowing the third processor to calculate operation rates of the disk drives for access to the logical storage-volumes from operating times of the disk drives for access to the logical storage-volumes; allowing the third processor to calculate power consumption increments of the disk drives for access to the logical storage-volumes by access directions from the incremental power consumption information and the calculated operation rates of the disk drives; and allowing the third processor to transmit the calculated power consumption increments of the disk drive for access to the logical storage-volumes to the management computer.
- FIG. 1 is a block diagram illustrating a configuration of a computer system according to a first embodiment of the invention.
- FIG. 2 is a block diagram illustrating a configuration of cache memory unit according to the first embodiment of the invention.
- FIG. 3 is a diagram illustrating an example of an access time record table according to the first embodiment of the invention.
- FIG. 4 is a diagram illustrating functions of a storage control program according to the first embodiment of the invention.
- FIG. 5 is a block diagram illustrating a configuration of control data according to the first embodiment of the invention.
- FIG. 6 is a diagram illustrating an example of a disk configuration table according to the first embodiment of the invention.
- FIG. 7 is a diagram illustrating an example of a disk power specification table according to the first embodiment of the invention.
- FIG. 8 is a diagram illustrating an example of a disk operation record table according to the first embodiment of the invention.
- FIG. 9 is a diagram illustrating an example of a tag management table according to the first embodiment of the invention.
- FIG. 10 is a diagram illustrating an example of an I/O issuing status table according to the first embodiment of the invention.
- FIG. 11 is a diagram illustrating an example of a controller configuration table according to the first embodiment of the invention.
- FIG. 12 is a diagram illustrating an example of a controller power specification table according to the first embodiment of the invention.
- FIG. 13 is a diagram illustrating an example of a controller power variation specification table according to the first embodiment of the invention.
- FIG. 14 is a diagram illustrating an example of a processor operating status table according to the first embodiment of the invention.
- FIG. 15 is a diagram illustrating another example of a processor operating status table according to the first embodiment of the invention.
- FIG. 16 is a flowchart illustrating an example of a host I/O command receiving function according to the first embodiment of the invention.
- FIG. 17 is a flowchart illustrating an example of a disk I/O command issuing function according to the first embodiment of the invention.
- FIG. 18 is a flowchart illustrating an example of a disk I/O completion function according to the first embodiment of the invention.
- FIG. 19 is a flowchart illustrating an example of a job start function according to the first embodiment of the invention.
- FIG. 20 is a flowchart illustrating an example of a job stop function according to the first embodiment of the invention.
- FIG. 21 is a flowchart illustrating an example of a power estimating function according to the first embodiment of the invention.
- FIG. 22 is a diagram illustrating an example of a method of calculating a disk power increment in S 241 and S 243 of the power estimating function according to the first embodiment of the invention.
- FIG. 23 is a diagram illustrating an example of display data transmitted to a management computer in S 244 of the power estimating function according to the first embodiment of the invention.
- FIG. 24 is a block diagram illustrating functions and tables of a storage management program according to the first embodiment of the invention.
- FIG. 25 is a diagram illustrating an example of a power consumption history table according to the first embodiment of the invention.
- FIG. 26 is a block diagram illustrating functions and tables of a storage management program according to a second embodiment of the invention.
- FIG. 27 is a diagram illustrating an example of a virtual storage-volume mapping table according to the second embodiment of the invention.
- FIG. 28 is a diagram illustrating functions of a storage control program according to the second embodiment of the invention.
- FIG. 29 is a block diagram illustrating a configuration of control data according to the second embodiment of the invention.
- FIG. 30 is a diagram illustrating an example of an LDEV-physical volume mapping table according to the second embodiment of the invention.
- FIG. 31 is a diagram illustrating an example of a disk operation record table according to the second embodiment of the invention.
- FIG. 32 is a diagram illustrating an example of a tag management table according to the second embodiment of the invention.
- FIG. 33 is a diagram illustrating an example of an I/O issuing status table according to the second embodiment of the invention.
- FIG. 34 is a diagram illustrating an example of a processor operating status table according to the second embodiment of the invention.
- FIG. 35 is a diagram illustrating another example of a processor operating status table according to the second embodiment of the invention.
- FIG. 36 is a diagram illustrating an example of a cache access-amount table according to the second embodiment of the invention.
- FIG. 37 is a diagram illustrating an example of a disk I/O command issuing function according to the second embodiment of the invention.
- FIG. 38 is a diagram illustrating an example of a disk I/O completion function according to the second embodiment of the invention.
- FIG. 39 is a diagram illustrating an example of a job start function according to the second embodiment of the invention.
- FIG. 40 is a diagram illustrating an example of a job stop function according to the second embodiment of the invention.
- FIG. 41 is a diagram illustrating an example of a data transfer starting function according to the second embodiment of the invention.
- FIG. 42 is a flowchart illustrating an example of a power estimating function according to the second embodiment of the invention.
- FIG. 43 is a diagram illustrating an example of display data transmitted to a management computer in S 244 of the power estimating function according to the second embodiment of the invention.
- FIG. 44 is a diagram illustrating an example of a power consumption history table according to the second embodiment of the invention.
- FIG. 45 is a flowchart illustrating an example of a virtual storage power displaying function according to the second embodiment of the invention.
- FIG. 46 is a diagram illustrating an example of a virtual storage power consumption output performed by the virtual storage power displaying function according to the second embodiment of the invention.
- FIG. 47 is a diagram illustrating functions of a storage control program according to a third embodiment of the invention.
- FIG. 48 is a block diagram illustrating a configuration of control data according to the third embodiment of the invention.
- FIG. 49 is a diagram illustrating an example of a disk power specification table according to the third embodiment of the invention.
- FIG. 50 is a diagram illustrating an example of a disk operation record table according to the third embodiment of the invention.
- FIG. 51 is a diagram illustrating an example of a disk status table according to the third embodiment of the invention.
- FIG. 52 is a diagram illustrating an example of a disk status changing function according to the third embodiment of the invention.
- FIG. 53 is a flowchart illustrating an example of a power estimating function according to the third embodiment of the invention.
- FIG. 54 is a block diagram illustrating a configuration of control data according to a fourth embodiment of the invention.
- FIG. 55 is a diagram illustrating an example of an SSD power specification table according to the fourth embodiment of the invention.
- FIG. 56 is a diagram illustrating an example of an SSD operation record table according to the fourth embodiment of the invention.
- FIG. 57 is a flowchart illustrating an example of a disk I/O issuing function according to the fourth embodiment of the invention.
- FIG. 58 is a flowchart illustrating an example of a disk I/O completion function according to the fourth embodiment of the invention.
- FIG. 59A is a flowchart illustrating an example of a power estimating function according to the fourth embodiment of the invention.
- FIG. 59B is a flowchart illustrating another example of the power estimating function according to the fourth embodiment of the invention.
- FIG. 60 is a block diagram illustrating functions and tables of a storage management program according to a fifth embodiment of the invention.
- FIG. 61 is a diagram illustrating an example of a virtual storage-disk resource mapping table according to the fifth embodiment of the invention.
- FIG. 62 is a diagram illustrating an example of a virtual storage-controller resource mapping table according to the fifth embodiment of the invention.
- FIG. 63 is a diagram illustrating an example of a virtual storage power displaying function according to the fifth embodiment of the invention.
- FIG. 64 is a diagram illustrating an example of a virtual storage power consumption displaying picture according to the fifth embodiment of the invention.
- power consumption corresponding to operating statuses is calculated as follows.
- a controller of the storage system When the storage system holds information on idle power consumption and power consumption (hereinafter, referred to as power consumption base data) in a status of always processing accesses of I/O types (random or sequential and read or write) by disk types, a controller of the storage system totals a time for waiting for a response from disks by I/O types.
- the storage system calculates the power consumption corresponding to the operating status from the held power consumption base data and the logged operation information.
- the storage system records an operating time of a processor and an access time to a cache memory in the controller part and calculates the power consumption from the operating time of the processor and the access time to the cache memory.
- the status of always processing an access of any I/O type is also referred to as a fully operating status.
- FIG. 1 is a block diagram illustrating a configuration of a computer system according to the first embodiment of the invention.
- the computer system includes a storage system 1 , a management computer 4 , and a host computer 71 .
- the storage system 1 is connected to the management computer 4 and the host computer 71 .
- the storage system 1 includes disk drives 6 , a host interface (I/F) unit 72 , a disk interface (I/F) unit 74 , a cache memory unit 73 , a controller 75 , a management computer interface (I/F) unit 77 , and a switching unit 76 .
- the host I/F unit 72 is an interface for connection to the host computer 71 and the storage system 1 transmits and receives data to and from the host computer 71 through the host I/F unit 72 .
- the host I/F unit 72 includes a protocol conversion LSI 721 and a data transfer LSI 722 .
- the protocol conversion LSI 721 converts a protocol of a fibre channel used for connection to the host computer 71 and a protocol of a PCI used in the storage.
- the data transfer LSI 722 transmits data between the protocol conversion LSI 721 and the cache memory unit 73 in accordance with a command from the controller 75 .
- the number of host I/F units 72 is 2, but the storage system 1 may include two or more host I/F units 72 .
- the protocol conversion LSI 721 may convert a protocol other than the protocol of a fibre channel and the protocol of a PCI.
- the cache memory unit 73 stores data for quick access to a part of data stored in the disk drives 6 .
- the disk I/F unit 74 is an interface for connection to the disk drives 6 in the storage system 1 and the storage system 1 transmits and receives data to and from the disk drives 6 through the disk I/F unit 74 .
- the disk I/F unit 74 includes a protocol conversion LSI 741 and a data transfer LSI 742 .
- the protocol conversion LSI 741 converts a protocol of a fibre channel or an SAS (Serial Attached SCSI) used for connection to the disk drives 6 and a protocol used in the storage.
- SAS Serial Attached SCSI
- the data transfer LSI 742 transmits data between the disk drives 6 and the cache memory unit 73 in accordance with a command from the controller 75 .
- the protocol conversion LSI 741 may convert a protocol other than the protocol of a fibre channel, the protocol of an SAS, and the protocol used in the storage.
- the controller 75 controls the storage system 1 .
- the controller 75 includes a processor 78 and a control memory 79 .
- the processor 78 includes plural processor cores 781 .
- the control memory 79 stores a storage control program 2 and control data 3 which is information necessary for storage control.
- the processor 78 executes the storage control program 2 controlling the storage system 1 to control the storage system 1 .
- the controller 75 controls data transfer in the storage system 1 .
- the management computer I/F unit 77 is an interface for connection to the management computer 4 .
- the storage system 1 transmits and receives data to and from the management computer 4 through the management computer I/F unit 77 .
- the switching unit 76 connects the host I/F unit 72 , the cache memory unit 73 , the disk I/F unit 74 , the controller 75 , and the management computer I/F unit 77 .
- the management computer 4 includes a processor (not shown), a nonvolatile storage medium (not shown), and a memory (not shown).
- the nonvolatile storage medium stores a storage management program 5 for managing the storage system 1 .
- the storage system 1 is managed by the storage management program 5 .
- the host computer 71 includes a processor (not shown), a nonvolatile storage medium (not shown), and a memory (not shown) and reads data from the disk drives 6 of the storage system 1 or writes data to the disk drives 6 .
- FIG. 2 is a block diagram illustrating a configuration of the cache memory unit 73 according to the first embodiment of the invention.
- the cache memory unit 73 includes a memory control LSI 731 and memory modules (DIMM) 733 .
- the memory controller LSI 731 converts a protocol of a PCI used in the storage system 1 and an SDRAM access protocol used for access to the memory module 733 .
- the memory controller LSI 731 includes an access time record table 732 having access times to the memory modules 733 recorded therein.
- the memory controller LSI 731 may convert a protocol other than the protocol of a PCI used in the storage system 1 and the SDRAM access protocol used for access to the memory modules 733 .
- FIG. 3 is a diagram illustrating an example of the access time record table 732 according to the first embodiment of the invention.
- the access time record table 732 includes a channel number 7321 and an access time 7322 .
- the channel number 7321 stores an identifier of a channel which is a data transfer path between the memory modules 733 and the memory controller LSI 731 .
- the access time 7322 stores a value indicating a cumulative time of past access times of the respective channels.
- FIG. 4 is a block diagram illustrating functions of the storage control program 2 according to the first embodiment of the invention.
- the storage control program 2 includes a host I/O command receiving function 21 , a disk I/O command issuing function 22 , a disk I/O completion function 23 , a power estimating function 24 , a job start function 25 , and a job stop function 26 .
- the details of the functions will be described later with reference to FIGS. 16 to 20 .
- FIG. 5 is a block diagram illustrating a configuration of the control data 3 according to the first embodiment of the invention.
- the control data 3 includes a disk configuration table 31 , a disk power specification table 32 , a disk operation record table 33 , a tag management table 34 , an I/O issuing status table 35 , a controller configuration table 36 , a controller power specification table 37 , a controller power variation specification table 38 , a processor operation record table 39 , and a processor operating status table 30 .
- the tables are described now.
- FIG. 6 is a diagram illustrating an example of the disk configuration table 31 according to the first embodiment of the invention.
- the disk configuration table 31 manages types of the disk drives 6 mounted on the storage system 1 and physical positions of the disk drives 6 .
- the disk configuration table 31 is updated at the time of adding or removing a disk drive 6 .
- the power estimating function 24 refers to the disk configuration table 31 at the time of estimating power.
- the disk configuration table 31 includes a disk number 311 and a disk type 312 .
- the disk number 311 stores information indicating the physical positions of the disk drives 6 . For example, an identifier identifying a slot number of the storage system 1 is stored in the disk number.
- the disk type 312 stores information indicating what type of disk drive 6 is mounted at a position corresponding to the disk number 311 .
- the types of the disk drives 6 are stored therein.
- the disk type may be any information as long as it can identify the disk drives 6 having different power specifications.
- FIG. 7 is a diagram illustrating an example of the disk power specification table 32 according to the first embodiment of the invention.
- the disk power specification table 32 manages power consumption in various statuses by types of the disk drives 6 mounted on the storage system 1 .
- the disk power specification table 32 is updated when a new type of disk drive 6 is added.
- the power estimating function 24 refers to the disk power specification table 32 at the time of estimating power.
- the disk power specification table 32 includes a disk type 321 , an idle power 322 , a random-read power increment 323 , a random-write power increment 324 , a sequential-read power increment 325 , and a sequential-write power increment 326 .
- the disk type 321 stores an identifier identifying disk types. For example, the types of the disk drives 6 are stored therein.
- the disk type is the same as the disk type 312 shown in FIG. 6 .
- the idle power 322 stores the power consumption when the corresponding disk drive 6 is in an idle status.
- the idle status means a status where a power source is turned on and an access can be accepted but no access is accepted.
- the random-read power increment 323 stores a value indicating a difference between the power consumption and the idle power 322 when the corresponding disk drive 6 receives only the random read and is in the fully operating status.
- the random read means a status where the host computer 71 issues a read access command having no locality to the entire disk drives 6 .
- the random-write power increment 324 stores a value indicating a difference between the power consumption and the idle power 322 when the corresponding disk drive 6 receives only the random write and is in the fully operating status.
- the random write means a status where the host computer 71 issues a write access command having no locality to the entire disk drives 6 .
- the sequential-read power increment 325 stores a value indicating a difference between the power consumption and the idle power when the corresponding disk drive 6 receives only the sequential read and is in the fully operating status.
- the sequential read means a status where the host computer 71 issues a read access command sequentially to continuous areas of a disk drive.
- the sequential-write power increment 326 stores a value indicating a difference between the power consumption and the idle power when the corresponding disk drive 6 receives only a sequential write and is in the fully operating status.
- the sequential write means a status where the host computer 71 issues a write access command sequentially to continuous areas of a disk drive.
- FIG. 8 is a diagram illustrating an example of the disk operation record table 33 according to the first embodiment of the invention.
- the disk operation record table 33 manages access times to the disk drives 6 .
- the disk operation record table 33 is updated every access to the disk drives 6 .
- the power estimating function 24 refers to the disk operation record table 33 at the time of estimating power.
- the disk operation record table 33 includes a disk number 331 , a random read cumulative operating time 332 , a random-write cumulative operating time 333 , a sequential-read cumulative operating time 334 , and a sequential write cumulative operation time 335 .
- the disk number 331 stores information indicating physical positions of the disk drives 6 and is the same as the disk number 311 shown in FIG. 6 .
- the random-read cumulative operating time 332 stores a cumulative operating time of times when the random read access is being issued to the disk drive 6 corresponding to the disk number 331 .
- the random-write cumulative operating time 333 stores a cumulative operating time of times when the random write access is being issued to the disk drive 6 corresponding to the disk number 331 .
- the sequential-read cumulative operating time 334 stores a cumulative operating time of times when the sequential read access is being issued to the disk drive 6 corresponding to the disk number 331 .
- the sequential-write cumulative operating time 335 stores a cumulative operating time of times when the sequential write access is being issued to the disk drive 6 corresponding to the disk number 331 .
- FIG. 9 is a diagram illustrating an example of the tag management table 34 according to the first embodiment of the invention.
- the tag management table 34 manages tags as identifiers for identifying accesses issued to the disk drives 6 . Accordingly, when accesses are multiply issued to a single disk drive 6 , it is possible to identify to what access request a response is.
- the tag management table 34 includes a disk number 341 , a tag number 342 , and an access type 343 .
- the disk number 341 stores information indicating physical positions of the disk drives 6 and is the same as the disk number 311 shown in FIG. 6 .
- the tag number 342 stores identifiers for uniquely identifying plural accesses issued to a disk drive 6 at the same time.
- the tag number 342 is specified when the controller 75 issues an access.
- the access type 343 stores information indicating a trigger for access to the disk drive 6 . Specifically, types of accesses to the disk drive 6 are stored in the access type.
- the tag management table 34 stores only the access type 343 and does not manage from what host computer 71 the access should be.
- the controller 75 includes a table (not shown) where identifiers for identifying I/O of the host computers 71 are mapped onto the tag number 342 and manages the host computers 71 and the type of the access issued from the host computers 71 by the corresponding table.
- FIG. 10 is a diagram illustrating an example of the I/O issuing status table 35 according to the first embodiment of the invention.
- the I/O issuing status table 35 manages types of accesses issued to the disk drives 6 and times when accesses to the disk drives are issued.
- the I/O issuing status table 35 is referred to and updated when the disk I/O issuing function 22 issues an access to the disk drives 6 or when the disk I/O completion function 23 processes a response from the disk drives 6 .
- the I/O issuing status table 35 includes a disk number 351 , an access type 352 , a outstanding command count 353 , and a disk operation start time 354 .
- the disk number 351 stores information indicating physical positions of the disk drives 6 and is the same as the disk number 311 shown in FIG. 6 .
- the access type 352 stores information indicating a trigger for access to the disk drives 6 and is the same as the access type 343 shown in FIG. 9 .
- the outstanding command count 353 stores a value indicating how many accesses corresponding to the access type 352 are currently issued to the disk drive 6 corresponding to the disk number 351 .
- the disk operation start time 354 stores a value indicating when the access corresponding to the access type 352 is issued to the disk drive 6 corresponding to the disk number 351 . Specifically, the internal time of the storage system 1 counted after the storage system 1 starts its operation is stored therein.
- FIG. 11 is a diagram illustrating an example of the controller configuration table 36 according to the first embodiment of the invention.
- the controller configuration table 36 manages specific kinds of constituent units such as the cache memory unit 73 and the controller 75 in the storage system 1 and physical positions of the constituent units.
- the controller configuration table 36 is updated at the time of adding or removing a component.
- the power estimating function 24 refers to the controller configuration table 36 at the time of estimating power.
- the controller configuration table 36 includes a type 361 , a slot number 362 , and a component name 363 .
- the type 361 stores types of the constituent units of the storage system 1 such as the controller 75 and the cache memory unit 73 .
- the slot number 362 stores numbers of slots used to add components of the constituent units. The number of slots is provided in advance to the storage system 1 .
- the component name 363 stores information indicating specific types of the components of the constituent units mounted on the slot. When no component is mounted on the slot corresponding to the slot number 362 , “none” is stored therein. However, different information may be stored as the information indicating that no component is mounted.
- controller configuration table 36 By including the controller configuration table 36 , it is possible to know a specific configuration of the storage system 1 .
- FIG. 12 is a diagram illustrating an example of the controller power specification table 37 according to the first embodiment of the invention.
- the controller power specification table 37 manages information on the power consumption when the components mounted on the storage system 1 are in the normal status (idle status).
- the controller power specification table 37 is updated at the time of adding a new type of component.
- the power estimating function 24 refers to the controller power specification table 37 at the time of estimating power.
- the controller power specification table 37 includes a type 371 , a component name 372 , and an idle power 373 .
- the type 371 stores types of the constituent units of the storage system 1 such as the controller 75 and the cache memory unit 73 .
- the type 371 is the same as the type 361 shown in FIG. 11 .
- the component name 372 stores information for identifying components having different power specifications, such as types of the components used to distinguish components having different performance and capacity from each other.
- the component name 372 is the same as the component name 363 shown in FIG. 11 .
- the idle power 373 stores the power consumption of an electrified component not operating (idle).
- FIG. 13 is a diagram illustrating an example of the controller power variation specification table 38 according to the first embodiment of the invention.
- the controller power variation specification table 38 manages power variations in operating statuses of the constituent units of the storage system 1 .
- the controller power variation specification table 38 includes a type 381 , a component name 382 , and a power increment 383 .
- the type 381 stores types of the constituent units of the storage system 1 such as the controller 75 and the cache memory unit 73 .
- the type 381 is the same as the type 361 shown in FIG. 11 .
- the component name 382 stores information for identifying components having different power specifications, such as types of the components used to distinguish components having different performance and capacity from each other.
- the component name 382 is the same as the component name 363 shown in FIG. 11 .
- the power increment 383 stores a power consumption increment when the corresponding component operates in maximum.
- the controller power variation specification table 38 may store information on only the constituent unit of the storage system 1 varying in power consumption or may store information on all the constituent units of the storage system 1 . When the information on the all the constituent units of the storage system 1 is stored, “0” is stored in the power increment 383 of the component not varying in power consumption.
- FIG. 14 is a diagram illustrating an example of the processor operation record table 39 according to the first embodiment of the invention.
- the processor operation record table 39 manages an operating time of the processor 78 of the controller 75 .
- the processor operation record table 39 is updated when a job, that is, the I/O processing function such as the host I/O processing function or the disk I/O processing function of the storage control program 2 , is performed by a scheduler operating on the processor 78 .
- the power estimating function 24 refers to the processor operation record table 39 at the time of estimating power.
- the processor operation record table 39 includes a controller number 391 , a processor core number 392 , and a cumulative operating time 393 .
- the controller number 391 stores identifiers for identifying plural controllers 75 in the storage system 1 .
- the processor core number 392 stores identifiers for identifying plural processor cores 781 in the processor 78 of the controller 75 .
- the cumulative operating time 393 stores a cumulative time of times when a job is executed on the processor core 781 corresponding to the processor core number 392 .
- FIG. 15 is a diagram illustrating an example of the processor operating status table 30 according to the first embodiment of the invention.
- the processor operating status table 30 manages whether a job of the storage control program 2 is executed and the time when the job of the storage control program 2 is started.
- the processor operating status table 30 includes a controller number 301 , a processor core number 302 , and a job start time 303 .
- the controller number 301 stores identifiers for identifying plural controllers 75 in the storage system 1 .
- the controller number 301 is the same as the controller number 391 shown in FIG. 14 .
- the processor core number 302 stores identifiers for identifying plural processor cores 781 in the processor 78 of the controller 75 and is the same as the processor core number 392 shown in FIG. 14 .
- the job start time 303 stores whether a job of the storage control program 2 is currently executed and the time when the job of the storage control program 2 is started. Specifically, when the job of the storage control program 2 is not executed, none is stored in the job start time 303 . When the job of the storage control program 2 is executed, the time when the job of the storage control program 2 is started is stored in the job start time 303 .
- the stored time is an internal time of the storage system 1 .
- FIG. 16 is a flowchart illustrating an example of the host I/O command receiving function 21 according to the first embodiment of the invention.
- the host I/O command receiving function 21 is called when receiving a read request command or a write request command from the host computer 71 and serves to determine the type of the received command and to perform a process corresponding to the determined type of the received command.
- the host I/O command receiving function 21 analyzes the access type of an access request from the host computer 71 (S 2101 ).
- the access type is one of random read, random write, sequential read, and sequential write.
- the host I/O command receiving function 21 determines what type of the analyzed command corresponds to (S 2102 ).
- the host I/O command receiving function 21 determines whether the requested data is stored in the cache memory unit 73 (S 2111 ).
- the host I/O command receiving function 21 starts the disk I/O command issuing function 22 (S 2112 ).
- the host I/O command receiving function 21 gives the trigger for issuing a disk access to the disk I/O command issuing function 22 as a parameter so as to total the access time.
- the host I/O command receiving function 21 gives the random read as a trigger, an address in a disk where data requested from the host exists as a transfer source of an access, and an empty area in the cache memory unit 73 as a transfer destination to the disk I/O command issuing function 22 as parameters to start the disk I/O command issuing function 22 and performs the process of S 2113 .
- the host I/O command receiving function 21 When it is determined in S 2111 that the requested data is not stored, the host I/O command receiving function 21 performs the process of S 2113 .
- the host I/O command receiving function 21 transmits the requested data as a response to the host computer 71 (S 2113 ) and ends the process.
- the host I/O command receiving function 21 When it is determined in S 2102 that the access type is the random write, the host I/O command receiving function 21 writes data sent from the host computer 71 to the cache memory unit 73 (S 2121 ).
- the host I/O command receiving function 21 transmits a response of write completion to the host computer 71 (S 2122 ).
- the host I/O command receiving function 21 determines whether the empty area in the cache memory unit 73 is sufficient (S 2123 ).
- the host I/O command receiving function 21 ends the process.
- the host I/O command receiving function 21 When it is determined that the empty area of the cache memory unit 73 is not sufficient, the host I/O command receiving function 21 writes the data stored in the cache memory unit 73 to the disk 6 so as to receive the write data from the host computer 71 . Specifically, the host I/O command receiving function 21 gives the random write as an access trigger, an area not accessed lately in the cache memory unit 73 as a transfer source, and an address in a disk drive 6 corresponding to the area not accessed as a transfer destination to the disk I/O command issuing function 22 as parameters to start the disk I/O command issuing function 22 (S 2124 ) and ends the process.
- the host I/O command receiving function 21 predicts the access from the host computer 71 and reads the requested data to the cache memory unit 73 , and thus transmits the read data to the host computer 71 as a response (S 2131 ).
- the host I/O command receiving function 21 reads data of the next area to the cache memory unit 73 . Specifically, the host I/O command receiving function 21 gives the sequential read as the access trigger, a next area of the area requested by the host computer 71 as a transfer source, and an empty area in the cache memory unit 73 as a transfer destination to the disk I/O command issuing function 22 as parameters to start the disk I/O command issuing function 22 (S 2132 ) and ends the process.
- the host I/O command receiving function 21 When it is determined in S 2102 that the access type is the sequential write, the host I/O command receiving function 21 writes the data sent from the host computer 71 to the cache memory unit 73 (S 2141 ).
- the host I/O command receiving function 21 then transmits a response of write completion to the host computer 71 (S 2142 ).
- the sequential write has small possibility of write data to the same area again. Accordingly, even when the written data is held in the cache memory unit 73 , the effective performance gain is not expected.
- the host I/O command receiving function 21 evacuates the data written from the host computer 71 to the disk drives 6 . Specifically, the host I/O command receiving function 21 gives the sequential write as the access trigger, an area to which data is written from the host computer as a transfer source, and an address in the corresponding disk drive 6 as a transfer destination to the disk I/O command issuing function 22 as parameters to start the disk I/O command issuing function 22 (S 2143 ) and ends the process.
- FIG. 17 is a flowchart illustrating an example of the disk I/O command issuing function 22 according to the first embodiment of the invention.
- the disk I/O command issuing function 22 is a function of issuing an access to the disk drives 6 and is started in response to a request from the host I/O command receiving function 21 .
- the disk I/O command issuing function 22 analyzes the parameters sent from the host I/O command receiving function 21 as a calling source and extracts the disk drive 6 as an access destination and the access type (S 221 ).
- the disk I/O command issuing function 22 selects the tag number 342 not used, that is, the tag number 342 to which the access type 343 corresponding to the tag number 342 is not written, with reference to the tag management table 34 (S 222 ).
- the disk I/O command issuing function 22 stores the extracted access type in the access type 343 of the entry corresponding to the selected tag number 342 (S 223 ).
- the disk I/O command issuing function 22 transmits a disk access command to the protocol conversion LSI 741 of the disk I/F unit 74 (S 224 ).
- the disk I/O command issuing function 22 determines whether the disk drive 6 as the extracted access destination and the outstanding command count 353 of the entry corresponding to the access type are “0” with reference to the I/O issuing status table 35 (S 225 ).
- the disk I/O command issuing function 22 stores the current time in the disk operation start time 354 of the corresponding entry (S 226 ) and then performs the process of S 227 .
- the disk I/O command issuing function 22 adds “1” to the outstanding command count 353 of the corresponding entry in the I/O issuing status table 35 (S 227 ) and ends the process.
- FIG. 18 is a flowchart illustrating an example of the disk I/O ending function 23 according to the first embodiment of the invention.
- the disk I/O ending function 23 is a function called when the disk I/O command issuing function 22 receives the response to the disk access command issued by the disk I/O command issuing function 22 from the disk drive 6 and manages the access time.
- the disk I/O completion function 23 analyzes the response received from the disk drive 6 and extracts the tag number 342 (S 231 ).
- the disk I/O completion function 23 reads the access type 343 of the entry corresponding to the extracted tag number 342 with reference to the tag management table 34 (S 232 ).
- the disk I/O completion function 23 erases the access type 343 of the entry in the tag management table 34 (S 233 ).
- the disk I/O completion function 23 subtracts “1” from the outstanding command count 353 of the corresponding entry in the I/O issuing status table 35 (S 234 ).
- the disk I/O completion function 23 determines whether the outstanding command count 353 of the corresponding entry in the I/O issuing status table 35 is “0” (S 235 ).
- the disk I/O completion function 23 When it is determined that the outstanding command count 353 of the corresponding entry is “0”, it means that no access corresponding to the access type is issued, that is, the access to the disk drive 6 is completed, and the disk I/O completion function 23 records the access time as operation information. That is, the disk I/O completion function 23 calculates a difference between the disk operation start time 354 of the corresponding entry in the I/O issuing status table 35 and the current time, adds the calculated difference to the cumulative operating times 332 to 335 corresponding to the access type (S 236 ), and then ends the process.
- FIG. 19 is a flowchart illustrating an example of the job starting function 25 according to the first embodiment of the invention.
- the job start function 25 is called by the processor core 781 performing a process requested in the received command or response to call a function (job) corresponding to the process, when receiving the command from the host computer 71 or the response from the disk drive 6 .
- the job starting function 25 checks the entries corresponding to the controller number 301 for identifying the controller 75 including the processor core 781 performing the requested process and the processor core number 302 for identifying the processor core 781 with reference to the processor operating status table 30 .
- the job starting function 25 writes the current time in the job start time 303 of the corresponding entry (S 251 ). Thereafter, the job starting function 25 starts the job corresponding to the requested process (S 252 ) and ends the process.
- FIG. 20 is a flowchart illustrating an example of the job stop function 26 according to the first embodiment of the invention.
- the job stop function 26 is called by the processor core 781 having ending the above-mentioned job and serves to total the process time.
- the job stop function 26 reads the entries corresponding to the controller number 301 for identifying the controller 75 including the processor core 781 performing the requested process and the processor core number 302 for identifying the processor core 781 with reference to the processor operating status table 30 .
- the job stop function 26 calculates a difference between the job start time 303 and the current time with reference to the job start time 303 of the entry corresponding to the read information (S 261 ).
- the job stop function 26 adds the calculated difference to the cumulative operating time 393 of the corresponding entry in the processor operation record table 39 (S 262 ).
- the job stop function 26 erases the value of the job start time 303 of the corresponding entry in the processor operating status table 30 (S 263 ) and ends the process.
- FIG. 21 is a flowchart illustrating an example of the power estimating function 24 according to the first embodiment of the invention.
- the power estimating function 24 calculates operation rates of the disk drives 6 , the controller 75 , and the cache memory unit 73 , estimates the power consumption from the information of the tables and the calculated operation rates, and transmits information on the estimated power consumption to the management computer 4 .
- the power estimating function 24 is called with a predetermined interval.
- the power estimating function 24 calculates disk power consumption from the disk configuration table 31 and the disk power specification table 32 (S 241 ). Specifically, the power estimating function 24 uses the idle power 322 of the entry corresponding to the disk type 312 in the disk power specification table 32 as the disk power consumption with reference to the disk type 312 of the entry in the disk configuration table 31 .
- the power estimating function 24 calculates the operation rates of the disk drives 6 by access types using the information in the disk operation record table 33 and the calling interval of this process (S 242 ). Specifically, the operation rate is calculated using the cumulative operating times 332 to 335 by access types and the calling interval of this process. For example, when the calling interval of this process is “1 second” and the random-read cumulative operating time 332 in the disk operation record table 33 is “1 millisecond”, the operation rate in the random read is “ 1/1000.”
- the power estimating function 24 calculates the power increments of the disk drives 6 from the calculated operation rates and the information in the disk power specification table 32 (S 243 ). For example, when the operation rate in the random read is “ 1/10” and the power increment 323 in the random read is “4.9 W”, the power increment is “0.49 W.” The calculation expression will be described later with reference to FIG. 22 .
- the power estimating function 24 reads the contents of the access time record table 732 for the cache memory unit 73 (S 2402 ).
- the power estimating function 24 calculates the operation rate of the cache memory unit 73 using the read access time 7322 and the calling interval of this process (S 2403 ). For example, when the calling interval of this process is “1 second” and the read access time 7322 is “10 millisecond”, the operation rate of the cache memory unit 73 is “ 1/100.”
- the power estimating function 24 calculates the operation rates of the processor cores 781 using a ratio of the processor operation record table 39 and the calling interval of this process (S 2405 ).
- the calculation method is the same as performed in S 242 .
- the power estimating function 24 calculates the operation rate of the controller 75 from the calculated operation rates of the processor cores 781 (S 2406 ). Specifically, an average of the operation rates of the processor cores 781 in the controller 75 is calculated and the calculated average operation rate of the processor cores 781 is set as the operation rate of the controller 75 . For example, when the controller 75 have four processor cores 781 and the operation rates thereof are “20%”, “40%”, “60%”, and “80%”, the operation rate of the controller 75 is “50%.”
- the power estimating function 24 transmits the calculated power consumption and the calculated power increments of the constituent units to the management computer 4 (S 244 ).
- the power estimating function 24 initializes the cumulative operating times 332 to 335 in the disk operation record table 33 (S 245 ).
- the power estimating function 24 initializes the access time 7322 in the access time record table 732 of the cache memory unit 73 (S 2408 ).
- the power estimating function 24 initializes the cumulative operating time 393 in the processor operation record table 39 (S 2409 ) and ends the process.
- energy consumption may be calculated. Specifically, the energy consumption can be calculated by multiplying the operating time by the calculated power consumption. The calculated energy consumption may be transmitted to the management computer 4 .
- FIG. 22 is a diagram illustrating an example of the method of allowing the power estimating function 24 to calculate a disk power increment in S 241 and S 243 according to the first embodiment of the invention.
- a calculated value 1001 is information indicating the power calculated in the processes shown in FIG. 21 . Specifically, the calculated value stores P_Static, P_RndRd, P_RadWr, P_SeqRd, P_SeqWr, and P_Dynamic.
- the P_Static is the normal power consumption of a disk type 312 .
- the P_RndRd is the power increment in the random read access in a disk type 312 .
- the P_RndWr is the power increment in the random write access in a disk type 312 .
- the P_SeqRd is the power increment in the sequential read access in a disk type 312 .
- the P_SeqWr is the power increment in the sequential write access in a disk type 312 .
- the P_Dynamic is the power increment in the entire accesses in a disk type 3012 .
- the calculation expression 1002 indicates a specific calculation expression of the calculated value 1001 .
- the calculation expression 1002 of the calculated values 1001 will be described now.
- the P_Static is calculated by the following expression.
- P_idle is the idle power consumption.
- the P_RndRd is calculated by the following expression.
- AR_RndRd is the operation rate of the random read access and p_RndRd is the power increment 323 of the random read access.
- the P_RndWr is calculated by the following expression.
- AR_RndWr is the operation rate of the random write access and p_RndWr is the power increment 324 of the random write access.
- the P_SeqRd is calculated by the following expression.
- AR_SeqRd is the operation rate of the sequential read access and p_SeqRd is the power increment 325 of the sequential read access.
- the P_SeqWr is calculated by the following expression.
- AR_SeqWr is the operation rate of the sequential write access and p_SeqWr is the power increment 326 of the sequential write access.
- the P_Dynamic is calculated by the following expression
- the power increments of the disk parts are calculated by the use of the above-mentioned expressions.
- FIG. 23 is a diagram illustrating an example of display data 990 transmitted to the management computer 4 in S 244 of the process performed by the power estimating function 24 according to the first embodiment of the invention.
- the display data 990 includes a part 991 , an average power consumption 992 , a power increment 993 , and an idle power 994 .
- the part 991 stores information indicating the constituent units or components of the storage system 1 .
- information on the type 361 and the component name 363 is stored therein. The information is not fully as long as it can identify the constituent units or components.
- the average power consumption 992 stores information indicating the average power consumption of the part 991 .
- the average power consumption is a value indicating the total value of the calculated power increment and the idle power 994 .
- the power increment 993 stores information indicating the power increment of the disk drives 6 or the controller.
- the part 991 stores the information indicating the disk drive 6 , information on the power increments by access types is stored therein.
- the part 991 stores the information indicating the controller, information on the power increment of the controller is stored therein.
- the idle power 994 stores information indicating the power when the constituent units or components of the storage system 1 are not performing any process.
- FIG. 24 is a block diagram illustrating functions and tables of the storage management program 5 according to the first embodiment of the invention.
- the storage management program 5 includes a power consumption history table 51 and a power consumption updating function 52 .
- the power consumption history table 51 manages power data sent from the storage system 1 .
- the power consumption updating function 52 updates the power consumption history table 51 on the basis of the power data sent from the storage system 1 .
- FIG. 25 is a diagram illustrating the power consumption history table 51 according to the first embodiment of the invention.
- the power consumption history table 51 is included in the storage management program 5 of the management computer 4 and is used to manage the power data sent from the storage system 1 and to display the contents thereof in response to a management computer user's request.
- the power consumption history table 51 includes a date and time 511 , a part 512 , an average power consumption 513 , a power increment 514 , and an idle power 515 .
- the date and time 511 stores information indicating when the data is stored.
- the part 512 , the average power consumption 513 , the power increment 514 , and the idle power 515 are the same as the part 991 , the average power consumption 992 , the power increment 993 , and the idle power 994 shown in FIG. 22 .
- the first embodiment of the invention it is possible to calculate accurate values of the power consumption by exchanging the operation information with all the constituent units, that is, the disk drives and the controller, in the storage system 1 .
- the manager can know the information on the calculated power consumption. As a result, it is possible to control the power with higher precision.
- the power consumption of virtual storages is estimated when the storage system 1 can be treated as plural virtual storages (LPAR).
- LPAR plural virtual storages
- the configuration of the computer system according to the second embodiment of the invention is the same as the first embodiment and thus its description is omitted.
- the physical resources of the storage system 1 are divided and virtual storages are constituted from the divided physical resources.
- Each virtual storage is recognized as one storage system 1 by the host computer 71 .
- the disk drives 6 are partitioned into logical volumes.
- the tables store information every logical volume.
- the power estimating function 24 calculates the estimated power consumption every logical volume and estimates the power consumption of the respective virtual storage on the basis of the calculated estimated power consumption.
- FIG. 26 is a block diagram illustrating functions and tables of the storage management program 5 according to the second embodiment of the invention.
- the storage management program 5 additionally includes a virtual storage-volume mapping table 53 and a virtual storage power displaying function 54 .
- the virtual storage-volume mapping table 53 manages the mapping between the virtual storages and the logical volumes.
- the virtual storage power displaying function 54 displays the power estimation result by virtual storages.
- FIG. 27 is a diagram illustrating an example of the virtual storage-volume mapping table 53 according to the second embodiment of the invention.
- the virtual storage-volume mapping table 53 manages a virtual storage (LPAR) number 531 and a logical volume number 532 .
- the virtual storage number 531 stores identifiers for identifying the virtual storages in the storage system 1 .
- the logical volume number 532 stores identifiers for identifying the logical volumes prepared in the disk drives 6 .
- the storage system 1 can know to what virtual storage a process relates from the logical volume number 532 .
- FIG. 28 is a block diagram illustrating functions of the storage control program 2 according to the second embodiment of the invention.
- the storage control program 2 additionally includes a data transfer issuing function 27 .
- the data transfer issuing function 27 is a function of managing the amount of data by which the cache memory unit 73 is accessed to operate the logical volumes. Details thereof will be described later with reference to FIG. 41 .
- FIG. 29 is a block diagram illustrating a configuration of control data 3 according to the second embodiment of the invention.
- control data 3 additionally includes a cache access-amount table 91 and an LDEV-physical volume mapping table 92 .
- the information stored in the disk operation record table 33 , the tag management table 34 , the I/O issuing status table 35 , the processor operation record table 39 , and the processor operating status table 30 is different from that of the first embodiment.
- FIG. 30 is a diagram illustrating an example of the LDEV-physical volume mapping table 92 according to the second embodiment of the invention.
- the LDEV-physical volume mapping table 92 manages the mapping between a disk drive 6 and the logical volumes (LDEV: logical Device) prepared in an RAID group including one or more disk drives 6 .
- the LDEV-physical volume mapping table 92 includes a logical volume number 921 , an RAID level 922 , a disk number 923 , and an LBA range 924 .
- the logical volume number 921 stores identifiers for identifying the logical volumes.
- the RAID level 922 stores information indicating types of the RAID.
- the disk number 923 stores identifiers of the disk drives 6 constituting the RAID.
- the LBA range 924 stores addresses assigned to the disk drives 6 .
- FIG. 31 is a diagram illustrating an example of the disk operation record table 33 according to the second embodiment of the invention.
- the disk operation record table 33 additionally includes a logical volume number 336 , compared with the first embodiment.
- the logical volume number 336 stores identifiers for identifying the logical volumes prepared in the disk drives 6 . Accordingly, the disk operation record table 33 can manage the cumulative operating times 332 to 335 of the logical volumes by access types.
- the identifier for identifying a logical volume is an identifier specified by the management computer 4 at the time of preparing the logical volumes.
- FIG. 32 is a diagram illustrating an example of the tag management table 34 according to the second embodiment of the invention.
- the tag management table 34 additionally includes a logical volume number 344 , compared with the first embodiment.
- the logical volume number 344 is the same as the logical volume number 336 shown in FIG. 31 .
- the logical volume number 344 is mapped onto the tag number 342 so that the tag management table 34 can manage to logical volume the access is corresponding to the tag number 342 is an access.
- FIG. 33 is a diagram illustrating an example of the I/O issuing status table 35 according to the second embodiment of the invention.
- the I/O issuing status table 35 additionally includes a logical volume number 355 , compared with the first embodiment.
- the logical volume number 355 is the same as the logical volume number 336 shown in FIG. 31 . Accordingly, the I/O issuing status table 35 can manage the outstanding command count 353 and the disk operation start time 354 of the respective logical volumes by access types.
- FIG. 34 is a diagram illustrating an example of the processor operation record table 39 according to the second embodiment of the invention.
- the processor operation record table 39 additionally includes a logical volume number 394 , compared with the first embodiment.
- the logical volume number 394 is the same as the logical volume number 336 shown in FIG. 31 . Accordingly, the processor operation record table 39 can manage a time when the processor core 781 is operating to perform a job of a certain logical volume.
- FIG. 35 is a diagram illustrating an example of the processor operating status table 30 according to the second embodiment of the invention.
- the processor operating status table 30 additionally includes a logical volume number 304 , compared with the first embodiment.
- the logical volume number 304 is the same as the logical volume number 336 shown in FIG. 31 . Accordingly, the processor operating status table 30 can manage the job start time 303 of the processor core 781 every logical volume.
- the cache access-amount table 91 will be described now.
- FIG. 36 is a diagram illustrating an example of the cache access-amount table 91 according to the second embodiment of the invention.
- the cache access-amount table 91 manages an amount of cache memory access every logical volume. At the time of estimating the power consumption every logical volume, the power estimating function 24 refers to the cache access-amount table 91 .
- the cache access-amount table 91 includes a logical volume number 911 and a cumulative access amount 912 .
- the logical volume number 911 is the same as the logical volume number 336 shown in FIG. 31 .
- the cumulative access amount 912 stores an amount of data by which the cache memory unit 73 is accessed to operate the corresponding logical volume.
- FIG. 37 is a diagram illustrating an example of a disk I/O command issuing function 22 according to the second embodiment of the invention. The process steps different from those of the first embodiment are mainly described now.
- the processes of S 221 to S 223 are the same as the first embodiment.
- the parameters sent from the host I/O command receiving function 21 include the identifiers of the logical volumes.
- the process of S 228 is additionally performed after S 223 .
- the disk I/O command issuing function 22 stores the extracted identifiers of the logical volumes in the logical volume number 344 of the entry corresponding to the tag number 342 selected in S 222 with reference to the tag management Table 34 .
- the process of S 224 is the same as the first embodiment.
- the process of S 225 is different from the first embodiment.
- the disk I/O command issuing function 22 determines whether the outstanding command count 353 of the entry corresponding to the disk drive 6 as the extracted access destination, the logical volume number 355 , and the access type is “0” with reference to the I/O issuing status table 35 .
- FIG. 38 is a diagram illustrating an example of a disk I/O completion function 23 according to the second embodiment of the invention. Process steps different from those of the first embodiment will be mainly described now.
- the processes of S 231 to S 233 are the same as the first embodiment.
- the processes of S 237 and S 238 are additionally performed after S 233 .
- the disk I/O completion function 23 reads the logical volume number 344 of the entry corresponding to the extracted tag number 342 with reference to the tag management table 34 .
- the disk I/O completion function 23 erases the logical volume number 344 of the entry.
- the processes of S 234 to S 236 are the same as the first embodiment. However, the processes are performed on the basis of the extracted logical volume number 344 .
- FIG. 39 is a diagram illustrating an example of a job starting function 25 according to the second embodiment of the invention. Process steps different from those of the first embodiment will be mainly described now.
- the processes of S 251 and S 252 are the same as the first embodiment.
- the processes of S 253 and S 254 are additionally performed, compared with the first embodiment.
- the job starting function 25 determines from what logical volume a started job is requested.
- the request includes the identifier of the logical volume and thus the job starting function 25 determines from what logical volume the started job is requested with reference to the identifier of the corresponding logical volume.
- the job starting function 25 stores the identifier of the logical volume determined in S 253 in the logical volume number 304 of the entry in which the job start time 303 is stored in S 251 .
- FIG. 40 is a diagram illustrating an example of a job stop function 26 according to the second embodiment of the invention. Process steps different from those of the first embodiment will be mainly described now.
- the processes of S 261 and S 263 are the same as the first embodiment. Compared with the first embodiment, the process of S 262 is different and the processes of S 264 and S 265 are additionally performed.
- the job stop function 26 reads the entries corresponding to the controller number 301 including the processor core 781 performing the requested process, the processor core number 302 for identifying the processor core 781 , and the logical volume number 304 with reference to the processor operating status table 30 .
- the job stop function 26 adds the difference calculated in S 261 to the cumulative operating time 393 of the entry corresponding to the read information (the controller number 301 , the processor core number 302 , and the logical volume number 304 ).
- the job stop function 26 erases the logical volume number 304 of the corresponding entry in the processor operating status table 30 and ends the processes.
- FIG. 41 is a diagram illustrating an example of the data transfer starting function 27 according to the second embodiment of the invention.
- the data transfer issuing function 27 is started up at the time of transferring data between the cache memory unit 73 , and the host interface unit 72 or at the time of transferring data between the cache memory unit 73 and the disk interface unit 74 .
- the data transfer starting function 27 determines from what logical volume data is transferred (S 271 ).
- the job calling the data transfer issuing function 27 manages on what logical volume a process is performed.
- the data transfer starting function 27 determines what logical volume is operated with reference to the information managed by the job.
- the data transfer issuing function 27 adds the transferred data size to the entry of the logical volume number 911 corresponding to the logical volume determined in S 271 (S 272 ).
- the data transfer starting function 27 starts up the transfer of data (S 273 ) and ends the process. Specifically, the data transfer issuing function 27 transmits a data transfer command to the data transfer LSI 722 of the host interface unit 72 or the data transfer LSI 742 of the disk interface unit 74 .
- FIG. 42 is a flowchart illustrating an example of the power estimating function 24 according to the second embodiment of the invention. Process steps different from those of the first embodiment will be mainly described now.
- the power estimating function 24 calculates the operation rates of the logical volumes by access types using the ratio of the information included in the disk operation record table 33 and the calling interval of this process.
- the power estimating function 24 calculates the power increments of the logical volumes from the calculated operation rates and the information of the disk power specification table 32 .
- the power estimating function 24 calculates the power increment of the cache memory unit 73 by logical volumes from the data transfer sizes of the logical volumes.
- the power estimating function 24 calculates a ratio of the cumulative access amount 912 of a logical volume to the total of the cumulative access amount 912 of the cache access-amount table 91 , multiplies the access time 7322 shown in FIG. 3 by the calculated ratio, and calculates the access time of the cache memory unit 73 to the logical volume.
- the power estimating function 24 calculates the operation rate of the cache memory unit 73 in a logical volume from the calling interval of this process and the calculated access time of the cache memory unit 73 to the logical volume and calculates the power increments of the cache memory unit 73 using the calculated operation rate of the cache memory unit 73 in the logical volume.
- the method of calculating the power increment of the cache memory unit 73 is the same as the first embodiment.
- the power estimating function 24 calculates the operation rate of the processor core 781 by logical volumes using the ratio of the cumulative operating time 393 in the processor operation record table 39 and the calling interval of this process.
- the calculation method is the same as the first embodiment.
- the power estimating function 24 calculates the operation rate of the controller 75 by logical volumes from the calculated operation rate of the processor.
- the calculation method is the same as the first embodiment.
- FIG. 43 is a diagram illustrating an example of display data 990 transmitted to the management computer 4 in S 244 performed by the power estimating function 24 according to the second embodiment of the invention.
- the display data 990 additionally includes a logical volume number 995 , compared with the first embodiment.
- the logical volume number 995 is the same as the logical volume number 336 shown in FIG. 31 .
- FIG. 44 is a diagram illustrating an example of the power consumption history table 51 according to the second embodiment of the invention.
- the power consumption history table 51 additionally includes a logical volume number 516 .
- the logical volume number 516 is the same as the logical volume number 336 shown in FIG. 31 . Accordingly, the management computer 4 can know the power increment by logical volumes.
- FIG. 45 is a flowchart illustrating an example of the virtual storage power displaying function 54 according to the second embodiment of the invention.
- the virtual storage power displaying function 54 is called in response to a request from a manager operating the management computer 4 to display the power consumption of the virtual storages.
- the virtual storage power displaying function 54 displays the idle power 515 on a screen with reference to the power consumption history table 51 (S 541 ).
- the virtual storage power displaying function 54 selects an entry of the virtual storage corresponding to a virtual storage number with reference to the virtual storage-volume mapping table 53 (S 542 ).
- the virtual storage power displaying function 54 enumerates the logical volumes included in the selected virtual storages with reference to the virtual storage-volume mapping table 53 (S 543 ).
- the virtual storage power displaying function 54 totals the power increments of the enumerated logical volumes with reference to the power consumption history table 51 (S 544 ).
- the virtual storage power displaying function 54 displays the totaling result on the screen (S 545 ).
- the virtual storage power displaying function 54 determines whether the above-mentioned process is performed on the entries of the entire virtual storages (S 546 ).
- the virtual storage power displaying function 54 performs the above-mentioned process in S 542 again.
- the virtual storage power displaying function 54 ends the process.
- FIG. 46 is a diagram illustrating an example of a virtual storage power consumption output performed by the virtual storage power displaying function 54 according to the second embodiment of the invention.
- the virtual storage power displaying function 54 displays a normal power 591 and a power increment 592 .
- the normal power 591 is the power consumption of the storage system 1 when it is turned on but does not perform any process, that is, the idle power.
- the power increment 592 is the power increment due to the operation of the virtual storages.
- An updating unit 593 updates data by operating the updating unit 593 .
- An ending unit 594 ends the display by operating the ending unit 594 .
- the operating times of disks are obtained by measurement every logical volume.
- the storage system 1 may store the operating time, the I/O count, and the transfer size every logical volume and may proportionally distribute the power increment by the I/O count or the transfer size every logical volume.
- the power consumption by virtual storages is calculated in the second embodiment, the power consumption may be calculated every host computer 71 in the same way.
- the tables may include the identifiers for identifying the virtual storages and calculate the estimated power by virtual storages.
- power is estimated by considering a change in status in a storage system 1 controlling a status (active, standby, or rotation OFF) of disk drives 6 .
- the configuration of the storage system according to the third embodiment of the invention is the same as the second embodiment and thus its description is omitted.
- FIG. 47 is a block diagram illustrating functions of the storage control program 2 according to the third embodiment of the invention.
- the storage control program 2 additionally includes a disk status changing function 28 .
- the disk status changing function 28 manages the statuses of the disk drives 6 .
- FIG. 48 is a block diagram illustrating a configuration of control data 3 according to the third embodiment of the invention.
- control data 3 according to the third embodiment additionally includes a disk status table 93 .
- the disk status table 93 will be described later with reference to FIG. 51 .
- FIG. 49 is a diagram illustrating an example of a disk power specification table 32 according to the third embodiment of the invention.
- the disk power specification table 32 additionally includes a standby power 327 and a spin-down power 328 .
- the standby power 327 stores the power consumption when a disk drive 6 is in a standby status.
- the spin-down power 328 stores the power consumption when a disk drive 6 is in a spin-down status.
- FIG. 50 is a diagram illustrating an example of a disk operation record table 33 according to the third embodiment of the invention.
- the disk operation record table 33 additionally includes a standby time 337 and a spin-down time 338 .
- the standby time 337 and the spin-down time 338 are stored every disk number 331 .
- the standby time 337 stores the cumulative time when the disk drive 6 is in the standby status.
- the spin-down time 338 stores the cumulative time when the disk drive 6 is in the spin-down status.
- FIG. 51 is a diagram illustrating an example of the disk status table 93 according to the third embodiment of the invention.
- the disk status table 93 manages a current operating status and a status change start time of the disk drives 6 in the storage system 1 .
- the disk status table 93 includes a disk number 931 , a current status 932 , and a start time 933 .
- the disk number 931 is the same as the disk number 311 shown in FIG. 6 .
- the current status 932 stores information indicating the current operating statuses of the disk drives 6 . For example, “active” is stored in a normal operating status, “standby” is stored in the standby status, and “spin down” is stored in the spin-down status.
- the start time 933 stores a time when the operating status as the current status 932 is started, that is, the status change start time.
- FIG. 52 is a flowchart illustrating an example of the disk status changing function 28 according to the third embodiment of the invention.
- the disk status changing function 28 is called when the status of the disk drive 6 is changed in accordance with a command from the host computer 71 or the management computer 4 , changes the disk status, and manages the status change time.
- the disk status changing function 28 determines whether a target disk drive 6 is in the standby status or in the spin-down status (S 281 ).
- the disk status changing function 28 calculates a difference between the start time 933 of the target disk drive 6 and the current time with reference to the disk status table 93 (S 282 ).
- the disk status changing function 28 adds the calculated difference to the standby time 337 or the spin-down time 338 of the corresponding entry of the disk operation record table 33 (S 283 ).
- the disk status changing function 28 initializes the entry of the target disk drive 6 in the disk status table 93 (S 284 ) and then performs the process of S 285 .
- the disk status changing function 28 determines whether a new changed status is the standby status or the spin-down status (S 285 ).
- the disk status changing function 28 performs the process of S 288 .
- the disk status changing function 28 stores the current time in the start time 933 of the target disk drive 6 in the disk status table 93 (S 286 ).
- the disk status changing function 28 stores the new status in the current status 932 in the disk status table 93 (S 287 ) and performs the process of S 288 .
- the disk status changing function 28 changes the disk status to the status instructed by the host computer 71 or the management computer 4 (S 288 ) and ends the process.
- FIG. 53 is a flowchart illustrating an example of the power estimating function 24 according to the third embodiment of the invention. Process steps different from those of the first embodiment will be mainly described now.
- the power estimating function 24 calculates ratios of the statuses of the disk drive 6 using the ratio of the standby time 337 and the spin-down time 338 in the disk operation record table 33 and the calling interval of this process.
- the calculation method is the same as the first embodiment.
- the power estimating function 24 calculates the power consumption of the disk drive from the calculated ratio and the information in the disk power specification table 32 . Specifically, the power consumption of the disk drives 6 by statuses is calculated.
- the calculation method is the same as the first embodiment.
- the third embodiment of the invention it is possible to estimate the power consumption by considering the change in status in the storage system 1 controlling the statuses (active, standby, or spin down) of the disk drives 6 .
- the power consumption is estimated by considering a difference in characteristics therebetween.
- the power consumption of the disk drive 6 is estimated using the access time and the power consumption of the SSD is estimated using the transfer size, thereby estimating the power consumption with high precision.
- the configuration of the storage system according to the fourth embodiment is the same as the second embodiment and thus its description is omitted.
- the disk drive 6 includes the SSD and thus is referred to as the SSD 6 .
- FIG. 54 is a block diagram illustrating a configuration of control data 3 according to the fourth embodiment of the invention.
- control data 3 additionally includes an SSD power specification table 94 and an SSD operation record table 95 .
- the SSD power specification table 94 and the SSD operation record table 95 will be described later with reference to FIGS. 55 and 56 .
- FIG. 55 is a diagram illustrating an example of the SSD power specification table 94 according to the fourth embodiment of the invention.
- the SSD power specification table 94 manages the energy consumption in the statuses by types of the SSD 6 mounted on the storage system 1 .
- the SSD power specification table 94 is updated at the time of adding a new type of disk drive 6 .
- the power estimating function 24 refers to the SSD power specification table 94 at the time of estimating the power.
- the SSD power specification table 94 includes a disk type 941 , an idle power 942 , a random-read energy consumption 943 , a random-write energy consumption 944 , a sequential-read energy consumption 945 , and a sequential-write energy consumption 946 .
- the disk type 941 stores identifiers for identifying the types of the SSD 6 .
- the idle power 942 stores a value indicating the power consumption when the corresponding SSD 6 is in the idle status.
- the random-read energy consumption 943 stores a value indicating the energy consumption per data transfer size when the SSD 6 corresponding to the disk type 941 receives only the random read access and is in the fully operating status.
- the random-write energy consumption 944 stores a value indicating the energy consumption per data transfer size when the SSD 6 corresponding to the disk type 941 receives only the random write access and is in the fully operating status.
- the sequential-read energy consumption 945 stores a value indicating the energy consumption per data transfer size when the SSD 6 corresponding to the disk type 941 receives only the sequential read access and is in the fully operating status.
- the sequential-write energy consumption 946 stores a value indicating the energy consumption per data transfer size when the SSD 6 corresponding to the disk type 941 receives only the sequential write access and is in the fully operating status.
- FIG. 56 is a diagram illustrating an example of the SSD operation record table 95 according to the fourth embodiment of the invention.
- the SSD operation record table 95 manages the data transfer size at the time of access to the SSD 6 .
- the SSD operation record table 95 is updated every access to the SSD 6 .
- the power estimating function 24 refers to the SSD operation record table 95 at the time of estimating the power.
- the SSD operation record table 95 includes a disk number 951 , a logical volume number 952 , a random-read cumulative transfer size 953 , a random-write cumulative transfer size 954 , a sequential-read cumulative transfer size 955 , and a sequential-write cumulative transfer size 956 .
- the disk number 951 and the logical volume number 952 are the same as the disk number 331 and the logical volume number 336 shown in FIG. 31 .
- the random-read cumulative transfer size 953 stores a cumulative transfer size of the transfer sizes at the time of random-read access to the corresponding SSD 6 .
- the random-write cumulative transfer size 954 stores a cumulative transfer size of the transfer sizes at the time of random-write access to the corresponding SSD 6 .
- the sequential-read cumulative transfer size 955 stores a cumulative transfer size of the transfer sizes at the time of sequential-read access to the corresponding SSD 6 .
- the sequential-write cumulative transfer size 956 stores a cumulative transfer size of the transfer sizes at the time of sequential-write access to the corresponding SSD 6 .
- FIG. 57 is a flowchart illustrating an example of the disk I/O command issuing function 22 according to the fourth embodiment of the invention.
- the disk I/O command issuing function 22 determines whether an access destination is the SSD 6 . Specifically, the disk I/O command issuing function 22 performs the determination with reference to the information on the disk drive 6 as the access destination extracted in S 221 .
- the disk I/O command issuing function 22 When it is determined that the access destination is not the SSD 6 , the disk I/O command issuing function 22 performs the process of S 225 .
- the processes of S 225 to S 227 are the same as the third embodiment.
- the disk I/O command issuing function 22 ends the process.
- the power consumption is estimated using the transfer size instead of the operating time and thus the processes of S 225 to S 227 are omitted.
- FIG. 58 is a flowchart illustrating an example of a disk I/O completion function 23 according to the fourth embodiment of the invention.
- the disk I/O completion function 23 determines whether the access destination is the SSD 6 .
- the disk I/O completion function 23 performs the process of S 234 .
- the processes of S 234 to S 236 are the same as the third embodiment.
- the disk I/O ending function 23 adds the transfer size to each cumulative transfer size 943 to 946 by access types of the corresponding entry in the SSD operation record table 95 (S 230 ) and ends the process.
- FIGS. 59A and 59B are flowcharts illustrating an example of the power estimating function 24 according to the fourth embodiment of the invention.
- the power estimating function 24 selects a power estimating target with reference to the disk configuration table 31 (S 2411 ).
- the power estimating function 24 determines whether the selected power estimation target is the SSD (S 2412 ).
- the power estimating function 24 When it is determined that the selected power estimation target is not the SSD, the power estimating function 24 performs the process of S 241 .
- the processes of S 241 to S 243 are the same as the third embodiment.
- the power estimating function 24 performs the process of S 2416 after S 243 .
- the power estimating function 24 calculates the SSD normal power with reference to the disk configuration table 31 and the SSD power specification table 94 (S 2413 ).
- the calculation method is the same as performed in S 241 .
- the power estimating function 24 calculates the energy consumption of the SSD 6 with reference to the SSD power specification table 94 and the SSD operation record table 95 (S 2414 ). Specifically, the energy consumption is calculated by multiplying the energy consumption 933 to 936 by the cumulative transfer size 943 to 946 by access types.
- the power estimating function 24 calculates the power increment of the SSD using the energy consumption calculated in S 2414 and the calling interval of this process (S 2415 ). Specifically, the power increment is calculated by dividing the energy consumption calculated in S 2414 by the calling interval of this process. The power estimating function 24 performs the process of S 2416 after calculating the power increment of the SSD.
- the power estimating function 24 determines whether all the power estimation targets are processed (S 2416 ).
- the power estimating function 24 performs the same process in S 2411 again.
- the power estimating function 24 When it is determined that all the power estimation targets are not processed, the power estimating function 24 performs the process of S 2401 .
- the processes of S 2401 to S 245 are the same as the third embodiment.
- the power estimating function 24 initializes the cumulative transfer sizes 943 to 946 by access types in the SSD operation record table 95 .
- the fourth embodiment of the invention it is possible to estimate the power consumption with high precision in consideration of the difference in characteristic between the disk drive 6 and the SSD 6 in the storage system 1 including both.
- normal power along with power of respective virtual storages is provided to a manager in a storage system 1 performing a logical partition operation.
- the normal power is distributed depending on the degree of physical resources used in the respective virtual storages, and the distributed power is displayed.
- FIG. 60 is a block diagram illustrating functions and tables of the storage management program 5 according to the fifth embodiment of the invention.
- the storage management program 5 additionally includes a virtual storage-disk resource mapping table 55 and a virtual storage-controller resource mapping table 56 .
- the virtual storage-disk resource mapping table 55 and the virtual storage-controller resource mapping table 56 will be described later with reference to FIGS. 60 and 61 .
- FIG. 61 is a diagram illustrating an example of the virtual storage-disk resource mapping table 55 according to the fifth embodiment of the invention.
- the virtual storage-disk resource mapping table 55 manages for what virtual storages the disk drives 6 are used.
- the virtual storage-disk resource mapping table 55 is referred to at the time of displaying the power by virtual storages.
- the virtual storage-disk resource mapping table 55 includes a disk number 551 and a used virtual storage number 552 .
- the disk number 551 is the same as the disk number 311 shown in FIG. 6 .
- the used virtual storage number 552 stores information indicating for what virtual storage of the corresponding disk drive 6 is used.
- FIG. 62 is a diagram illustrating an example of the virtual storage-controller resource mapping table 56 according to the fifth embodiment of the invention.
- the virtual storage-controller resource mapping table 56 manages for what virtual storages the respective physical resources of the storage system 1 are used.
- the virtual storage-controller resource mapping table 56 is referred to at the time of displaying the power by virtual storages.
- the virtual storage-controller resource mapping table 56 includes a type 561 , a slot number 562 , and a used virtual storage number 563 .
- the type 561 and the slot number 562 are the same as the type 361 and the slot number 362 shown in FIG. 11 .
- the used virtual storage number 563 stores information indicating for what virtual storage the physical resource corresponding to the type 561 and the slot number 562 is used. Specifically, the virtual storage number 531 is stored therein.
- FIG. 63 is a diagram illustrating an example of the virtual storage power displaying function 54 according to the fifth embodiment of the invention.
- the virtual storage power displaying function 54 is called in response to a manager's power display request to calculate the power consumption by virtual storages and to display the calculated power consumption by virtual storages.
- the virtual storage power displaying function 54 selects a power consumption calculation target from the disk drives or the controller parts (S 5411 ).
- the virtual storage power displaying function 54 selects the virtual storage using the corresponding part with reference to the virtual storage-disk resource mapping table 55 and the virtual storage-controller resource mapping table 56 (S 5412 ).
- the virtual storage power displaying function 54 determines whether the corresponding part varies in power (S 5413 ). For example, it is determined that the disk drives 6 or the controller 75 vary in power and the host I/F unit 72 and the switching unit 76 do not vary in power.
- the virtual storage power displaying function 54 enumerates the logical volumes included in the selected virtual storage with reference to the virtual storage-volume mapping table 53 (S 5417 ).
- the virtual storage power displaying function 54 calculates the power increment of the virtual storage by summing the power increments of the logical volumes for the selected part with reference to the power consumption history table 51 (S 5418 ).
- the virtual storage power displaying function 54 calculates the total power increment by summing the power increments of the entire logical volumes for the selected part (S 5419 ).
- the virtual storage power displaying function 54 calculates a ratio of the virtual storage power increment to the total power increment, multiplies the calculated ratio by the normal power of the selected part, calculates the normal power of the corresponding part in the virtual storage (S 5420 ), and then performs the process of S 5421 .
- the virtual storage power displaying function 54 calculates the number of virtual storages using the corresponding resource with reference to the virtual storage-disk resource mapping table 55 and the virtual storage-controller resource mapping table 56 (S 5414 ).
- the virtual storage power displaying function 54 calculates the normal power of the corresponding part with reference to the power consumption history table 51 (S 5415 ).
- the calculated normal power of the corresponding part is divided by the number of virtual storages used to calculate the power consumption of the corresponding part in the virtual storage (S 5416 ).
- the virtual storage power displaying function 54 displays the calculated result on a screen (S 5421 ).
- the virtual storage power displaying function 54 determines whether the entire virtual storages are processed (S 5422 ).
- the virtual storage power displaying function 54 performs the process of S 5412 again.
- the virtual storage power displaying function 54 determines whether the entire parts are processed (S 5423 ).
- the virtual storage power displaying function 54 performs the process of S 5411 again.
- the virtual storage power displaying function 54 ends the process.
- the normal power is distributed depending on the rates of usage at which the virtual storages use the corresponding part.
- the normal power is uniformly assigned to the virtual storages. Accordingly, depending on the use condition of the virtual storages, it is possible to assign the power consumption so that the total power of the virtual storages corresponds to the total actual power consumption.
- FIG. 64 is a diagram illustrating an example of a virtual storage power consumption displaying screen according to the fifth embodiment of the invention.
- the power consumption of the respective parts is displayed in the respective virtual storages 592 A and 592 B.
- the virtual storage power displaying function 54 displays the power consumption of the respective virtual storages every physical resource of the storage system 1 .
- the power consumption of storage system 0 ( 592 A) and storage system 1 ( 592 B) is displayed every physical resource used by the virtual storages. This power consumption is the power consumed by the storage system 1 when the storage system is turned on but does not perform any process.
- a power estimating method in a computer system including a management computer and a storage system connected to the management computer and a host computer,
- management computer includes a first interface connected to the storage system, a first processor connected to the first interface, and a first memory connected to the first processor,
- the host computer includes a second interface connected to the storage system, a second processor connected to the second interface, and a second memory connected to the second processor,
- the storage system includes at least one third processor controlling read and write of data to and from a plurality of disk drives, a control memory connected to the third processor, a management interface connected to the management computer, a host interface connected to the host computer, a disk interface connected to the disk drives, and a cache memory unit temporarily storing data,
- the third processor, the management interface, the host interface, the disk interface, and the cache memory unit are connected to each other,
- control memory stores a storage control program for controlling the storage system and control data used to control the storage system
- the storage control program includes a power estimating program for estimating power
- the cache memory unit includes a plurality of memories and a memory controller controlling the plurality of memories
- control data includes incremental power consumption information indicating power consumption increments of the disk drives, the cache memory unit, and the third processor when the storage system is performing a process
- the third processor allowing the third processor to calculate power consumption increments of the disk drives by access types from the incremental power consumption information and the calculated operation rates of the disk drives by access types;
- the third processor allowing the third processor to calculate a operation rate of the cache memory from access time of the cache memory used for access to the disk drives;
- the third processor to calculate the power consumption increment of the cache memory unit used for access to the disk drives from the incremental power consumption information and the calculated operation rate of the cache memory unit;
- the third processor allowing the third processor to calculate a operation rate of the third processor for access to the disk drives from an operating time of the third processor for access to the disk drives;
- the third processor to calculate power consumption increment of the third processor for access to the disk drives from the incremental power consumption information and the calculated operation rate of the third processor for access to the disk drives;
- the third processor to transmit the calculated power consumption increments of the disk drives by access types, the calculated power consumption increment of the cache memory unit used for access to the disk drives, and the calculated power consumption increment of the third processor for access to the disk drives to the management computer.
Abstract
Description
- This application relates to and claims priority from Japanese Patent Application No. 2008-269921, filed on Oct. 20, 2008, the entire disclosure of which is incorporated herein by reference.
- 1. Technical Field
- The present invention relates to a storage system storing data in plural magnetic disk devices.
- 2. Related Art
- A storage system is known in which a sub-system is constructed by a disk array including magnetic disk devices and data is stored in the disk array.
- Since the storage system is connected to plural computers, the storage system is often used in an environment such as a data center on which many computers are concentrated.
- Power consumption of the data centers or devices disposed in the data centers tends to increase. Particularly, the power consumption of the storage system is great and thus there is a need for power saving control such as shutting down the power supply of disks or carrying out migration of data depending on operating statuses of devices in the storage system. In order to embody the power saving control, it is necessary to accurately obtain the power consumption depending on the operating statuses of devices by detailed constituent units.
- Since the storage system is generally connected to plural host computers, the same physical resources in the storage system are shared with the plural host computers. In general, the physical resources in the storage system are logical partitioned and the storage system provides the resultant logical resources to the host computers.
- At this time, in order to make the power saving control in the entire system including the host computers and the storage system, it is preferable that the power consumption of the storage system should be obtained every host computer, that is, every logical resource.
- To solve the above-mentioned problem, a method of measuring power of operating parts, mapping the measured power onto rated power, I/O command count, and transfer size, and providing the mapping to a manager is known (for example, see JP-A-2007-079754).
- As another method, a method of providing a threshold value to the power consumption of a device and controlling a rotation frequency of a disk and an ON/OFF operation of a power source so that the power is smaller than the threshold value is known (for example, JP-A-2008-003719). In the configuration described in JP-A-2008-003719, a control is made using the maximum values of power consumption of components, that is, the rated power.
- As another method, a method of simulating a small-sized hard drive used for notebook PCs (simulation for status change such as I/O tracing, seeking, head waiting, and access) to estimate the power consumption is known (for example, “Modeling Hard-Disk Power Consumption”, Proceedings of 2nd USENIX Conference on File and Storage Technologies, 2003). A method of estimating power consumption using a ratio of operating times is also disclosed as a simple method in “Modeling Hard-Disk Power Consumption.”
- However, in the power measuring method described in JP-A-2007-079754, for example, when the power consumption is intended to know by detailed constituent units such as disks corresponding to logical volumes, it is necessary to use power meters every constituent unit from which the power consumption should be measured. When a logical volume is constituted by combination of plural disks, the constituent units from which the power consumption should be measured vary and thus it is necessary to measure the power consumption by using power meters for detailed constituent units, that is, the disks. When plural logical volumes share a single disk, the power of the respective logical volumes cannot be measured using the above-mentioned method.
- The cumulative power consumption described in JP-A-2008-003719 is greatly different from the actual power consumption and thus a control with high precision cannot be made. A method of calculating power consumption by logical partitions when a single hardware resource is shared by plural logical partitions is not described therein.
- In the estimation method using the disk status simulation described in the “Modeling Hard-Disk Power Consumption”, it is necessary to simulate the detailed statuses of disks, thereby enhancing the amount of calculation. In the estimation method using a ratio of operating times, it is necessary to make a structure for read information on operating times from a storage controller by modifying firmware of a disk so as to read the information from the disk. That is, it is necessary to modify the firmware of disks by disk types. In the “Modeling Hard-Disk Power Consumption”, when there is a characteristic (inclination) in types (spatial and temporal locality) of disk accesses, satisfactory precision is not obtained. When a storage system supports plural virtual storages and the same hardware resource is shared by the plural virtual storages, a method of acquiring the power consumption by virtual storages is not disclosed. The “Modeling Hard-Disk Power Consumption” does not also disclose the method of estimating power of the controller.
- In the above-mentioned methods, it is not possible to acquire power of the controller and parts of the disk array in the storage system. In the storage system supporting the virtual storages, it is not possible to acquire the power consumption of the respective virtual storages.
- The invention is contrived to solve the above-mentioned problems. An advantage of some aspects of the invention is to acquire power consumption of each part and each logical partition in a storage system.
- A representative example of the invention is as follows. That is, there is provided a power estimating method in a computer system including a management computer and a storage system connected to the management computer and a host computer. Here, the management computer includes a first interface connected to the storage system, a first processor connected to the first interface, and a first memory connected to the first processor. The host computer includes a second interface connected to the storage system, a second processor connected to the second interface, and a second memory connected to the second processor. The storage system includes at least one third processor controlling read and write of data to and from a plurality of disk drives, a control memory connected to the third processor, a management interface connected to the management computer, a host interface connected to the host computer, a disk interface connected to the disk drives, and a cache memory unit temporarily storing data. The third processor, the management interface, the host interface, the disk interface, and the cache memory unit are connected to each other. The cache memory unit includes a plurality of third memories and a memory controller controlling the plurality of third memories. The control memory stores a storage control program for controlling the storage system and control data used to control the storage system. The storage control program includes a power estimating program for estimating power and the control data includes incremental power consumption information indicating power consumption increments of the disk drives, the cache memory unit, and the third processor when the storage system is operating. The storage system prepares logical storage-volumes in a real area of the plurality of disk drives, logically partitions physical resources of the storage system to generate a plurality of logical partitions including the logical storage-volumes and the logically-partitioned physical resources, and provides the logical partitions to the host computer. The incremental power consumption information includes information on power consumption increments of the disk drives in access directions to the logical storage-volumes. The power estimating method includes the steps of: allowing the third processor to calculate operation rates of the disk drives for access to the logical storage-volumes from operating times of the disk drives for access to the logical storage-volumes; allowing the third processor to calculate power consumption increments of the disk drives for access to the logical storage-volumes by access directions from the incremental power consumption information and the calculated operation rates of the disk drives; and allowing the third processor to transmit the calculated power consumption increments of the disk drive for access to the logical storage-volumes to the management computer.
- According to the above-mentioned configuration, it is possible to obtain power consumption of disk parts and the other constituent parts of a storage system, thereby obtaining the power consumption of each logical partition. As a result, it is possible to provide a power control with high precision.
-
FIG. 1 is a block diagram illustrating a configuration of a computer system according to a first embodiment of the invention. -
FIG. 2 is a block diagram illustrating a configuration of cache memory unit according to the first embodiment of the invention. -
FIG. 3 is a diagram illustrating an example of an access time record table according to the first embodiment of the invention. -
FIG. 4 is a diagram illustrating functions of a storage control program according to the first embodiment of the invention. -
FIG. 5 is a block diagram illustrating a configuration of control data according to the first embodiment of the invention. -
FIG. 6 is a diagram illustrating an example of a disk configuration table according to the first embodiment of the invention. -
FIG. 7 is a diagram illustrating an example of a disk power specification table according to the first embodiment of the invention. -
FIG. 8 is a diagram illustrating an example of a disk operation record table according to the first embodiment of the invention. -
FIG. 9 is a diagram illustrating an example of a tag management table according to the first embodiment of the invention. -
FIG. 10 is a diagram illustrating an example of an I/O issuing status table according to the first embodiment of the invention. -
FIG. 11 is a diagram illustrating an example of a controller configuration table according to the first embodiment of the invention. -
FIG. 12 is a diagram illustrating an example of a controller power specification table according to the first embodiment of the invention. -
FIG. 13 is a diagram illustrating an example of a controller power variation specification table according to the first embodiment of the invention. -
FIG. 14 is a diagram illustrating an example of a processor operating status table according to the first embodiment of the invention. -
FIG. 15 is a diagram illustrating another example of a processor operating status table according to the first embodiment of the invention. -
FIG. 16 is a flowchart illustrating an example of a host I/O command receiving function according to the first embodiment of the invention. -
FIG. 17 is a flowchart illustrating an example of a disk I/O command issuing function according to the first embodiment of the invention. -
FIG. 18 is a flowchart illustrating an example of a disk I/O completion function according to the first embodiment of the invention. -
FIG. 19 is a flowchart illustrating an example of a job start function according to the first embodiment of the invention. -
FIG. 20 is a flowchart illustrating an example of a job stop function according to the first embodiment of the invention. -
FIG. 21 is a flowchart illustrating an example of a power estimating function according to the first embodiment of the invention. -
FIG. 22 is a diagram illustrating an example of a method of calculating a disk power increment in S241 and S243 of the power estimating function according to the first embodiment of the invention. -
FIG. 23 is a diagram illustrating an example of display data transmitted to a management computer in S244 of the power estimating function according to the first embodiment of the invention. -
FIG. 24 is a block diagram illustrating functions and tables of a storage management program according to the first embodiment of the invention. -
FIG. 25 is a diagram illustrating an example of a power consumption history table according to the first embodiment of the invention. -
FIG. 26 is a block diagram illustrating functions and tables of a storage management program according to a second embodiment of the invention. -
FIG. 27 is a diagram illustrating an example of a virtual storage-volume mapping table according to the second embodiment of the invention. -
FIG. 28 is a diagram illustrating functions of a storage control program according to the second embodiment of the invention. -
FIG. 29 is a block diagram illustrating a configuration of control data according to the second embodiment of the invention. -
FIG. 30 is a diagram illustrating an example of an LDEV-physical volume mapping table according to the second embodiment of the invention. -
FIG. 31 is a diagram illustrating an example of a disk operation record table according to the second embodiment of the invention. -
FIG. 32 is a diagram illustrating an example of a tag management table according to the second embodiment of the invention. -
FIG. 33 is a diagram illustrating an example of an I/O issuing status table according to the second embodiment of the invention. -
FIG. 34 is a diagram illustrating an example of a processor operating status table according to the second embodiment of the invention. -
FIG. 35 is a diagram illustrating another example of a processor operating status table according to the second embodiment of the invention. -
FIG. 36 is a diagram illustrating an example of a cache access-amount table according to the second embodiment of the invention. -
FIG. 37 is a diagram illustrating an example of a disk I/O command issuing function according to the second embodiment of the invention. -
FIG. 38 is a diagram illustrating an example of a disk I/O completion function according to the second embodiment of the invention. -
FIG. 39 is a diagram illustrating an example of a job start function according to the second embodiment of the invention. -
FIG. 40 is a diagram illustrating an example of a job stop function according to the second embodiment of the invention. -
FIG. 41 is a diagram illustrating an example of a data transfer starting function according to the second embodiment of the invention. -
FIG. 42 is a flowchart illustrating an example of a power estimating function according to the second embodiment of the invention. -
FIG. 43 is a diagram illustrating an example of display data transmitted to a management computer in S244 of the power estimating function according to the second embodiment of the invention. -
FIG. 44 is a diagram illustrating an example of a power consumption history table according to the second embodiment of the invention. -
FIG. 45 is a flowchart illustrating an example of a virtual storage power displaying function according to the second embodiment of the invention. -
FIG. 46 is a diagram illustrating an example of a virtual storage power consumption output performed by the virtual storage power displaying function according to the second embodiment of the invention. -
FIG. 47 is a diagram illustrating functions of a storage control program according to a third embodiment of the invention. -
FIG. 48 is a block diagram illustrating a configuration of control data according to the third embodiment of the invention. -
FIG. 49 is a diagram illustrating an example of a disk power specification table according to the third embodiment of the invention. -
FIG. 50 is a diagram illustrating an example of a disk operation record table according to the third embodiment of the invention. -
FIG. 51 is a diagram illustrating an example of a disk status table according to the third embodiment of the invention. -
FIG. 52 is a diagram illustrating an example of a disk status changing function according to the third embodiment of the invention. -
FIG. 53 is a flowchart illustrating an example of a power estimating function according to the third embodiment of the invention. -
FIG. 54 is a block diagram illustrating a configuration of control data according to a fourth embodiment of the invention. -
FIG. 55 is a diagram illustrating an example of an SSD power specification table according to the fourth embodiment of the invention. -
FIG. 56 is a diagram illustrating an example of an SSD operation record table according to the fourth embodiment of the invention. -
FIG. 57 is a flowchart illustrating an example of a disk I/O issuing function according to the fourth embodiment of the invention. -
FIG. 58 is a flowchart illustrating an example of a disk I/O completion function according to the fourth embodiment of the invention. -
FIG. 59A is a flowchart illustrating an example of a power estimating function according to the fourth embodiment of the invention. -
FIG. 59B is a flowchart illustrating another example of the power estimating function according to the fourth embodiment of the invention. -
FIG. 60 is a block diagram illustrating functions and tables of a storage management program according to a fifth embodiment of the invention. -
FIG. 61 is a diagram illustrating an example of a virtual storage-disk resource mapping table according to the fifth embodiment of the invention. -
FIG. 62 is a diagram illustrating an example of a virtual storage-controller resource mapping table according to the fifth embodiment of the invention. -
FIG. 63 is a diagram illustrating an example of a virtual storage power displaying function according to the fifth embodiment of the invention. -
FIG. 64 is a diagram illustrating an example of a virtual storage power consumption displaying picture according to the fifth embodiment of the invention. - Hereinafter, exemplary embodiments of the invention will be described with reference to the accompanying drawings.
- In a first embodiment of the invention, power consumption of disk and controller parts of a storage system depending on operating statuses is estimated.
- First, the summary of the first embodiment will be described in brief.
- In the first embodiment, power consumption corresponding to operating statuses is calculated as follows. When the storage system holds information on idle power consumption and power consumption (hereinafter, referred to as power consumption base data) in a status of always processing accesses of I/O types (random or sequential and read or write) by disk types, a controller of the storage system totals a time for waiting for a response from disks by I/O types. The storage system calculates the power consumption corresponding to the operating status from the held power consumption base data and the logged operation information. The storage system records an operating time of a processor and an access time to a cache memory in the controller part and calculates the power consumption from the operating time of the processor and the access time to the cache memory. Hereinafter, the status of always processing an access of any I/O type is also referred to as a fully operating status.
-
FIG. 1 is a block diagram illustrating a configuration of a computer system according to the first embodiment of the invention. - The computer system includes a
storage system 1, amanagement computer 4, and ahost computer 71. Thestorage system 1 is connected to themanagement computer 4 and thehost computer 71. - The
storage system 1 includesdisk drives 6, a host interface (I/F)unit 72, a disk interface (I/F)unit 74, acache memory unit 73, acontroller 75, a management computer interface (I/F)unit 77, and aswitching unit 76. - The host I/
F unit 72 is an interface for connection to thehost computer 71 and thestorage system 1 transmits and receives data to and from thehost computer 71 through the host I/F unit 72. - The host I/
F unit 72 includes aprotocol conversion LSI 721 and adata transfer LSI 722. - The
protocol conversion LSI 721 converts a protocol of a fibre channel used for connection to thehost computer 71 and a protocol of a PCI used in the storage. - The
data transfer LSI 722 transmits data between theprotocol conversion LSI 721 and thecache memory unit 73 in accordance with a command from thecontroller 75. - In the example shown in
FIG. 1 , the number of host I/F units 72 is 2, but thestorage system 1 may include two or more host I/F units 72. Theprotocol conversion LSI 721 may convert a protocol other than the protocol of a fibre channel and the protocol of a PCI. - The
cache memory unit 73 stores data for quick access to a part of data stored in the disk drives 6. - The disk I/
F unit 74 is an interface for connection to thedisk drives 6 in thestorage system 1 and thestorage system 1 transmits and receives data to and from thedisk drives 6 through the disk I/F unit 74. - The disk I/
F unit 74 includes aprotocol conversion LSI 741 and adata transfer LSI 742. - The
protocol conversion LSI 741 converts a protocol of a fibre channel or an SAS (Serial Attached SCSI) used for connection to thedisk drives 6 and a protocol used in the storage. - The
data transfer LSI 742 transmits data between thedisk drives 6 and thecache memory unit 73 in accordance with a command from thecontroller 75. - The
protocol conversion LSI 741 may convert a protocol other than the protocol of a fibre channel, the protocol of an SAS, and the protocol used in the storage. - The
controller 75 controls thestorage system 1. Thecontroller 75 includes aprocessor 78 and acontrol memory 79. Theprocessor 78 includesplural processor cores 781. - The
control memory 79 stores astorage control program 2 andcontrol data 3 which is information necessary for storage control. Theprocessor 78 executes thestorage control program 2 controlling thestorage system 1 to control thestorage system 1. For example, thecontroller 75 controls data transfer in thestorage system 1. - The management computer I/
F unit 77 is an interface for connection to themanagement computer 4. Thestorage system 1 transmits and receives data to and from themanagement computer 4 through the management computer I/F unit 77. - The switching
unit 76 connects the host I/F unit 72, thecache memory unit 73, the disk I/F unit 74, thecontroller 75, and the management computer I/F unit 77. - The
management computer 4 includes a processor (not shown), a nonvolatile storage medium (not shown), and a memory (not shown). The nonvolatile storage medium stores astorage management program 5 for managing thestorage system 1. Thestorage system 1 is managed by thestorage management program 5. - The
host computer 71 includes a processor (not shown), a nonvolatile storage medium (not shown), and a memory (not shown) and reads data from thedisk drives 6 of thestorage system 1 or writes data to the disk drives 6. -
FIG. 2 is a block diagram illustrating a configuration of thecache memory unit 73 according to the first embodiment of the invention. - The
cache memory unit 73 includes amemory control LSI 731 and memory modules (DIMM) 733. - The
memory controller LSI 731 converts a protocol of a PCI used in thestorage system 1 and an SDRAM access protocol used for access to thememory module 733. Thememory controller LSI 731 includes an access time record table 732 having access times to thememory modules 733 recorded therein. Thememory controller LSI 731 may convert a protocol other than the protocol of a PCI used in thestorage system 1 and the SDRAM access protocol used for access to thememory modules 733. -
FIG. 3 is a diagram illustrating an example of the access time record table 732 according to the first embodiment of the invention. - The access time record table 732 includes a
channel number 7321 and anaccess time 7322. Thechannel number 7321 stores an identifier of a channel which is a data transfer path between thememory modules 733 and thememory controller LSI 731. Theaccess time 7322 stores a value indicating a cumulative time of past access times of the respective channels. -
FIG. 4 is a block diagram illustrating functions of thestorage control program 2 according to the first embodiment of the invention. - The
storage control program 2 includes a host I/Ocommand receiving function 21, a disk I/Ocommand issuing function 22, a disk I/O completion function 23, apower estimating function 24, ajob start function 25, and ajob stop function 26. The details of the functions will be described later with reference toFIGS. 16 to 20 . -
FIG. 5 is a block diagram illustrating a configuration of thecontrol data 3 according to the first embodiment of the invention. - The
control data 3 includes a disk configuration table 31, a disk power specification table 32, a disk operation record table 33, a tag management table 34, an I/O issuing status table 35, a controller configuration table 36, a controller power specification table 37, a controller power variation specification table 38, a processor operation record table 39, and a processor operating status table 30. The tables are described now. -
FIG. 6 is a diagram illustrating an example of the disk configuration table 31 according to the first embodiment of the invention. - The disk configuration table 31 manages types of the
disk drives 6 mounted on thestorage system 1 and physical positions of the disk drives 6. The disk configuration table 31 is updated at the time of adding or removing adisk drive 6. Thepower estimating function 24 refers to the disk configuration table 31 at the time of estimating power. - The disk configuration table 31 includes a
disk number 311 and adisk type 312. - The
disk number 311 stores information indicating the physical positions of the disk drives 6. For example, an identifier identifying a slot number of thestorage system 1 is stored in the disk number. - The
disk type 312 stores information indicating what type ofdisk drive 6 is mounted at a position corresponding to thedisk number 311. For example, the types of thedisk drives 6 are stored therein. The disk type may be any information as long as it can identify thedisk drives 6 having different power specifications. -
FIG. 7 is a diagram illustrating an example of the disk power specification table 32 according to the first embodiment of the invention. - The disk power specification table 32 manages power consumption in various statuses by types of the
disk drives 6 mounted on thestorage system 1. The disk power specification table 32 is updated when a new type ofdisk drive 6 is added. Thepower estimating function 24 refers to the disk power specification table 32 at the time of estimating power. - The disk power specification table 32 includes a
disk type 321, anidle power 322, a random-readpower increment 323, a random-write power increment 324, a sequential-readpower increment 325, and a sequential-write power increment 326. - The
disk type 321 stores an identifier identifying disk types. For example, the types of thedisk drives 6 are stored therein. The disk type is the same as thedisk type 312 shown inFIG. 6 . - The
idle power 322 stores the power consumption when thecorresponding disk drive 6 is in an idle status. Here, the idle status means a status where a power source is turned on and an access can be accepted but no access is accepted. - The random-read
power increment 323 stores a value indicating a difference between the power consumption and theidle power 322 when thecorresponding disk drive 6 receives only the random read and is in the fully operating status. Here, the random read means a status where thehost computer 71 issues a read access command having no locality to the entire disk drives 6. - The random-
write power increment 324 stores a value indicating a difference between the power consumption and theidle power 322 when thecorresponding disk drive 6 receives only the random write and is in the fully operating status. Here, the random write means a status where thehost computer 71 issues a write access command having no locality to the entire disk drives 6. - The sequential-read
power increment 325 stores a value indicating a difference between the power consumption and the idle power when thecorresponding disk drive 6 receives only the sequential read and is in the fully operating status. Here, the sequential read means a status where thehost computer 71 issues a read access command sequentially to continuous areas of a disk drive. - The sequential-
write power increment 326 stores a value indicating a difference between the power consumption and the idle power when thecorresponding disk drive 6 receives only a sequential write and is in the fully operating status. Here, the sequential write means a status where thehost computer 71 issues a write access command sequentially to continuous areas of a disk drive. -
FIG. 8 is a diagram illustrating an example of the disk operation record table 33 according to the first embodiment of the invention. - The disk operation record table 33 manages access times to the disk drives 6. The disk operation record table 33 is updated every access to the disk drives 6. The
power estimating function 24 refers to the disk operation record table 33 at the time of estimating power. - The disk operation record table 33 includes a
disk number 331, a random readcumulative operating time 332, a random-writecumulative operating time 333, a sequential-readcumulative operating time 334, and a sequential writecumulative operation time 335. - The
disk number 331 stores information indicating physical positions of thedisk drives 6 and is the same as thedisk number 311 shown inFIG. 6 . - The random-read
cumulative operating time 332 stores a cumulative operating time of times when the random read access is being issued to thedisk drive 6 corresponding to thedisk number 331. - The random-write
cumulative operating time 333 stores a cumulative operating time of times when the random write access is being issued to thedisk drive 6 corresponding to thedisk number 331. - The sequential-read
cumulative operating time 334 stores a cumulative operating time of times when the sequential read access is being issued to thedisk drive 6 corresponding to thedisk number 331. - The sequential-write
cumulative operating time 335 stores a cumulative operating time of times when the sequential write access is being issued to thedisk drive 6 corresponding to thedisk number 331. -
FIG. 9 is a diagram illustrating an example of the tag management table 34 according to the first embodiment of the invention. - The tag management table 34 manages tags as identifiers for identifying accesses issued to the disk drives 6. Accordingly, when accesses are multiply issued to a
single disk drive 6, it is possible to identify to what access request a response is. - The tag management table 34 includes a
disk number 341, atag number 342, and anaccess type 343. - The
disk number 341 stores information indicating physical positions of thedisk drives 6 and is the same as thedisk number 311 shown inFIG. 6 . - The
tag number 342 stores identifiers for uniquely identifying plural accesses issued to adisk drive 6 at the same time. Thetag number 342 is specified when thecontroller 75 issues an access. - The
access type 343 stores information indicating a trigger for access to thedisk drive 6. Specifically, types of accesses to thedisk drive 6 are stored in the access type. - The tag management table 34 stores only the
access type 343 and does not manage from whathost computer 71 the access should be. However, thecontroller 75 includes a table (not shown) where identifiers for identifying I/O of thehost computers 71 are mapped onto thetag number 342 and manages thehost computers 71 and the type of the access issued from thehost computers 71 by the corresponding table. -
FIG. 10 is a diagram illustrating an example of the I/O issuing status table 35 according to the first embodiment of the invention. - The I/O issuing status table 35 manages types of accesses issued to the
disk drives 6 and times when accesses to the disk drives are issued. The I/O issuing status table 35 is referred to and updated when the disk I/O issuing function 22 issues an access to thedisk drives 6 or when the disk I/O completion function 23 processes a response from the disk drives 6. - The I/O issuing status table 35 includes a
disk number 351, anaccess type 352, aoutstanding command count 353, and a disk operation starttime 354. - The
disk number 351 stores information indicating physical positions of thedisk drives 6 and is the same as thedisk number 311 shown inFIG. 6 . - The
access type 352 stores information indicating a trigger for access to thedisk drives 6 and is the same as theaccess type 343 shown inFIG. 9 . - The
outstanding command count 353 stores a value indicating how many accesses corresponding to theaccess type 352 are currently issued to thedisk drive 6 corresponding to thedisk number 351. - The disk operation start
time 354 stores a value indicating when the access corresponding to theaccess type 352 is issued to thedisk drive 6 corresponding to thedisk number 351. Specifically, the internal time of thestorage system 1 counted after thestorage system 1 starts its operation is stored therein. -
FIG. 11 is a diagram illustrating an example of the controller configuration table 36 according to the first embodiment of the invention. - The controller configuration table 36 manages specific kinds of constituent units such as the
cache memory unit 73 and thecontroller 75 in thestorage system 1 and physical positions of the constituent units. The controller configuration table 36 is updated at the time of adding or removing a component. Thepower estimating function 24 refers to the controller configuration table 36 at the time of estimating power. - The controller configuration table 36 includes a
type 361, aslot number 362, and acomponent name 363. - The
type 361 stores types of the constituent units of thestorage system 1 such as thecontroller 75 and thecache memory unit 73. Theslot number 362 stores numbers of slots used to add components of the constituent units. The number of slots is provided in advance to thestorage system 1. - The
component name 363 stores information indicating specific types of the components of the constituent units mounted on the slot. When no component is mounted on the slot corresponding to theslot number 362, “none” is stored therein. However, different information may be stored as the information indicating that no component is mounted. - By including the controller configuration table 36, it is possible to know a specific configuration of the
storage system 1. -
FIG. 12 is a diagram illustrating an example of the controller power specification table 37 according to the first embodiment of the invention. - The controller power specification table 37 manages information on the power consumption when the components mounted on the
storage system 1 are in the normal status (idle status). The controller power specification table 37 is updated at the time of adding a new type of component. Thepower estimating function 24 refers to the controller power specification table 37 at the time of estimating power. - The controller power specification table 37 includes a
type 371, acomponent name 372, and anidle power 373. - The
type 371 stores types of the constituent units of thestorage system 1 such as thecontroller 75 and thecache memory unit 73. Thetype 371 is the same as thetype 361 shown inFIG. 11 . - The
component name 372 stores information for identifying components having different power specifications, such as types of the components used to distinguish components having different performance and capacity from each other. Thecomponent name 372 is the same as thecomponent name 363 shown inFIG. 11 . - The
idle power 373 stores the power consumption of an electrified component not operating (idle). -
FIG. 13 is a diagram illustrating an example of the controller power variation specification table 38 according to the first embodiment of the invention. - The controller power variation specification table 38 manages power variations in operating statuses of the constituent units of the
storage system 1. - The controller power variation specification table 38 includes a
type 381, acomponent name 382, and apower increment 383. - The
type 381 stores types of the constituent units of thestorage system 1 such as thecontroller 75 and thecache memory unit 73. Thetype 381 is the same as thetype 361 shown inFIG. 11 . - The
component name 382 stores information for identifying components having different power specifications, such as types of the components used to distinguish components having different performance and capacity from each other. Thecomponent name 382 is the same as thecomponent name 363 shown inFIG. 11 . - The
power increment 383 stores a power consumption increment when the corresponding component operates in maximum. - The controller power variation specification table 38 may store information on only the constituent unit of the
storage system 1 varying in power consumption or may store information on all the constituent units of thestorage system 1. When the information on the all the constituent units of thestorage system 1 is stored, “0” is stored in thepower increment 383 of the component not varying in power consumption. -
FIG. 14 is a diagram illustrating an example of the processor operation record table 39 according to the first embodiment of the invention. - The processor operation record table 39 manages an operating time of the
processor 78 of thecontroller 75. The processor operation record table 39 is updated when a job, that is, the I/O processing function such as the host I/O processing function or the disk I/O processing function of thestorage control program 2, is performed by a scheduler operating on theprocessor 78. Thepower estimating function 24 refers to the processor operation record table 39 at the time of estimating power. - The processor operation record table 39 includes a
controller number 391, aprocessor core number 392, and acumulative operating time 393. - The
controller number 391 stores identifiers for identifyingplural controllers 75 in thestorage system 1. - The
processor core number 392 stores identifiers for identifyingplural processor cores 781 in theprocessor 78 of thecontroller 75. - The
cumulative operating time 393 stores a cumulative time of times when a job is executed on theprocessor core 781 corresponding to theprocessor core number 392. -
FIG. 15 is a diagram illustrating an example of the processor operating status table 30 according to the first embodiment of the invention. - The processor operating status table 30 manages whether a job of the
storage control program 2 is executed and the time when the job of thestorage control program 2 is started. - The processor operating status table 30 includes a
controller number 301, aprocessor core number 302, and ajob start time 303. - The
controller number 301 stores identifiers for identifyingplural controllers 75 in thestorage system 1. Thecontroller number 301 is the same as thecontroller number 391 shown inFIG. 14 . - The
processor core number 302 stores identifiers for identifyingplural processor cores 781 in theprocessor 78 of thecontroller 75 and is the same as theprocessor core number 392 shown inFIG. 14 . - The job start
time 303 stores whether a job of thestorage control program 2 is currently executed and the time when the job of thestorage control program 2 is started. Specifically, when the job of thestorage control program 2 is not executed, none is stored in the job starttime 303. When the job of thestorage control program 2 is executed, the time when the job of thestorage control program 2 is started is stored in the job starttime 303. The stored time is an internal time of thestorage system 1. - The tables of the
control data 3 are described hitherto. The functions of thestorage control program 2 will be described now. -
FIG. 16 is a flowchart illustrating an example of the host I/Ocommand receiving function 21 according to the first embodiment of the invention. - The host I/O
command receiving function 21 is called when receiving a read request command or a write request command from thehost computer 71 and serves to determine the type of the received command and to perform a process corresponding to the determined type of the received command. - First, the host I/O
command receiving function 21 analyzes the access type of an access request from the host computer 71 (S2101). Specifically, the access type is one of random read, random write, sequential read, and sequential write. - The host I/O
command receiving function 21 determines what type of the analyzed command corresponds to (S2102). - When it is determined that the access type is “random read”, the host I/O
command receiving function 21 determines whether the requested data is stored in the cache memory unit 73 (S2111). - When it is determined that the requested data is not stored, the host I/O
command receiving function 21 starts the disk I/O command issuing function 22 (S2112). At this time, the host I/Ocommand receiving function 21 gives the trigger for issuing a disk access to the disk I/Ocommand issuing function 22 as a parameter so as to total the access time. Specifically, the host I/Ocommand receiving function 21 gives the random read as a trigger, an address in a disk where data requested from the host exists as a transfer source of an access, and an empty area in thecache memory unit 73 as a transfer destination to the disk I/Ocommand issuing function 22 as parameters to start the disk I/Ocommand issuing function 22 and performs the process of S2113. - When it is determined in S2111 that the requested data is not stored, the host I/O
command receiving function 21 performs the process of S2113. - The host I/O
command receiving function 21 transmits the requested data as a response to the host computer 71 (S2113) and ends the process. - When it is determined in S2102 that the access type is the random write, the host I/O
command receiving function 21 writes data sent from thehost computer 71 to the cache memory unit 73 (S2121). - Then, the host I/O
command receiving function 21 transmits a response of write completion to the host computer 71 (S2122). - The host I/O
command receiving function 21 determines whether the empty area in thecache memory unit 73 is sufficient (S2123). - When it is determined that the empty area of the
cache memory unit 73 is sufficient, the host I/Ocommand receiving function 21 ends the process. - When it is determined that the empty area of the
cache memory unit 73 is not sufficient, the host I/Ocommand receiving function 21 writes the data stored in thecache memory unit 73 to thedisk 6 so as to receive the write data from thehost computer 71. Specifically, the host I/Ocommand receiving function 21 gives the random write as an access trigger, an area not accessed lately in thecache memory unit 73 as a transfer source, and an address in adisk drive 6 corresponding to the area not accessed as a transfer destination to the disk I/Ocommand issuing function 22 as parameters to start the disk I/O command issuing function 22 (S2124) and ends the process. - When it is determined in S2102 that the access type is the sequential read, the host I/O
command receiving function 21 predicts the access from thehost computer 71 and reads the requested data to thecache memory unit 73, and thus transmits the read data to thehost computer 71 as a response (S2131). - Since it predicts that the
host computer 71 accesses a next area, the host I/Ocommand receiving function 21 reads data of the next area to thecache memory unit 73. Specifically, the host I/Ocommand receiving function 21 gives the sequential read as the access trigger, a next area of the area requested by thehost computer 71 as a transfer source, and an empty area in thecache memory unit 73 as a transfer destination to the disk I/Ocommand issuing function 22 as parameters to start the disk I/O command issuing function 22 (S2132) and ends the process. - When it is determined in S2102 that the access type is the sequential write, the host I/O
command receiving function 21 writes the data sent from thehost computer 71 to the cache memory unit 73 (S2141). - The host I/O
command receiving function 21 then transmits a response of write completion to the host computer 71 (S2142). - The sequential write has small possibility of write data to the same area again. Accordingly, even when the written data is held in the
cache memory unit 73, the effective performance gain is not expected. As a result, the host I/Ocommand receiving function 21 evacuates the data written from thehost computer 71 to the disk drives 6. Specifically, the host I/Ocommand receiving function 21 gives the sequential write as the access trigger, an area to which data is written from the host computer as a transfer source, and an address in thecorresponding disk drive 6 as a transfer destination to the disk I/Ocommand issuing function 22 as parameters to start the disk I/O command issuing function 22 (S2143) and ends the process. -
FIG. 17 is a flowchart illustrating an example of the disk I/Ocommand issuing function 22 according to the first embodiment of the invention. - The disk I/O
command issuing function 22 is a function of issuing an access to thedisk drives 6 and is started in response to a request from the host I/Ocommand receiving function 21. - First, the disk I/O
command issuing function 22 analyzes the parameters sent from the host I/Ocommand receiving function 21 as a calling source and extracts thedisk drive 6 as an access destination and the access type (S221). - The disk I/O
command issuing function 22 selects thetag number 342 not used, that is, thetag number 342 to which theaccess type 343 corresponding to thetag number 342 is not written, with reference to the tag management table 34 (S222). - The disk I/O
command issuing function 22 stores the extracted access type in theaccess type 343 of the entry corresponding to the selected tag number 342 (S223). - The disk I/O
command issuing function 22 transmits a disk access command to theprotocol conversion LSI 741 of the disk I/F unit 74 (S224). - Then, the disk I/O
command issuing function 22 determines whether thedisk drive 6 as the extracted access destination and theoutstanding command count 353 of the entry corresponding to the access type are “0” with reference to the I/O issuing status table 35 (S225). - When it is determined that the
outstanding command count 353 of the corresponding entry is “0”, it means that thedisk drive 6 as the access destination does not operate and thedisk drive 6 as the access destination is started from now on. Accordingly, the disk I/Ocommand issuing function 22 stores the current time in the disk operation starttime 354 of the corresponding entry (S226) and then performs the process of S227. - When it is determined in S225 that the
outstanding command count 353 of the corresponding entry is not “0”, it means that the same type of access is issued to thesame disk drive 6, that is, thedisk drive 6 as the access destination is in an operating status. Accordingly, the disk I/Ocommand issuing function 22 performs the process of S227. - The disk I/O
command issuing function 22 adds “1” to theoutstanding command count 353 of the corresponding entry in the I/O issuing status table 35 (S227) and ends the process. -
FIG. 18 is a flowchart illustrating an example of the disk I/O ending function 23 according to the first embodiment of the invention. - The disk I/
O ending function 23 is a function called when the disk I/Ocommand issuing function 22 receives the response to the disk access command issued by the disk I/Ocommand issuing function 22 from thedisk drive 6 and manages the access time. - First, the disk I/
O completion function 23 analyzes the response received from thedisk drive 6 and extracts the tag number 342 (S231). - The disk I/
O completion function 23 reads theaccess type 343 of the entry corresponding to the extractedtag number 342 with reference to the tag management table 34 (S232). - The disk I/
O completion function 23 erases theaccess type 343 of the entry in the tag management table 34 (S233). - Then, the disk I/
O completion function 23 subtracts “1” from theoutstanding command count 353 of the corresponding entry in the I/O issuing status table 35 (S234). - The disk I/
O completion function 23 determines whether theoutstanding command count 353 of the corresponding entry in the I/O issuing status table 35 is “0” (S235). - When it is determined that the
outstanding command count 353 of the corresponding entry is “0”, it means that no access corresponding to the access type is issued, that is, the access to thedisk drive 6 is completed, and the disk I/O completion function 23 records the access time as operation information. That is, the disk I/O completion function 23 calculates a difference between the disk operation starttime 354 of the corresponding entry in the I/O issuing status table 35 and the current time, adds the calculated difference to thecumulative operating times 332 to 335 corresponding to the access type (S236), and then ends the process. - When it is determined in S235 that the
outstanding command count 353 of the corresponding entry is not “0”, it means that a different access of the same access type is performed, and thus the disk I/O completion function 23 ends the process. -
FIG. 19 is a flowchart illustrating an example of thejob starting function 25 according to the first embodiment of the invention. - The job start
function 25 is called by theprocessor core 781 performing a process requested in the received command or response to call a function (job) corresponding to the process, when receiving the command from thehost computer 71 or the response from thedisk drive 6. - First, the
job starting function 25 checks the entries corresponding to thecontroller number 301 for identifying thecontroller 75 including theprocessor core 781 performing the requested process and theprocessor core number 302 for identifying theprocessor core 781 with reference to the processor operating status table 30. Thejob starting function 25 writes the current time in the job starttime 303 of the corresponding entry (S251). Thereafter, thejob starting function 25 starts the job corresponding to the requested process (S252) and ends the process. -
FIG. 20 is a flowchart illustrating an example of thejob stop function 26 according to the first embodiment of the invention. - The
job stop function 26 is called by theprocessor core 781 having ending the above-mentioned job and serves to total the process time. - First, the
job stop function 26 reads the entries corresponding to thecontroller number 301 for identifying thecontroller 75 including theprocessor core 781 performing the requested process and theprocessor core number 302 for identifying theprocessor core 781 with reference to the processor operating status table 30. Thejob stop function 26 calculates a difference between the job starttime 303 and the current time with reference to the job starttime 303 of the entry corresponding to the read information (S261). - The
job stop function 26 adds the calculated difference to thecumulative operating time 393 of the corresponding entry in the processor operation record table 39 (S262). - The
job stop function 26 erases the value of the job starttime 303 of the corresponding entry in the processor operating status table 30 (S263) and ends the process. -
FIG. 21 is a flowchart illustrating an example of thepower estimating function 24 according to the first embodiment of the invention. - The
power estimating function 24 calculates operation rates of thedisk drives 6, thecontroller 75, and thecache memory unit 73, estimates the power consumption from the information of the tables and the calculated operation rates, and transmits information on the estimated power consumption to themanagement computer 4. Thepower estimating function 24 is called with a predetermined interval. - First, the
power estimating function 24 calculates disk power consumption from the disk configuration table 31 and the disk power specification table 32 (S241). Specifically, thepower estimating function 24 uses theidle power 322 of the entry corresponding to thedisk type 312 in the disk power specification table 32 as the disk power consumption with reference to thedisk type 312 of the entry in the disk configuration table 31. - Then, the
power estimating function 24 calculates the operation rates of thedisk drives 6 by access types using the information in the disk operation record table 33 and the calling interval of this process (S242). Specifically, the operation rate is calculated using thecumulative operating times 332 to 335 by access types and the calling interval of this process. For example, when the calling interval of this process is “1 second” and the random-readcumulative operating time 332 in the disk operation record table 33 is “1 millisecond”, the operation rate in the random read is “ 1/1000.” - Then, the
power estimating function 24 calculates the power increments of thedisk drives 6 from the calculated operation rates and the information in the disk power specification table 32 (S243). For example, when the operation rate in the random read is “ 1/10” and thepower increment 323 in the random read is “4.9 W”, the power increment is “0.49 W.” The calculation expression will be described later with reference toFIG. 22 . - The
power estimating function 24 calculates the power consumption of the controller from the controller configuration table 36 and the controller power specification table 37 (S2401). Specifically, the power consumption bytypes 361 is calculated. For example, as shown inFIGS. 11 and 12 , whenslot 0 andslot 1 of thecontroller 75 are mounted with “C-1” and “C-2”, theidle power 373 of the “C-1” is “85 W”, theidle power 373 of the “C-2” is “65 W”, and none is mounted on the other slots, the power consumption of thecontroller 75 in thestorage system 1 is calculated as “85+65=150 W.” The calculated value is used as the power consumption of thecontroller 75. The power consumption of the other constituent units is calculated using the same method. - The
power estimating function 24 reads the contents of the access time record table 732 for the cache memory unit 73 (S2402). - Then, the
power estimating function 24 calculates the operation rate of thecache memory unit 73 using the readaccess time 7322 and the calling interval of this process (S2403). For example, when the calling interval of this process is “1 second” and the readaccess time 7322 is “10 millisecond”, the operation rate of thecache memory unit 73 is “ 1/100.” - The
power estimating function 24 calculates the power consumption increment of thecache memory unit 73 from the calculated rate of the operation of thecache memory unit 73 and the contents of the controller power variation specification table 38 (S2404). For example, as shown inFIG. 12 , when the operation rate of thecache memory unit 73 is “ 1/10”, thecomponent name 382 is “M-2”, and thepower increment 383 is “5.3 W”, the power increment of thecorresponding memory module 733 is calculated as “ 1/10×5.3=0.53 W.” - Then, the
power estimating function 24 calculates the operation rates of theprocessor cores 781 using a ratio of the processor operation record table 39 and the calling interval of this process (S2405). The calculation method is the same as performed in S242. - The
power estimating function 24 calculates the operation rate of thecontroller 75 from the calculated operation rates of the processor cores 781 (S2406). Specifically, an average of the operation rates of theprocessor cores 781 in thecontroller 75 is calculated and the calculated average operation rate of theprocessor cores 781 is set as the operation rate of thecontroller 75. For example, when thecontroller 75 have fourprocessor cores 781 and the operation rates thereof are “20%”, “40%”, “60%”, and “80%”, the operation rate of thecontroller 75 is “50%.” - The
power estimating function 24 calculates the power increment of thecontroller 75 from the calculated operation rate of thecontroller 75 and the contents of the controller power variation specification table 38 (S2407). For example, when thepower increment 383 in the controller power variation specification table 38 is “42 W” and the operation rate is “50%”, the power increment of thecontroller 75 is “42 W×0.5=21 W.” - The
power estimating function 24 transmits the calculated power consumption and the calculated power increments of the constituent units to the management computer 4 (S244). - The
power estimating function 24 initializes thecumulative operating times 332 to 335 in the disk operation record table 33 (S245). - Then, the
power estimating function 24 initializes theaccess time 7322 in the access time record table 732 of the cache memory unit 73 (S2408). - The
power estimating function 24 initializes thecumulative operating time 393 in the processor operation record table 39 (S2409) and ends the process. - Although the power consumption has been calculated above, energy consumption may be calculated. Specifically, the energy consumption can be calculated by multiplying the operating time by the calculated power consumption. The calculated energy consumption may be transmitted to the
management computer 4. -
FIG. 22 is a diagram illustrating an example of the method of allowing thepower estimating function 24 to calculate a disk power increment in S241 and S243 according to the first embodiment of the invention. - A
calculated value 1001 is information indicating the power calculated in the processes shown inFIG. 21 . Specifically, the calculated value stores P_Static, P_RndRd, P_RadWr, P_SeqRd, P_SeqWr, and P_Dynamic. - The P_Static is the normal power consumption of a
disk type 312. The P_RndRd is the power increment in the random read access in adisk type 312. The P_RndWr is the power increment in the random write access in adisk type 312. The P_SeqRd is the power increment in the sequential read access in adisk type 312. The P_SeqWr is the power increment in the sequential write access in adisk type 312. The P_Dynamic is the power increment in the entire accesses in a disk type 3012. - The
calculation expression 1002 indicates a specific calculation expression of the calculatedvalue 1001. Thecalculation expression 1002 of thecalculated values 1001 will be described now. - The P_Static is calculated by the following expression.
-
P_Static=P_idle Expression 1 - Here, P_idle is the idle power consumption.
- The P_RndRd is calculated by the following expression.
-
P — RndRd=AR — RndRd×p — RndRd Expression 2 - Here, AR_RndRd is the operation rate of the random read access and p_RndRd is the
power increment 323 of the random read access. - The P_RndWr is calculated by the following expression.
-
P — RndWr=AR — RndWr×p — RndWr Expression 3 - Here, AR_RndWr is the operation rate of the random write access and p_RndWr is the
power increment 324 of the random write access. - The P_SeqRd is calculated by the following expression.
-
P — SeqRd=AR — SeqRd×p — SeqRd Expression 4 - Here, AR_SeqRd is the operation rate of the sequential read access and p_SeqRd is the
power increment 325 of the sequential read access. - The P_SeqWr is calculated by the following expression.
-
P — SeqWr=AR — SeqWr×p — SeqWr Expression 5 - Here, AR_SeqWr is the operation rate of the sequential write access and p_SeqWr is the
power increment 326 of the sequential write access. - The P_Dynamic is calculated by the following expression
-
P_Dynamic=P — RndRd+P — RndWr+P_SeqRd+P_SeqWr Expression 6 - The power increments of the disk parts are calculated by the use of the above-mentioned expressions.
-
FIG. 23 is a diagram illustrating an example of display data 990 transmitted to themanagement computer 4 in S244 of the process performed by thepower estimating function 24 according to the first embodiment of the invention. - The display data 990 includes a
part 991, anaverage power consumption 992, apower increment 993, and anidle power 994. - The
part 991 stores information indicating the constituent units or components of thestorage system 1. For example, information on thetype 361 and thecomponent name 363 is stored therein. The information is not fully as long as it can identify the constituent units or components. - The
average power consumption 992 stores information indicating the average power consumption of thepart 991. Here, the average power consumption is a value indicating the total value of the calculated power increment and theidle power 994. - The
power increment 993 stores information indicating the power increment of thedisk drives 6 or the controller. When thepart 991 stores the information indicating thedisk drive 6, information on the power increments by access types is stored therein. When thepart 991 stores the information indicating the controller, information on the power increment of the controller is stored therein. - The
idle power 994 stores information indicating the power when the constituent units or components of thestorage system 1 are not performing any process. -
FIG. 24 is a block diagram illustrating functions and tables of thestorage management program 5 according to the first embodiment of the invention. - The
storage management program 5 includes a power consumption history table 51 and a powerconsumption updating function 52. - The power consumption history table 51 manages power data sent from the
storage system 1. The powerconsumption updating function 52 updates the power consumption history table 51 on the basis of the power data sent from thestorage system 1. -
FIG. 25 is a diagram illustrating the power consumption history table 51 according to the first embodiment of the invention. - The power consumption history table 51 is included in the
storage management program 5 of themanagement computer 4 and is used to manage the power data sent from thestorage system 1 and to display the contents thereof in response to a management computer user's request. - The power consumption history table 51 includes a date and
time 511, apart 512, anaverage power consumption 513, apower increment 514, and anidle power 515. - The date and
time 511 stores information indicating when the data is stored. Thepart 512, theaverage power consumption 513, thepower increment 514, and theidle power 515 are the same as thepart 991, theaverage power consumption 992, thepower increment 993, and theidle power 994 shown inFIG. 22 . - As described above, according to the first embodiment of the invention, it is possible to calculate accurate values of the power consumption by exchanging the operation information with all the constituent units, that is, the disk drives and the controller, in the
storage system 1. The manager can know the information on the calculated power consumption. As a result, it is possible to control the power with higher precision. - In a second embodiment of the invention, the power consumption of virtual storages is estimated when the
storage system 1 can be treated as plural virtual storages (LPAR). - The configuration of the computer system according to the second embodiment of the invention is the same as the first embodiment and thus its description is omitted.
- In the second embodiment, the physical resources of the
storage system 1 are divided and virtual storages are constituted from the divided physical resources. Each virtual storage is recognized as onestorage system 1 by thehost computer 71. The disk drives 6 are partitioned into logical volumes. The tables store information every logical volume. Thepower estimating function 24 calculates the estimated power consumption every logical volume and estimates the power consumption of the respective virtual storage on the basis of the calculated estimated power consumption. -
FIG. 26 is a block diagram illustrating functions and tables of thestorage management program 5 according to the second embodiment of the invention. - In the second embodiment, the
storage management program 5 additionally includes a virtual storage-volume mapping table 53 and a virtual storagepower displaying function 54. - The virtual storage-volume mapping table 53 manages the mapping between the virtual storages and the logical volumes. The virtual storage
power displaying function 54 displays the power estimation result by virtual storages. -
FIG. 27 is a diagram illustrating an example of the virtual storage-volume mapping table 53 according to the second embodiment of the invention. - The virtual storage-volume mapping table 53 manages a virtual storage (LPAR)
number 531 and alogical volume number 532. - The
virtual storage number 531 stores identifiers for identifying the virtual storages in thestorage system 1. - The
logical volume number 532 stores identifiers for identifying the logical volumes prepared in the disk drives 6. - The
storage system 1 can know to what virtual storage a process relates from thelogical volume number 532. -
FIG. 28 is a block diagram illustrating functions of thestorage control program 2 according to the second embodiment of the invention. - Compared with the first embodiment, the
storage control program 2 according to the second embodiment additionally includes a datatransfer issuing function 27. The datatransfer issuing function 27 is a function of managing the amount of data by which thecache memory unit 73 is accessed to operate the logical volumes. Details thereof will be described later with reference toFIG. 41 . -
FIG. 29 is a block diagram illustrating a configuration ofcontrol data 3 according to the second embodiment of the invention. - Compared with the first embodiment, the
control data 3 according to the second embodiment additionally includes a cache access-amount table 91 and an LDEV-physical volume mapping table 92. - In the second embodiment, the information stored in the disk operation record table 33, the tag management table 34, the I/O issuing status table 35, the processor operation record table 39, and the processor operating status table 30 is different from that of the first embodiment.
- First, the LDEV-physical volume mapping table 92 will be described.
-
FIG. 30 is a diagram illustrating an example of the LDEV-physical volume mapping table 92 according to the second embodiment of the invention. - The LDEV-physical volume mapping table 92 manages the mapping between a
disk drive 6 and the logical volumes (LDEV: logical Device) prepared in an RAID group including one or more disk drives 6. - The LDEV-physical volume mapping table 92 includes a
logical volume number 921, anRAID level 922, adisk number 923, and anLBA range 924. - The
logical volume number 921 stores identifiers for identifying the logical volumes. - The
RAID level 922 stores information indicating types of the RAID. - The
disk number 923 stores identifiers of thedisk drives 6 constituting the RAID. - The LBA range 924 stores addresses assigned to the disk drives 6.
- Differences of the disk operation record table 33, the tag management table 34, the I/O issuing status table 35, the processor operation record table 39, and the processor operating status table 30 will be described now.
-
FIG. 31 is a diagram illustrating an example of the disk operation record table 33 according to the second embodiment of the invention. - The disk operation record table 33 additionally includes a
logical volume number 336, compared with the first embodiment. - The
logical volume number 336 stores identifiers for identifying the logical volumes prepared in the disk drives 6. Accordingly, the disk operation record table 33 can manage thecumulative operating times 332 to 335 of the logical volumes by access types. - The identifier for identifying a logical volume is an identifier specified by the
management computer 4 at the time of preparing the logical volumes. -
FIG. 32 is a diagram illustrating an example of the tag management table 34 according to the second embodiment of the invention. - The tag management table 34 additionally includes a
logical volume number 344, compared with the first embodiment. Thelogical volume number 344 is the same as thelogical volume number 336 shown inFIG. 31 . Thelogical volume number 344 is mapped onto thetag number 342 so that the tag management table 34 can manage to logical volume the access is corresponding to thetag number 342 is an access. -
FIG. 33 is a diagram illustrating an example of the I/O issuing status table 35 according to the second embodiment of the invention. - The I/O issuing status table 35 additionally includes a
logical volume number 355, compared with the first embodiment. Thelogical volume number 355 is the same as thelogical volume number 336 shown inFIG. 31 . Accordingly, the I/O issuing status table 35 can manage theoutstanding command count 353 and the disk operation starttime 354 of the respective logical volumes by access types. -
FIG. 34 is a diagram illustrating an example of the processor operation record table 39 according to the second embodiment of the invention. - The processor operation record table 39 additionally includes a
logical volume number 394, compared with the first embodiment. Thelogical volume number 394 is the same as thelogical volume number 336 shown inFIG. 31 . Accordingly, the processor operation record table 39 can manage a time when theprocessor core 781 is operating to perform a job of a certain logical volume. -
FIG. 35 is a diagram illustrating an example of the processor operating status table 30 according to the second embodiment of the invention. - The processor operating status table 30 additionally includes a
logical volume number 304, compared with the first embodiment. Thelogical volume number 304 is the same as thelogical volume number 336 shown inFIG. 31 . Accordingly, the processor operating status table 30 can manage the job starttime 303 of theprocessor core 781 every logical volume. - The cache access-amount table 91 will be described now.
-
FIG. 36 is a diagram illustrating an example of the cache access-amount table 91 according to the second embodiment of the invention. - The cache access-amount table 91 manages an amount of cache memory access every logical volume. At the time of estimating the power consumption every logical volume, the
power estimating function 24 refers to the cache access-amount table 91. - The cache access-amount table 91 includes a
logical volume number 911 and acumulative access amount 912. - The
logical volume number 911 is the same as thelogical volume number 336 shown inFIG. 31 . - The
cumulative access amount 912 stores an amount of data by which thecache memory unit 73 is accessed to operate the corresponding logical volume. -
FIG. 37 is a diagram illustrating an example of a disk I/Ocommand issuing function 22 according to the second embodiment of the invention. The process steps different from those of the first embodiment are mainly described now. - The processes of S221 to S223 are the same as the first embodiment. The parameters sent from the host I/O
command receiving function 21 include the identifiers of the logical volumes. The process of S228 is additionally performed after S223. - In S228, the disk I/O
command issuing function 22 stores the extracted identifiers of the logical volumes in thelogical volume number 344 of the entry corresponding to thetag number 342 selected in S222 with reference to the tag management Table 34. - The process of S224 is the same as the first embodiment. The process of S225 is different from the first embodiment.
- In S225, the disk I/O
command issuing function 22 determines whether theoutstanding command count 353 of the entry corresponding to thedisk drive 6 as the extracted access destination, thelogical volume number 355, and the access type is “0” with reference to the I/O issuing status table 35. - The processes of S226 to S227 are the same as the first embodiment.
-
FIG. 38 is a diagram illustrating an example of a disk I/O completion function 23 according to the second embodiment of the invention. Process steps different from those of the first embodiment will be mainly described now. - The processes of S231 to S233 are the same as the first embodiment. The processes of S237 and S238 are additionally performed after S233.
- In S237, the disk I/
O completion function 23 reads thelogical volume number 344 of the entry corresponding to the extractedtag number 342 with reference to the tag management table 34. In S228, the disk I/O completion function 23 erases thelogical volume number 344 of the entry. - The processes of S234 to S236 are the same as the first embodiment. However, the processes are performed on the basis of the extracted
logical volume number 344. -
FIG. 39 is a diagram illustrating an example of ajob starting function 25 according to the second embodiment of the invention. Process steps different from those of the first embodiment will be mainly described now. - The processes of S251 and S252 are the same as the first embodiment. The processes of S253 and S254 are additionally performed, compared with the first embodiment.
- In S253, the
job starting function 25 determines from what logical volume a started job is requested. The request includes the identifier of the logical volume and thus thejob starting function 25 determines from what logical volume the started job is requested with reference to the identifier of the corresponding logical volume. - In S254, the
job starting function 25 stores the identifier of the logical volume determined in S253 in thelogical volume number 304 of the entry in which the job starttime 303 is stored in S251. -
FIG. 40 is a diagram illustrating an example of ajob stop function 26 according to the second embodiment of the invention. Process steps different from those of the first embodiment will be mainly described now. - The processes of S261 and S263 are the same as the first embodiment. Compared with the first embodiment, the process of S262 is different and the processes of S264 and S265 are additionally performed.
- In S264, the
job stop function 26 reads the entries corresponding to thecontroller number 301 including theprocessor core 781 performing the requested process, theprocessor core number 302 for identifying theprocessor core 781, and thelogical volume number 304 with reference to the processor operating status table 30. - In S262, the
job stop function 26 adds the difference calculated in S261 to thecumulative operating time 393 of the entry corresponding to the read information (thecontroller number 301, theprocessor core number 302, and the logical volume number 304). - In S265, the
job stop function 26 erases thelogical volume number 304 of the corresponding entry in the processor operating status table 30 and ends the processes. -
FIG. 41 is a diagram illustrating an example of the datatransfer starting function 27 according to the second embodiment of the invention. - The data
transfer issuing function 27 is started up at the time of transferring data between thecache memory unit 73, and thehost interface unit 72 or at the time of transferring data between thecache memory unit 73 and thedisk interface unit 74. - First, the data
transfer starting function 27 determines from what logical volume data is transferred (S271). In general, the job calling the datatransfer issuing function 27 manages on what logical volume a process is performed. The datatransfer starting function 27 determines what logical volume is operated with reference to the information managed by the job. - Then, the data
transfer issuing function 27 adds the transferred data size to the entry of thelogical volume number 911 corresponding to the logical volume determined in S271 (S272). - The data
transfer starting function 27 starts up the transfer of data (S273) and ends the process. Specifically, the datatransfer issuing function 27 transmits a data transfer command to thedata transfer LSI 722 of thehost interface unit 72 or thedata transfer LSI 742 of thedisk interface unit 74. -
FIG. 42 is a flowchart illustrating an example of thepower estimating function 24 according to the second embodiment of the invention. Process steps different from those of the first embodiment will be mainly described now. - The processes of S241, S2401 to S2403, S244 to S245, and S2408 and S2409 are the same as the first embodiment.
- In S242, the
power estimating function 24 calculates the operation rates of the logical volumes by access types using the ratio of the information included in the disk operation record table 33 and the calling interval of this process. - In S243, the
power estimating function 24 calculates the power increments of the logical volumes from the calculated operation rates and the information of the disk power specification table 32. - In S2405, the
power estimating function 24 calculates the power increment of thecache memory unit 73 by logical volumes from the data transfer sizes of the logical volumes. - Specifically, the
power estimating function 24 calculates a ratio of thecumulative access amount 912 of a logical volume to the total of thecumulative access amount 912 of the cache access-amount table 91, multiplies theaccess time 7322 shown inFIG. 3 by the calculated ratio, and calculates the access time of thecache memory unit 73 to the logical volume. - Then, the
power estimating function 24 calculates the operation rate of thecache memory unit 73 in a logical volume from the calling interval of this process and the calculated access time of thecache memory unit 73 to the logical volume and calculates the power increments of thecache memory unit 73 using the calculated operation rate of thecache memory unit 73 in the logical volume. The method of calculating the power increment of thecache memory unit 73 is the same as the first embodiment. - In S2406, the
power estimating function 24 calculates the operation rate of theprocessor core 781 by logical volumes using the ratio of thecumulative operating time 393 in the processor operation record table 39 and the calling interval of this process. The calculation method is the same as the first embodiment. - In S2407, the
power estimating function 24 calculates the operation rate of thecontroller 75 by logical volumes from the calculated operation rate of the processor. The calculation method is the same as the first embodiment. -
FIG. 43 is a diagram illustrating an example of display data 990 transmitted to themanagement computer 4 in S244 performed by thepower estimating function 24 according to the second embodiment of the invention. - The display data 990 additionally includes a
logical volume number 995, compared with the first embodiment. Thelogical volume number 995 is the same as thelogical volume number 336 shown inFIG. 31 . -
FIG. 44 is a diagram illustrating an example of the power consumption history table 51 according to the second embodiment of the invention. - Compared with the first embodiment, the power consumption history table 51 additionally includes a
logical volume number 516. Thelogical volume number 516 is the same as thelogical volume number 336 shown inFIG. 31 . Accordingly, themanagement computer 4 can know the power increment by logical volumes. -
FIG. 45 is a flowchart illustrating an example of the virtual storagepower displaying function 54 according to the second embodiment of the invention. - The virtual storage
power displaying function 54 is called in response to a request from a manager operating themanagement computer 4 to display the power consumption of the virtual storages. - First, the virtual storage
power displaying function 54 displays theidle power 515 on a screen with reference to the power consumption history table 51 (S541). - The virtual storage
power displaying function 54 selects an entry of the virtual storage corresponding to a virtual storage number with reference to the virtual storage-volume mapping table 53 (S542). - The virtual storage
power displaying function 54 enumerates the logical volumes included in the selected virtual storages with reference to the virtual storage-volume mapping table 53 (S543). - Then, the virtual storage
power displaying function 54 totals the power increments of the enumerated logical volumes with reference to the power consumption history table 51 (S544). - The virtual storage
power displaying function 54 displays the totaling result on the screen (S545). - The virtual storage
power displaying function 54 determines whether the above-mentioned process is performed on the entries of the entire virtual storages (S546). - When it is determined that the above-mentioned process is not performed on the entries of the entire virtual storages, the virtual storage
power displaying function 54 performs the above-mentioned process in S542 again. - When it is determined that the above-mentioned process is performed on the entries of the entire virtual storages, the virtual storage
power displaying function 54 ends the process. -
FIG. 46 is a diagram illustrating an example of a virtual storage power consumption output performed by the virtual storagepower displaying function 54 according to the second embodiment of the invention. - In the example shown in
FIG. 46 , the virtual storagepower displaying function 54 displays anormal power 591 and apower increment 592. - The
normal power 591 is the power consumption of thestorage system 1 when it is turned on but does not perform any process, that is, the idle power. Thepower increment 592 is the power increment due to the operation of the virtual storages. - An updating
unit 593 updates data by operating the updatingunit 593. - An ending
unit 594 ends the display by operating the endingunit 594. - As described above, according to the second embodiment of the invention, it is possible to calculate the power increment by virtual storages in the
storage system 1 supporting plural virtual storages. - As a result, in a
single storage system 1 using the virtual storage function, it is possible to calculate the power consumption by virtual storages, similarly the case where power is individually calculated fromplural storage systems 1. - In the second embodiment, the operating times of disks are obtained by measurement every logical volume. However, similarly to the power estimating method of the
cache memory unit 73, thestorage system 1 may store the operating time, the I/O count, and the transfer size every logical volume and may proportionally distribute the power increment by the I/O count or the transfer size every logical volume. - Although the power consumption by virtual storages is calculated in the second embodiment, the power consumption may be calculated every
host computer 71 in the same way. - Although the estimated power every logical volume is calculated using the identifiers of the logical volumes in the second embodiment, the tables may include the identifiers for identifying the virtual storages and calculate the estimated power by virtual storages.
- In a third embodiment of the invention, power is estimated by considering a change in status in a
storage system 1 controlling a status (active, standby, or rotation OFF) of disk drives 6. - The configuration of the storage system according to the third embodiment of the invention is the same as the second embodiment and thus its description is omitted.
-
FIG. 47 is a block diagram illustrating functions of thestorage control program 2 according to the third embodiment of the invention. - Compared with the second embodiment, the
storage control program 2 according to the third embodiment additionally includes a diskstatus changing function 28. The diskstatus changing function 28 manages the statuses of the disk drives 6. -
FIG. 48 is a block diagram illustrating a configuration ofcontrol data 3 according to the third embodiment of the invention. - Compared with the second embodiment, the
control data 3 according to the third embodiment additionally includes a disk status table 93. The disk status table 93 will be described later with reference toFIG. 51 . -
FIG. 49 is a diagram illustrating an example of a disk power specification table 32 according to the third embodiment of the invention. - Compared with the second embodiment, the disk power specification table 32 additionally includes a
standby power 327 and a spin-downpower 328. - The
standby power 327 stores the power consumption when adisk drive 6 is in a standby status. - The spin-down
power 328 stores the power consumption when adisk drive 6 is in a spin-down status. -
FIG. 50 is a diagram illustrating an example of a disk operation record table 33 according to the third embodiment of the invention. - Compared with the second embodiment, the disk operation record table 33 additionally includes a
standby time 337 and a spin-down time 338. Thestandby time 337 and the spin-down time 338 are stored everydisk number 331. - The
standby time 337 stores the cumulative time when thedisk drive 6 is in the standby status. - The spin-
down time 338 stores the cumulative time when thedisk drive 6 is in the spin-down status. -
FIG. 51 is a diagram illustrating an example of the disk status table 93 according to the third embodiment of the invention. - The disk status table 93 manages a current operating status and a status change start time of the
disk drives 6 in thestorage system 1. - The disk status table 93 includes a
disk number 931, acurrent status 932, and astart time 933. - The
disk number 931 is the same as thedisk number 311 shown inFIG. 6 . - The
current status 932 stores information indicating the current operating statuses of the disk drives 6. For example, “active” is stored in a normal operating status, “standby” is stored in the standby status, and “spin down” is stored in the spin-down status. - The
start time 933 stores a time when the operating status as thecurrent status 932 is started, that is, the status change start time. -
FIG. 52 is a flowchart illustrating an example of the diskstatus changing function 28 according to the third embodiment of the invention. - The disk
status changing function 28 is called when the status of thedisk drive 6 is changed in accordance with a command from thehost computer 71 or themanagement computer 4, changes the disk status, and manages the status change time. - First, the disk
status changing function 28 determines whether atarget disk drive 6 is in the standby status or in the spin-down status (S281). - When it is determined that the
target disk drive 6 is in the standby status or in the spin-down status, that is, when it is determined that the standby status or the spin-down status is ended, the diskstatus changing function 28 calculates a difference between thestart time 933 of thetarget disk drive 6 and the current time with reference to the disk status table 93 (S282). - The disk
status changing function 28 adds the calculated difference to thestandby time 337 or the spin-down time 338 of the corresponding entry of the disk operation record table 33 (S283). - The disk
status changing function 28 initializes the entry of thetarget disk drive 6 in the disk status table 93 (S284) and then performs the process of S285. - When it is determined in S281 that the
target disk drive 6 is not in the standby status or in the spin-down status, the diskstatus changing function 28 determines whether a new changed status is the standby status or the spin-down status (S285). - When it is determined that the new changed status is not the standby status or the spin-down status, the disk
status changing function 28 performs the process of S288. - When it is determined in S285 that the new changed status is the standby status or the spin-down status, the disk
status changing function 28 stores the current time in thestart time 933 of thetarget disk drive 6 in the disk status table 93 (S286). - The disk
status changing function 28 stores the new status in thecurrent status 932 in the disk status table 93 (S287) and performs the process of S288. - The disk
status changing function 28 changes the disk status to the status instructed by thehost computer 71 or the management computer 4 (S288) and ends the process. -
FIG. 53 is a flowchart illustrating an example of thepower estimating function 24 according to the third embodiment of the invention. Process steps different from those of the first embodiment will be mainly described now. - In S240, the
power estimating function 24 calculates ratios of the statuses of thedisk drive 6 using the ratio of thestandby time 337 and the spin-down time 338 in the disk operation record table 33 and the calling interval of this process. The calculation method is the same as the first embodiment. - In S241, the
power estimating function 24 calculates the power consumption of the disk drive from the calculated ratio and the information in the disk power specification table 32. Specifically, the power consumption of thedisk drives 6 by statuses is calculated. The calculation method is the same as the first embodiment. - The processes of S242 to 245 and S2401 to S2409 are the same as the first embodiment.
- As described above, according to the third embodiment of the invention, it is possible to estimate the power consumption by considering the change in status in the
storage system 1 controlling the statuses (active, standby, or spin down) of the disk drives 6. - In a fourth embodiment of the invention, when the
storage system 1 includes adisk drive 6 and a solid state drive (SSD), the power consumption is estimated by considering a difference in characteristics therebetween. - In the fourth embodiment, the power consumption of the
disk drive 6 is estimated using the access time and the power consumption of the SSD is estimated using the transfer size, thereby estimating the power consumption with high precision. - The configuration of the storage system according to the fourth embodiment is the same as the second embodiment and thus its description is omitted. However, the
disk drive 6 includes the SSD and thus is referred to as theSSD 6. -
FIG. 54 is a block diagram illustrating a configuration ofcontrol data 3 according to the fourth embodiment of the invention. - Compared with the third embodiment, the
control data 3 according to the fourth embodiment additionally includes an SSD power specification table 94 and an SSD operation record table 95. The SSD power specification table 94 and the SSD operation record table 95 will be described later with reference toFIGS. 55 and 56 . -
FIG. 55 is a diagram illustrating an example of the SSD power specification table 94 according to the fourth embodiment of the invention. - The SSD power specification table 94 manages the energy consumption in the statuses by types of the
SSD 6 mounted on thestorage system 1. The SSD power specification table 94 is updated at the time of adding a new type ofdisk drive 6. Thepower estimating function 24 refers to the SSD power specification table 94 at the time of estimating the power. - The SSD power specification table 94 includes a
disk type 941, anidle power 942, a random-readenergy consumption 943, a random-write energy consumption 944, a sequential-readenergy consumption 945, and a sequential-write energy consumption 946. - The
disk type 941 stores identifiers for identifying the types of theSSD 6. - The
idle power 942 stores a value indicating the power consumption when thecorresponding SSD 6 is in the idle status. - The random-read
energy consumption 943 stores a value indicating the energy consumption per data transfer size when theSSD 6 corresponding to thedisk type 941 receives only the random read access and is in the fully operating status. - The random-
write energy consumption 944 stores a value indicating the energy consumption per data transfer size when theSSD 6 corresponding to thedisk type 941 receives only the random write access and is in the fully operating status. - The sequential-read
energy consumption 945 stores a value indicating the energy consumption per data transfer size when theSSD 6 corresponding to thedisk type 941 receives only the sequential read access and is in the fully operating status. - The sequential-
write energy consumption 946 stores a value indicating the energy consumption per data transfer size when theSSD 6 corresponding to thedisk type 941 receives only the sequential write access and is in the fully operating status. -
FIG. 56 is a diagram illustrating an example of the SSD operation record table 95 according to the fourth embodiment of the invention. - The SSD operation record table 95 manages the data transfer size at the time of access to the
SSD 6. The SSD operation record table 95 is updated every access to theSSD 6. Thepower estimating function 24 refers to the SSD operation record table 95 at the time of estimating the power. - The SSD operation record table 95 includes a
disk number 951, alogical volume number 952, a random-readcumulative transfer size 953, a random-writecumulative transfer size 954, a sequential-readcumulative transfer size 955, and a sequential-writecumulative transfer size 956. - The
disk number 951 and thelogical volume number 952 are the same as thedisk number 331 and thelogical volume number 336 shown inFIG. 31 . - The random-read
cumulative transfer size 953 stores a cumulative transfer size of the transfer sizes at the time of random-read access to thecorresponding SSD 6. - The random-write
cumulative transfer size 954 stores a cumulative transfer size of the transfer sizes at the time of random-write access to thecorresponding SSD 6. - The sequential-read
cumulative transfer size 955 stores a cumulative transfer size of the transfer sizes at the time of sequential-read access to thecorresponding SSD 6. - The sequential-write
cumulative transfer size 956 stores a cumulative transfer size of the transfer sizes at the time of sequential-write access to thecorresponding SSD 6. -
FIG. 57 is a flowchart illustrating an example of the disk I/Ocommand issuing function 22 according to the fourth embodiment of the invention. - The processes of S221 to S224 are the same as the third embodiment.
- In S229, the disk I/O
command issuing function 22 determines whether an access destination is theSSD 6. Specifically, the disk I/Ocommand issuing function 22 performs the determination with reference to the information on thedisk drive 6 as the access destination extracted in S221. - When it is determined that the access destination is not the
SSD 6, the disk I/Ocommand issuing function 22 performs the process of S225. The processes of S225 to S227 are the same as the third embodiment. - When it is determined that the access destination is the
SSD 6, the disk I/Ocommand issuing function 22 ends the process. When the access destination is theSSD 6, the power consumption is estimated using the transfer size instead of the operating time and thus the processes of S225 to S227 are omitted. -
FIG. 58 is a flowchart illustrating an example of a disk I/O completion function 23 according to the fourth embodiment of the invention. - The processes of S231 to S238 are the same as the third embodiment.
- In S239, the disk I/
O completion function 23 determines whether the access destination is theSSD 6. - When it is determined that the access destination is not the
SSD 6, the disk I/O completion function 23 performs the process of S234. The processes of S234 to S236 are the same as the third embodiment. - When it is determined that the access destination is the
SSD 6, the disk I/O ending function 23 adds the transfer size to eachcumulative transfer size 943 to 946 by access types of the corresponding entry in the SSD operation record table 95 (S230) and ends the process. -
FIGS. 59A and 59B are flowcharts illustrating an example of thepower estimating function 24 according to the fourth embodiment of the invention. - The
power estimating function 24 selects a power estimating target with reference to the disk configuration table 31 (S2411). - The
power estimating function 24 determines whether the selected power estimation target is the SSD (S2412). - When it is determined that the selected power estimation target is not the SSD, the
power estimating function 24 performs the process of S241. The processes of S241 to S243 are the same as the third embodiment. Thepower estimating function 24 performs the process of S2416 after S243. - When it is determined that the selected power estimation target is the SSD, the
power estimating function 24 calculates the SSD normal power with reference to the disk configuration table 31 and the SSD power specification table 94 (S2413). The calculation method is the same as performed in S241. - The
power estimating function 24 calculates the energy consumption of theSSD 6 with reference to the SSD power specification table 94 and the SSD operation record table 95 (S2414). Specifically, the energy consumption is calculated by multiplying theenergy consumption 933 to 936 by thecumulative transfer size 943 to 946 by access types. - The
power estimating function 24 calculates the power increment of the SSD using the energy consumption calculated in S2414 and the calling interval of this process (S2415). Specifically, the power increment is calculated by dividing the energy consumption calculated in S2414 by the calling interval of this process. Thepower estimating function 24 performs the process of S2416 after calculating the power increment of the SSD. - The
power estimating function 24 determines whether all the power estimation targets are processed (S2416). - When it is determined that all the power estimation targets are not processed, the
power estimating function 24 performs the same process in S2411 again. - When it is determined that all the power estimation targets are not processed, the
power estimating function 24 performs the process of S2401. The processes of S2401 to S245 are the same as the third embodiment. - In S2417, the
power estimating function 24 initializes thecumulative transfer sizes 943 to 946 by access types in the SSD operation record table 95. - As described above, according to the fourth embodiment of the invention, it is possible to estimate the power consumption with high precision in consideration of the difference in characteristic between the
disk drive 6 and theSSD 6 in thestorage system 1 including both. - In a fifth embodiment of the invention, normal power along with power of respective virtual storages is provided to a manager in a
storage system 1 performing a logical partition operation. - In the fifth embodiment, it is determined for what virtual storages the respective physical resources of the
storage system 1 is used, the normal power is distributed depending on the degree of physical resources used in the respective virtual storages, and the distributed power is displayed. -
FIG. 60 is a block diagram illustrating functions and tables of thestorage management program 5 according to the fifth embodiment of the invention. - Compared with the third embodiment, the
storage management program 5 additionally includes a virtual storage-disk resource mapping table 55 and a virtual storage-controller resource mapping table 56. The virtual storage-disk resource mapping table 55 and the virtual storage-controller resource mapping table 56 will be described later with reference toFIGS. 60 and 61 . -
FIG. 61 is a diagram illustrating an example of the virtual storage-disk resource mapping table 55 according to the fifth embodiment of the invention. - The virtual storage-disk resource mapping table 55 manages for what virtual storages the
disk drives 6 are used. The virtual storage-disk resource mapping table 55 is referred to at the time of displaying the power by virtual storages. - The virtual storage-disk resource mapping table 55 includes a
disk number 551 and a usedvirtual storage number 552. - The
disk number 551 is the same as thedisk number 311 shown inFIG. 6 . - The used
virtual storage number 552 stores information indicating for what virtual storage of thecorresponding disk drive 6 is used. -
FIG. 62 is a diagram illustrating an example of the virtual storage-controller resource mapping table 56 according to the fifth embodiment of the invention. - The virtual storage-controller resource mapping table 56 manages for what virtual storages the respective physical resources of the
storage system 1 are used. The virtual storage-controller resource mapping table 56 is referred to at the time of displaying the power by virtual storages. - The virtual storage-controller resource mapping table 56 includes a
type 561, aslot number 562, and a usedvirtual storage number 563. - The
type 561 and theslot number 562 are the same as thetype 361 and theslot number 362 shown inFIG. 11 . - The used
virtual storage number 563 stores information indicating for what virtual storage the physical resource corresponding to thetype 561 and theslot number 562 is used. Specifically, thevirtual storage number 531 is stored therein. -
FIG. 63 is a diagram illustrating an example of the virtual storagepower displaying function 54 according to the fifth embodiment of the invention. - The virtual storage
power displaying function 54 is called in response to a manager's power display request to calculate the power consumption by virtual storages and to display the calculated power consumption by virtual storages. - First, the virtual storage
power displaying function 54 selects a power consumption calculation target from the disk drives or the controller parts (S5411). - The virtual storage
power displaying function 54 selects the virtual storage using the corresponding part with reference to the virtual storage-disk resource mapping table 55 and the virtual storage-controller resource mapping table 56 (S5412). - Then, the virtual storage
power displaying function 54 determines whether the corresponding part varies in power (S5413). For example, it is determined that thedisk drives 6 or thecontroller 75 vary in power and the host I/F unit 72 and the switchingunit 76 do not vary in power. - When it is determined that the corresponding part varies in power, the virtual storage
power displaying function 54 enumerates the logical volumes included in the selected virtual storage with reference to the virtual storage-volume mapping table 53 (S5417). - Then, the virtual storage
power displaying function 54 calculates the power increment of the virtual storage by summing the power increments of the logical volumes for the selected part with reference to the power consumption history table 51 (S5418). - The virtual storage
power displaying function 54 calculates the total power increment by summing the power increments of the entire logical volumes for the selected part (S5419). - The virtual storage
power displaying function 54 calculates a ratio of the virtual storage power increment to the total power increment, multiplies the calculated ratio by the normal power of the selected part, calculates the normal power of the corresponding part in the virtual storage (S5420), and then performs the process of S5421. - When it is determined in S5414 that the corresponding part does not vary in power, the virtual storage
power displaying function 54 calculates the number of virtual storages using the corresponding resource with reference to the virtual storage-disk resource mapping table 55 and the virtual storage-controller resource mapping table 56 (S5414). - The virtual storage
power displaying function 54 calculates the normal power of the corresponding part with reference to the power consumption history table 51 (S5415). - The calculated normal power of the corresponding part is divided by the number of virtual storages used to calculate the power consumption of the corresponding part in the virtual storage (S5416).
- The virtual storage
power displaying function 54 displays the calculated result on a screen (S5421). - The virtual storage
power displaying function 54 determines whether the entire virtual storages are processed (S5422). - When it is determined that the entire virtual storages are not processed, the virtual storage
power displaying function 54 performs the process of S5412 again. - When it is determined that the entire virtual storages are processed, the virtual storage
power displaying function 54 determines whether the entire parts are processed (S5423). - When it is determined that the entire parts are not processed, the virtual storage
power displaying function 54 performs the process of S5411 again. - When it is determined that the entire parts are processed, the virtual storage
power displaying function 54 ends the process. - In this way, in the parts varying in power, the normal power is distributed depending on the rates of usage at which the virtual storages use the corresponding part. In parts not varying in power, the normal power is uniformly assigned to the virtual storages. Accordingly, depending on the use condition of the virtual storages, it is possible to assign the power consumption so that the total power of the virtual storages corresponds to the total actual power consumption.
-
FIG. 64 is a diagram illustrating an example of a virtual storage power consumption displaying screen according to the fifth embodiment of the invention. - The power consumption of the respective parts is displayed in the respective
virtual storages - In the example shown in
FIG. 64 , the virtual storagepower displaying function 54 displays the power consumption of the respective virtual storages every physical resource of thestorage system 1. Specifically, the power consumption of storage system 0 (592A) and storage system 1 (592B) is displayed every physical resource used by the virtual storages. This power consumption is the power consumed by thestorage system 1 when the storage system is turned on but does not perform any process. - As described above, according to the fifth embodiment of the invention, it is possible to provide a manager with power of the virtual storages along with normal power in the
storage system 1 logically partitioning a storage area. - A representative aspect not described in the claims includes the following.
- (1) A power estimating method in a computer system including a management computer and a storage system connected to the management computer and a host computer,
- wherein the management computer includes a first interface connected to the storage system, a first processor connected to the first interface, and a first memory connected to the first processor,
- wherein the host computer includes a second interface connected to the storage system, a second processor connected to the second interface, and a second memory connected to the second processor,
- wherein the storage system includes at least one third processor controlling read and write of data to and from a plurality of disk drives, a control memory connected to the third processor, a management interface connected to the management computer, a host interface connected to the host computer, a disk interface connected to the disk drives, and a cache memory unit temporarily storing data,
- wherein, the third processor, the management interface, the host interface, the disk interface, and the cache memory unit are connected to each other,
- wherein the control memory stores a storage control program for controlling the storage system and control data used to control the storage system,
- wherein the storage control program includes a power estimating program for estimating power,
- wherein the cache memory unit includes a plurality of memories and a memory controller controlling the plurality of memories,
- wherein the control data includes incremental power consumption information indicating power consumption increments of the disk drives, the cache memory unit, and the third processor when the storage system is performing a process,
- wherein the method comprises the steps of:
- allowing the third processor to calculate operation rates of the disk drives by access types to the disk drives from operating times of the disk drives;
- allowing the third processor to calculate power consumption increments of the disk drives by access types from the incremental power consumption information and the calculated operation rates of the disk drives by access types;
- allowing the third processor to calculate a operation rate of the cache memory from access time of the cache memory used for access to the disk drives;
- allowing the third processor to calculate the power consumption increment of the cache memory unit used for access to the disk drives from the incremental power consumption information and the calculated operation rate of the cache memory unit;
- allowing the third processor to calculate a operation rate of the third processor for access to the disk drives from an operating time of the third processor for access to the disk drives;
- allowing the third processor to calculate power consumption increment of the third processor for access to the disk drives from the incremental power consumption information and the calculated operation rate of the third processor for access to the disk drives; and
- allowing the third processor to transmit the calculated power consumption increments of the disk drives by access types, the calculated power consumption increment of the cache memory unit used for access to the disk drives, and the calculated power consumption increment of the third processor for access to the disk drives to the management computer.
Claims (13)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008269921A JP4920658B2 (en) | 2008-10-20 | 2008-10-20 | Power estimation method and computer system |
JP2008-269921 | 2008-10-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20100100757A1 true US20100100757A1 (en) | 2010-04-22 |
US8250390B2 US8250390B2 (en) | 2012-08-21 |
Family
ID=42109573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/351,232 Expired - Fee Related US8250390B2 (en) | 2008-10-20 | 2009-01-09 | Power estimating method and computer system |
Country Status (2)
Country | Link |
---|---|
US (1) | US8250390B2 (en) |
JP (1) | JP4920658B2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130103831A1 (en) * | 2009-03-04 | 2013-04-25 | Yasuhiro Kodama | Assessing conditions of power consumption in computer network |
US8589556B2 (en) * | 2010-11-05 | 2013-11-19 | International Business Machines Corporation | Allocation of energy budgets to individual partitions |
US8707074B2 (en) | 2009-06-30 | 2014-04-22 | International Business Machines Corporation | Priority-based power capping in data processing systems |
US20150331473A1 (en) * | 2014-05-15 | 2015-11-19 | Dell Products, L.P. | NON-VOLATILE MEMORY EXPRESS (NVMe) DEVICE POWER MANAGEMENT |
US9477286B2 (en) | 2010-11-05 | 2016-10-25 | International Business Machines Corporation | Energy allocation to groups of virtual machines |
EP3088988A1 (en) * | 2015-04-30 | 2016-11-02 | Synology Incorporated | Method and associated apparatus for performing power management in an electronic system |
US10936454B2 (en) * | 2018-11-21 | 2021-03-02 | International Business Machines Corporation | Disaster recovery for virtualized systems |
US20230152989A1 (en) * | 2021-11-15 | 2023-05-18 | Samsung Electronics Co., Ltd. | Memory controller adjusting power, memory system including same, and operating method for memory system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4819369B2 (en) | 2005-02-15 | 2011-11-24 | 株式会社日立製作所 | Storage system |
JP5251974B2 (en) * | 2008-04-11 | 2013-07-31 | 富士通株式会社 | Management device, management method, and program |
US8433942B2 (en) * | 2010-03-05 | 2013-04-30 | Hitachi, Ltd. | Storage apparatus and power consumption estimation method |
US8863139B2 (en) * | 2011-04-12 | 2014-10-14 | Hitachi, Ltd. | Management system and management method for managing a plurality of storage subsystems |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5961613A (en) * | 1995-06-07 | 1999-10-05 | Ast Research, Inc. | Disk power manager for network servers |
US20030212857A1 (en) * | 2002-05-09 | 2003-11-13 | International Business Machines Corporation | Adaptive startup policy for accelerating multi-disk array spin-up |
US20050160221A1 (en) * | 2004-01-16 | 2005-07-21 | Takashi Yamazaki | Disk array apparatus and disk array apparatus controlling method |
US20050259345A1 (en) * | 1999-04-05 | 2005-11-24 | Kazuo Hakamata | Disk array unit |
US20070061512A1 (en) * | 2005-09-13 | 2007-03-15 | Hitachi, Ltd. | Management apparatus, management method and storage management system |
US20080120404A1 (en) * | 2006-11-20 | 2008-05-22 | Funai Electric Co., Ltd | Management Server and Content Moving System |
US20080126702A1 (en) * | 2006-11-28 | 2008-05-29 | Yoshifumi Zimoto | Storage system comprising power saving function |
US7809906B2 (en) * | 2004-02-26 | 2010-10-05 | Hitachi, Ltd. | Device for performance tuning in a system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4041284B2 (en) * | 2001-01-23 | 2008-01-30 | 株式会社日立製作所 | Storage system |
JP2003296153A (en) * | 2002-03-29 | 2003-10-17 | Fujitsu Ltd | Storage system and program therefor |
JP4933861B2 (en) * | 2005-09-22 | 2012-05-16 | 株式会社日立製作所 | Storage control device, data management system, and data management method |
JP4794370B2 (en) | 2006-06-20 | 2011-10-19 | 株式会社日立製作所 | Storage system and storage control method that achieve both power saving and performance |
JP4908260B2 (en) * | 2007-02-23 | 2012-04-04 | 優 喜連川 | Computer system and power saving method |
-
2008
- 2008-10-20 JP JP2008269921A patent/JP4920658B2/en not_active Expired - Fee Related
-
2009
- 2009-01-09 US US12/351,232 patent/US8250390B2/en not_active Expired - Fee Related
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5961613A (en) * | 1995-06-07 | 1999-10-05 | Ast Research, Inc. | Disk power manager for network servers |
US20050259345A1 (en) * | 1999-04-05 | 2005-11-24 | Kazuo Hakamata | Disk array unit |
US20030212857A1 (en) * | 2002-05-09 | 2003-11-13 | International Business Machines Corporation | Adaptive startup policy for accelerating multi-disk array spin-up |
US6966006B2 (en) * | 2002-05-09 | 2005-11-15 | International Business Machines Corporation | Adaptive startup policy for accelerating multi-disk array spin-up |
US20050160221A1 (en) * | 2004-01-16 | 2005-07-21 | Takashi Yamazaki | Disk array apparatus and disk array apparatus controlling method |
US7281088B2 (en) * | 2004-01-16 | 2007-10-09 | Hitachi, Ltd. | Disk array apparatus and disk array apparatus controlling method |
US7809906B2 (en) * | 2004-02-26 | 2010-10-05 | Hitachi, Ltd. | Device for performance tuning in a system |
US20070061512A1 (en) * | 2005-09-13 | 2007-03-15 | Hitachi, Ltd. | Management apparatus, management method and storage management system |
US20080120404A1 (en) * | 2006-11-20 | 2008-05-22 | Funai Electric Co., Ltd | Management Server and Content Moving System |
US20080126702A1 (en) * | 2006-11-28 | 2008-05-29 | Yoshifumi Zimoto | Storage system comprising power saving function |
US7747800B2 (en) * | 2006-11-28 | 2010-06-29 | Hitachi, Ltd. | Storage system comprising power saving function |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130103831A1 (en) * | 2009-03-04 | 2013-04-25 | Yasuhiro Kodama | Assessing conditions of power consumption in computer network |
US8826045B2 (en) * | 2009-03-04 | 2014-09-02 | Alaxala Networks Corporation | Assessing conditions of power consumption in computer network |
US9026818B2 (en) | 2009-06-30 | 2015-05-05 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Priority-based power capping in data processing systems |
US8707074B2 (en) | 2009-06-30 | 2014-04-22 | International Business Machines Corporation | Priority-based power capping in data processing systems |
US9494991B2 (en) | 2010-11-05 | 2016-11-15 | International Business Machines Corporation | Energy allocation to groups of virtual machines |
US9477286B2 (en) | 2010-11-05 | 2016-10-25 | International Business Machines Corporation | Energy allocation to groups of virtual machines |
US8589556B2 (en) * | 2010-11-05 | 2013-11-19 | International Business Machines Corporation | Allocation of energy budgets to individual partitions |
US20150331473A1 (en) * | 2014-05-15 | 2015-11-19 | Dell Products, L.P. | NON-VOLATILE MEMORY EXPRESS (NVMe) DEVICE POWER MANAGEMENT |
US9477295B2 (en) * | 2014-05-15 | 2016-10-25 | Dell Products, L.P. | Non-volatile memory express (NVMe) device power management |
EP3088988A1 (en) * | 2015-04-30 | 2016-11-02 | Synology Incorporated | Method and associated apparatus for performing power management in an electronic system |
US10162398B2 (en) | 2015-04-30 | 2018-12-25 | Synology Incorporated | Method and associated apparatus for performing power management in an electronic system |
US10936454B2 (en) * | 2018-11-21 | 2021-03-02 | International Business Machines Corporation | Disaster recovery for virtualized systems |
US20230152989A1 (en) * | 2021-11-15 | 2023-05-18 | Samsung Electronics Co., Ltd. | Memory controller adjusting power, memory system including same, and operating method for memory system |
Also Published As
Publication number | Publication date |
---|---|
JP2010097555A (en) | 2010-04-30 |
US8250390B2 (en) | 2012-08-21 |
JP4920658B2 (en) | 2012-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8250390B2 (en) | Power estimating method and computer system | |
US11422722B2 (en) | Intelligent wide port PHY usage | |
US8400893B2 (en) | Storage apparatus and estimating method of power consumption for storage apparatus | |
US7444483B2 (en) | Management apparatus, management method and storage management system | |
US10235055B1 (en) | Storage performance testing to evaluate moving data among arrays | |
US8825964B1 (en) | Adaptive integration of cloud data services with a data storage system | |
US8572319B2 (en) | Method for calculating tier relocation cost and storage system using the same | |
US8892780B2 (en) | Management of shared storage I/O resources | |
US7613878B2 (en) | Management of number of disk groups that can be activated in storage device | |
US9052826B2 (en) | Selecting storage locations for storing data based on storage location attributes and data usage statistics | |
US20090006877A1 (en) | Power management in a storage array | |
US20050240934A1 (en) | Task management based on system utilization | |
WO2010099992A1 (en) | Method, system and computer program product for managing the placement of storage data in a multi tier virtualized storage infrastructure | |
US5903913A (en) | Method and apparatus for storage system management in a multi-host environment | |
US9298493B1 (en) | Managing system I/O load | |
CN110300960A (en) | The program change method of information system, management program and information system | |
US8966293B1 (en) | Method and apparatus for allocation of power consumption of a computer storage system to its tenants | |
US8572318B2 (en) | Method and system for distributing multiple storage devices to multiple tiers in a storage apparatus | |
WO2014030249A1 (en) | Verification system and verification method for i/o performance of volume | |
US20210349756A1 (en) | Weighted resource cost matrix scheduler | |
CN109992536A (en) | Data processing method, solid state hard disk and computer equipment | |
US11720256B2 (en) | Maximizing power savings using IO monitoring | |
CN111831397B (en) | Method, device, equipment and storage medium for processing IO request | |
US11880589B2 (en) | Storage system and control method | |
US10209888B2 (en) | Computer and optimization method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HITACHI, LTD.,JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TAKADA, MASANORI;NAKAMURA, SHUJI;SIGNING DATES FROM 20081202 TO 20081208;REEL/FRAME:022082/0769 Owner name: HITACHI, LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TAKADA, MASANORI;NAKAMURA, SHUJI;SIGNING DATES FROM 20081202 TO 20081208;REEL/FRAME:022082/0769 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
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: 20200821 |