Storage controller and control method for storage controller
Abstract
Problem to be solved.To lengthen a period until failure occurrence estimated from an MTBF as much as possible, in a storage controller using an HDD having the relatively short MTBF.
Solution.An HDD allowing access from a host computer to data on the HDD is controlled to rotate a spindle motor, while an HDD clearly understood that the access from the host computer is absent is controlled to stop the spindle motor. The possibility/impossibility of the access from the host computer is decided according to whether a storage area (an internal logical volume) provided by the HDD is correlated to a host logical volume recognized and capable of being accessed by the host computer or not.
Copyright (C)2005,JPO&NCIPI
Term
Term ended
Projected expiry passed 25 December 2023, 2.7 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
20 claims: 2 independent, 18 dependent
- 1A channel adapter that is connected to a higher-level device, provides a first logical volume to the higher-level device, and receives data sent from the higher-level device to the first logical volume, and is connected to the channel adapter. , A memory in which data exchanged with the higher-level device, control information regarding data exchanged with the higher-level device, and configuration information regarding the configuration of the self-memory control device are stored, and the above-mentioned from the higher-level device. The data sent to the first logical volume is assigned to the second logical volume that corresponds to the first logical volume and is used as a data storage area in data transmission / reception with the channel adapter. A disk adapter that controls to read from or write to the memory, a connecting device that connects the channel adapter, the memory, and the disk adapter, and a disk adapter that is connected to the disk adapter and controlled by the disk adapter. It has a plurality of disk drives in which data for the second logical volume is written as a data group having a redundant relationship. The channel adapter provides a control logical volume used when the configuration information in the memory is read from the higher-level device to the higher-level device, and the control logical volume is provided from the higher-level device. In response to the switching instruction issued to, the other second logical volume is associated with the first logical volume in place of the second logical volume, and becomes the other second logical volume. A storage control device comprising a processor that operates spindle motors of a plurality of disk drives to which corresponding and redundant data groups are written. 上位装置に接続され、前記上位装置に対して第一の論理ボリュームを提供して、前記上位装置から前記第一の論理ボリュームに宛てて送られるデータを受けるチャネルアダプタと、 前記チャネルアダプタに接続され、前記上位装置との間でやり取りされるデータ、前記上位装置との間でやり取りされるデータに関する制御情報、及び自記憶制御装置の構成に関する構成情報が保存されるメモリと、 前記上位装置から前記第一の論理ボリュームに宛てて送られたデータを、前記第一の論理ボリュームに対応しており前記チャネルアダプタとのデータの送受信においてデータの格納領域として用いられる第二の論理ボリュームに対するものとして、前記メモリから読み出し又は前記メモリに対して書き込むように制御するディスクアダプタと、 前記チャネルアダプタ、前記メモリ及び前記ディスクアダプタを接続する接続装置と、 前記ディスクアダプタと接続され、前記ディスクアダプタの制御によって、前記第二の論理ボリュームに対するデータが冗長関係を有するデータ群として書き込まれる複数のディスクドライブとを有し、 前記チャネルアダプタは、前記上位装置から前記メモリ内の前記構成情報が読み出される場合に利用される制御用論理ボリュームを前記上位装置に対して提供するものであり、前記上位装置から前記制御用論理ボリュームに宛てて発行された切り替え指示に応じて、前記第二の論理ボリュームに代えて、他の第二の論理ボリュームを前記第一の論理ボリュームに対応付けて、前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを動作させるプロセッサを有するものであることを特徴とする記憶制御装置。
- 11A channel adapter that is connected to a higher-level device, provides a first logical volume to the higher-level device, and receives data sent from the higher-level device to the first logical volume, and is connected to the channel adapter. , A memory in which data exchanged with the higher-level device, control information regarding data exchanged with the higher-level device, and configuration information regarding the configuration of the self-memory control device are stored, and the above-mentioned from the higher-level device. The data sent to the first logical volume is assigned to the second logical volume that corresponds to the first logical volume and is used as a data storage area in data transmission / reception with the channel adapter. A disk adapter that controls to read from or write to the memory, a connecting device that connects the channel adapter, the memory, and the disk adapter, and a disk adapter that is connected to the disk adapter and controlled by the disk adapter. In a control method of a storage control device having a plurality of disk drives in which data for the second logical volume is written as a data group having a redundant relationship, the channel adapter is used. A control logical volume used when the configuration information in the memory is read from the higher-level device is provided to the higher-level device, and a switching instruction issued from the higher-level device to the control logical volume is issued. Correspondingly, instead of the second logical volume, another second logical volume is associated with the first logical volume, corresponding to the other second logical volume, and has a redundant relationship. A control method for a storage control device, characterized in that a spindle motor of a plurality of disk drives to which a data group is written is operated. 上位装置に接続され、前記上位装置に対して第一の論理ボリュームを提供して、前記上位装置から前記第一の論理ボリュームに宛てて送られるデータを受けるチャネルアダプタと、 前記チャネルアダプタに接続され、前記上位装置との間でやり取りされるデータ、前記上位装置との間でやり取りされるデータに関する制御情報、及び自記憶制御装置の構成に関する構成情報が保存されるメモリと、 前記上位装置から前記第一の論理ボリュームに宛てて送られたデータを、前記第一の論理ボリュームに対応しており前記チャネルアダプタとのデータの送受信においてデータの格納領域として用いられる第二の論理ボリュームに対するものとして、前記メモリから読み出し又は前記メモリに対して書き込むように制御するディスクアダプタと、 前記チャネルアダプタ、前記メモリ及び前記ディスクアダプタを接続する接続装置と、 前記ディスクアダプタと接続され、前記ディスクアダプタの制御によって、前記第二の論理ボリュームに対するデータが冗長関係を有するデータ群として書き込まれる複数のディスクドライブとを有する記憶制御装置の制御方法において、 前記チャネルアダプタは、 前記上位装置から前記メモリ内の前記構成情報が読み出される場合に利用される制御用論理ボリュームを前記上位装置に対して提供し、 前記上位装置から前記制御用論理ボリュームに宛てて発行された切り替え指示に応じて、前記第二の論理ボリュームに代えて、他の第二の論理ボリュームを前記第一の論理ボリュームに対応付けて、前記他の第二の論理ボリュームに対応しており冗長関係を有するデータ群が書き込まれる複数のディスクドライブのスピンドルモータを動作させる、ことを特徴とする記憶制御装置の制御方法。
Independent claims2
107 paragraphs, as filed
The present invention relates to a technique for controlling writing or reading of data from a host device in a storage control device including a plurality of disk drives.
One of the main uses of a storage control device such as a disk array device is a conventional transaction or database application. High performance and high reliability are usually strongly required for this application. For this reason, a high-performance and highly reliable HDD (Hard Disk Drive) mounted on a storage control device used for this purpose is adopted. HDDs that meet the requirements for such applications are generally expensive because they are highly reliable at the component level.
A technique for suppressing the power consumption of a disk array device equipped with such an HDD has been considered.
<patcit num="1"><text>Japanese Unexamined Patent Publication No. 2000-293314</text></patcit>
<p> However, conventional techniques are not effective for disk array devices or storage control devices used in applications such as backup / restore and archiving.</p>
<p> In order to solve the above problems, the present invention has the following configurations.</p><p> The host device of the present invention includes an application program, a control program, a user interface, an application interface, and a host bus adapter. Each configuration and processing flow will be described in the best mode for carrying out the invention.</p><p> The storage control device of the present invention includes a channel adapter, a memory, a disk adapter, a connection device, and a plurality of disk drives.</p><p> The channel adapter is connected to a higher-level device, provides a first logical volume to the higher-level device, and receives data sent from the higher-level device to the first logical volume.</p><p> The memory is connected to the channel adapter and stores control information regarding data exchanged with the host device, data exchanged with the host device, and configuration information regarding the configuration of the self-storage control device. is there.</p><p> The disk adapter reads the data sent from the host device to the first logical volume from the memory or writes it to the memory as corresponding to the first logical volume and to the second logical volume. It controls to. The second logical volume is used as a data storage area in data transmission / reception between the channel adapter and the disk adapter.</p><p> The connection device connects a channel adapter, a memory, and a disk adapter.</p><p> The plurality of disk drives are connected to the disk adapter, and the data for the second logical volume is written as a data group having a redundant relationship under the control of the disk adapter.</p><p> The channel adapter has a processor and provides the higher-level device with a control logical volume used when the configuration information in the memory is read from the higher-level device. The processor of the channel adapter associates the other second logical volume with the first logical volume in place of the second logical volume in response to the switching instruction issued from the host device to the control logical volume. Therefore, it has a processor that operates spindle motors of a plurality of disk drives in which a data group having a redundant relationship corresponding to the other second logical volume is written.</p><p> The processor of the channel adapter stops the spindle motors of a plurality of disk drives that correspond to the second logical volume that is switched in response to the switching instruction and in which data groups having a redundant relationship are written.</p><p> The processor of the channel adapter determines whether or not the spindle motors of a plurality of disk drives corresponding to the other second logical volume specified by the switching instruction and to which the data group having a redundant relationship is written are operating. However, if it is in operation, the operation is continued as it is, and if it is not in operation, the spindle motors of a plurality of disk drives corresponding to the other second logical volume and in which data groups having a redundant relationship are written are operated. It is something that makes you.</p><p> The processor of the channel adapter is provided to the higher-level device in a plurality of disk drives in which data groups having a redundant relationship corresponding to the second logical volume switched in response to the switching instruction are written. If there is one corresponding to another second logical volume corresponding to the other first logical volume, it corresponds to the second logical volume that can be switched according to the switching instruction and has a redundant relationship. The operation of a plurality of disk drives to which the data group having the above is written is continued.</p><p> The processor of the channel adapter is provided to the higher-level device in a plurality of disk drives in which the data group having a redundant relationship corresponding to the second logical volume switched in response to the switching instruction is written. If there is no one corresponding to the other second logical volume corresponding to the other first logical volume, the second logical volume to be switched according to the switching instruction is supported and a redundant relationship is established. It stops the operation of a plurality of disk drives to which the data group to be written is written.</p><p> When the type of command sent from the host device to the control logical volume is a write command, the channel adapter processor writes the content of the write command to the control logical volume, and the content of the write command is the switching instruction. It is to judge that there is.</p><p> When the type of command sent from the host device to the control logical volume is a read command, the channel adapter processor determines that the content of the read command is configuration information and reads the configuration information from the memory. It is transmitted to a higher-level device.</p><p> When the command sent from the host device is addressed to the first logical volume, the processor of the channel adapter determines that the command sent from the host device is a command related to writing or reading data, and determines that the command sent from the host device is a command related to writing or reading data. When the command sent from is addressed to the control logical volume, it is determined that the command sent from the host device is a command related to control information.</p><p> In the above, it has been described that the processor of the channel adapter performs various controls, but it is also preferable that the processor of another control processor, for example, the disk adapter performs the same control. It is also preferable that the processor of the channel adapter and the processor of the disk adapter cooperate to perform the same control.</p><p> A more detailed configuration and processing flow will be described in the best mode for carrying out the invention.</p>
<p> According to the present invention, it is possible to provide an effective control method for a disk array device or a storage control device used for applications such as backup / restore and archiving.</p>
We perform data backup / restore and archive at high speed in a short time, considering various factors such as expansion of the capacity of data stored in the storage controller, diversification of types, and 24-hour operation of the system. I am considering that. For this reason, we are also considering backup / restore and archiving using a storage control device that uses an HDD as a storage medium, even in fields where data was backed up / restored or archived using a tape drive. Since a particularly large capacity is required in such an application, what is required of the storage control device is that a large storage capacity can be provided at low cost.
In order to respond to this, we considered using an HDD that has moderate performance and reliability and has an S-ATA (Serial ATA) connection interface used in cheaper desktop PCs.
HDDs that use Fiber Channel as a connection interface are designed for 24-hour operation because they are supposed to be installed in a host computer that functions as a server. On the other hand, HDDs that use S-ATA as a connection interface are originally designed to be installed in desktop PCs, etc., so they are designed on the assumption that they will only be used for a few hours every day.
For this reason, MTBF (Mean Time Between Failure), which is one of the reliability indicators of HDDs, is generally designed to be shorter in HDDs that use S-ATA as the connection interface than HDDs that use Fiber Channel as the connection interface. ing. Therefore, if an HDD that uses S-ATA as the connection interface is used by constantly rotating the spindle motor of the HDD, as in the case of 24-hour operation, it is naturally more likely to cause a failure than an HDD that uses Fiber Channel as the connection interface. Become.
On the other hand, when applying an HDD to applications such as backup / restore and archiving, it is unlikely that access to the HDD, which is a storage medium, is always occurring. For example, in backup / restore, data is usually written to the storage control device only once or several times a day when a backup is taken, and only rarely when a restore is performed from the storage control device. Data is read out. In addition, in the use of archiving, writing of data to the storage control device occurs when the archive is acquired, and when reading data from the storage control device, rarely when the archived data is referred to. is there.
In a storage control device used for such purposes as backup / restore and archiving, access to the data in the storage medium does not occur frequently, so when it is clearly known that access to the data does not occur clearly. It is effective to control to stop the spindle motor of the HDD in which the data is stored.
In the following, a control method of a disk array device in consideration of the life of the HDD using S-ATA as a connection interface without always operating the spindle motor of the HDD will be described in detail with reference to the drawings.
According to the embodiment of the present invention, by controlling the HDD spindle motor to be stopped, the time until a failure estimated from MTBF occurs is longer than when the HDD spindle motor is used without being stopped. It can be expected to be extended.
Figure 1 shows a configuration example of the storage control device. 1-1 is the memory control device, and 1-2 is the host computer connected to the memory control device. The storage control device 1-1 is equipped with a plurality of channel adapters 1-3. Each channel adapter 1-3 has a port 1-4, and through this port 1-4, each channel adapter 1-3 has an HBA (Host Bus Adapter) 1-5 mounted on a host computer, for example, a fiber. -Connected by channel.
The storage control device 1-1 is equipped with a plurality of HDDs (Hard Disk Drives) 1-6 as storage media. The storage control device 1-1 is equipped with a plurality of disk adapters 1-7 for controlling a plurality of HDDs 1-6. Disk adapters 1-7 have ports 1-8 for connecting HDDs, which are connected to multiple HDDs 1-6. Ports 1-8 and multiple HDDs 1-6 are connected by Fiber Channel FC-AL or fabric, parallel SCSI, or ATA or SATA.
Channel adapters 1-3 and disk adapters 1-7 are connected to each other via connections 1-9. Shared memory 1-10 and cache memory 1-11 are also connected to connection 1-9. Channel adapters 1-3 and disk adapters 1-7 are equipped with microprocessors 1-12 and 1-14 and their paired local memories 1-13 and 1-15, respectively. Microprocessors 1-12 on channel adapters 1-3 are running programs that process commands sent from host computer 1-2. The microprocessor 1-14 on the disk adapter 1-7 is running a program to control multiple HDDs 1-6. Each program runs using local memory. Control information that needs to be shared between multiple channel adapters 1-3 and multiple disk adapters 1-7 in order to perform linked processing is placed in shared memory 1-10. .. Microprocessors 1-12 on each channel adapter 1-3 and microprocessors 1-14 on each disk adapter 1-7 can access control information in shared memory through connections 1-9.
The cache memory 1-11 is used to temporarily hold the data accessed by the host computer 1-2. Since the cache memory 1-11 enables faster data access than the HDD 1-6, it can contribute to the improvement of the access performance of the storage control device (particularly the response performance to commands).
The left side of FIG. 2 is a diagram illustrating the memory control device 1-1 described in FIG. 1 from the physical configuration (a simplified diagram of FIG. 1). On the other hand, the right side of FIG. 2 is a diagram explaining the memory control device 1-1 from a logical configuration. Figure 2 illustrates the correspondence between the physical configuration and the logical configuration of the memory control device 2-1.
ECC (Error Check & Correction) group 2-12 is created by combining several HDDs out of multiple HDDs 2-6. The ECC group is configured as RAID (Redundant Array of Independent Disks) and protects the stored data from a single point failure of the HDD in the ECC group.
An internal logical volume is created by dividing the storage area created by the ECC group into one or more areas. The example in Fig. 2 is an example in which one ECC group 2-12 is divided into two areas and two internal logical volumes 2-13 and 2-14 are created. Internal logical volumes 2-13 and 2-14 are logical volumes provided by a program executed by the microprocessor in the disk adapter 2-7 (omitted in Figure 2, 1-14 in Figure 1). ..
In order for the host computer 2-2 to read / write data to the storage control device 2-1, the host computer 2-2 can recognize the host logical volumes 2-15 and 2-16 provided by the storage control device 2-1. Must be.
In the host logical volumes 2-15 and 2-16, the program executed by the microprocessor in the channel adapter 2-3 (omitted in Fig. 2, 1-12 in Fig. 1) is sent to the host computer 2-1. The logical volume to provide. For example, an LU (Logical Unit) in Fiber Channel or SCSI corresponds to this host logical volume.
The host logical volumes 2-15 and 2-16 themselves are virtual ones that do not have an actual storage area. The host logical volume and the internal logical volume have a one-to-one correspondence, the host logical volume 2-15 is the internal logical volume 2-13 which has the actual storage area for storing data, and the host logical volume 2-16 is the internal logical volume 2-16. It is associated with each of the internal logical volumes 2-14.
The association between the host logical volume and the internal logical volume is stored in the shared memory 2-10 as configuration information, and is stored in the microprocessor in the channel adapter 2-3 (omitted in Fig. 2, 1-12 in Fig. 1). It is managed by the program that is executed.
The data written from the host computer to the host logical volume is written to the internal logical volume having the actual storage area by associating the host logical volume with the internal logical volume. That is, for example, the data written by the host computer 2-2 to the first logical block of the host logical volume 2-15 through port 2-17 is actually written to the first logical block of the internal logical volume 2-13. Similarly, for example, the data written by the host computer 2-2 to the 100th logical block from the beginning of the host logical volume 2-16 through port 2-17 is actually the 100th from the beginning of the internal logical volume 2-14. Written in the logical block of.
FIG. 3 is a rewrite of the logical structure of the memory control device 2-1 described on the right side of FIG. 2 with details added in order to reveal the present invention.
The memory control device 3-1 has three ECC groups 3-3 to 3-5. Four internal logical volumes 3-6 to 3-9 are created in the storage area of the ECC groups 3-3 to 3-5. Internal logical volume 3-6 is in ECC group 3-3, internal logical volume 3-7 is in ECC group 3-4, internal logical volume 3-8 and internal logical volume 3-9 are in ECC. Each exists in groups 3-5.
The storage controller 3-1 has two types of host logical volumes. The first type of host logical volume (for data) is recognized by the host computer 3-2 and is used to store the data used by the application program 3-12 in the host computer 3-2. The second type of host logical volume (for control) will be explained later. A plurality of host logical volumes (for data) and multiple host logical volumes (for control) can exist in the storage control device 3-1. Host logical volumes (for data) 3-10 and host logical volumes (for control) 3-11 are shown in Figure 3 as representatives of these.
In Fig. 3, there are four internal logical volumes 3-6 to 3-9 for one host logical volume (for data) 3-10. There is a mapping switching unit 3-13 between the host logical volume (for data) 3-10 and the four internal logical volumes 3-6 to 3-9. This mapping switching unit 3-13 is operated between the host logical volume (for data) 3-10 and the internal logical volumes 3-6 to 3-9 according to the instruction from the mapping switching / power control unit 3-14. Switch the mapping.
As described above, the association between the host logical volume and the internal logical volume is managed by the program executed by the microprocessor in the channel adapter. Therefore, both the association switching unit 3-13 and the association switching / power supply control unit 3-14 are realized by this program.
For example, when the host logical volume (for data) 3-10 is associated with the internal logical volume 3-6, the beginning of the host logical volume (for data) 3-10 from the host computer 3-2 through port 3-15. The data written in the logical block is actually written in the first logical block of the internal logical volume 3-6.
Similarly, for example, when the host logical volume (for data) 3-10 is associated with the internal logical volume 3-9, the host logical volume (for data) 3-10 from the host computer 3-2 through port 3-15. The data written in the first logical block of is written in the first logical block of the internal logical volume 3-9.
Configuration information 3-17 that holds the logical configuration of the storage control device is stored in a part of the shared memory 3-16 in the storage control device 3-1. The configuration information includes a table that holds the correspondence between the number of the host logical volume as illustrated in FIG. 4 and the number of the internal logical volume associated with the host logical volume, and is illustrated in FIG. There is a table that holds the number of such an ECC group and the number of the internal logical volume included in each ECC group.
Next, the instruction from the host computer 3-2 side regarding the switching of the correspondence between the host logical volume and the internal logical volume in the storage control device 3-1 will be disclosed. There are two methods for switching the correspondence between the host logical volume and the internal logical volume.
The first method is that the application program 3-12 in the host computer 3-2 gives instructions.
There are two main steps in this method.
In step 1, the configuration information 3-17 to 1) the configuration of the host logical volume, 2) the configuration of the internal logical volume, and 3) the correspondence between the host logical volume and the internal logical volume are displayed in the storage controller 3-1. Imported by the application program. This step 1 is performed by application program 3-12 as needed. For example, an explicit operation trigger when the application program 3-12 is started or when the operator of the application program 3-12 learns that the physical configuration or the logical configuration of the storage controller 3-1 has changed. And it is.
In step 2, application program 3-12 switches the correspondence between the host logical volume and the internal logical volume based on the configuration information of the storage controller 3-1 captured in application program 3-12 in step 1. Do. This step 2 is also performed by application program 3-12 as needed.
First, the operation in step 1 will be described.
The application program 3-12 executed in the host computer 3-2 calls the API (Applicaion Program Interface) 3-18 in order to capture the configuration information 3-17 possessed by the storage control device 3-1. API 3-18 is provided by control program 3-19, which is also running in host computer 3-2. The control program 3-19 has a function of issuing an instruction to read the configuration information 3-17 to the configuration information reading unit 3-20, and a host logical volume and an internal logical volume to the mapping switching / power supply control unit 3-14. It is a program that has a function of issuing a correspondence switching instruction of.
Via HBA 3-21 and port 3-15, control program 3-19 is in storage controller 3-1 another type of host logical volume (for control) 3-11 Can be accessed. This host logical volume (for control) 3-11 is used to control the storage controller 3-1 instead of storing the data of the application program. The control here refers to a function of reading the configuration information 3-17 and a function of switching the correspondence between the host logical volume and the internal logical volume.
The host logical volume (for control) 3-11 for this control is divided into multiple areas. And a specific function is decided for each area. For example, area 3-22 is an area used for the read function of configuration information 3-17, and the host computer 3-2 side, specifically, the control program 3-19 is assigned to area 3-22. When the existing logical block is read, the configuration information 3-17 is included in the block.
For example, area 3-23 is an area used for the function of switching the correspondence between the host logical volume and the internal logical volume, and is required for the logical block in which the control program 3-19 is assigned to the area 3-23. By writing the information, the correspondence between the host logical volume and the internal logical volume can be switched (later described in step 2).
Hereinafter, details of the processing performed by the operation in step 1 will be disclosed.
The application program 3-12 running on the host computer 3-2 calls API 3-18 to read the configuration information 3-17 of storage controller 3-1 (3-24).
Similarly, the control program 3-19 executed on the host computer 3-2 recognizes that the reading of the configuration information 3-17 is instructed because the API 3-18 is called. Program 3-19 then issues a command to read region 3-22, which is used for the read function of configuration information 3-17 in the host logical volume (for control) 3-11, to HBA 3-21 and port 3-15. Issued to the host logical volume (for control) 3-11 via (3-25).
The command received on the channel adapter side is processed by the program executed by the microprocessor in the channel adapter.
Each time the program receives a command from the host computer 3-2, the program operates based on the flowchart as shown in FIG. First of all, the reception of the command is detected (6-1).
Next, the program checks the type (control / data) of the host logical volume (6-2). This is done by examining the configuration information of the host logical volume held in configuration information 3-17 using the number of the host logical volume included in the command.
As a result, the program can identify whether the host logical volume is for control or data (6-3). Since the command is issued to the host logical volume (for control) 3-11 in step 1, the host logical volume is judged to be "for control".
The program then checks the command type (read / write / others) (6-4). This is done by looking at the command code contained in the command.
As a result, the program can identify whether the command type is read, write, or otherwise (6-5). In step 1, since the command to read the area 3-22 in the host logical volume (for control) 3-11 is issued, the command type is determined to be "read".
Next, the program checks which area of the host logical volume (for control) 3-11 is read (6-6). This is done by looking up the number of the logical block contained in the command.
As a result, the program can know what to do (6-7). In step 1, since the area 3-22 allocated to the read function of the configuration information 3-17 is specified, the process to be performed is determined to be "read the configuration information 3-17". Then, the program performs the configuration information reading process 6-8.
The configuration information reading process 6-8 is performed by the configuration information reading unit 3-20, which is a part of the program executed by the microprocessor in the channel adapter.
The configuration information reading unit 3-20 reads the configuration information 3-17 held in the shared memory 3-16 (3-26).
The configuration information reading unit 3-20 issues the read configuration information 3-17 to the control program 3-19 as a response to a command for reading the region 3-22, and the configuration information is issued through the route. Pass 3-17 (3-27).
For application program 3-12, which is the caller of API 3-18 for reading configuration information 3-17, control program 3-19 acquires configuration information 3-17 from the storage controller 3-1. Pass (3-28).
In this way, the application program 3-12 acquires the configuration information 3-17 in the storage control device 3-1 described above, and 1) configures the host logical volume, 2) configures the internal logical volume, and 3) host logic. You can know the correspondence between the volume and the internal logical volume.
Next, the details of the processing performed by the operation in step 2 will be disclosed.
Application program 7-12 running on host computer 7-2 calls API 7-18 to switch the mapping between the host logical volume and the internal logical volume in storage controller 7-1 (7-24). ).
Similarly, the control program 7-19 executed on the host computer 7-2 recognizes that the correspondence switching between the host logical volume and the internal logical volume is instructed because API 7-18 is called. Then, the control program 7-19 performs this mapping switching for the area 7-22 used for switching the mapping between the host logical volume and the internal logical volume in the host logical volume (for control) 7-11. Send a command to write the necessary information (the number of the internal logical volume to be newly associated with the host logical volume number to be switched). This command is sent to the host logical volume (for control) 7-11 via HBA 7-21 and port 7-15 (7-25).
The command received on the channel adapter side is processed by the program executed by the microprocessor in the channel adapter.
As described above, each time the program receives a command from the host computer 7-2, the program operates based on the flowchart as shown in FIG. First of all, the reception of the command is detected (6-1).
Next, the program checks the type (control / data) of the host logical volume (6-2). This is done by examining the configuration information of the host logical volume held in configuration information 3-17 using the number of the host logical volume included in the command.
As a result, the program can identify whether the host logical volume is for control or data (6-3). In step 2, the command is issued to the host logical volume (for control) 3-11, so the host logical volume is judged to be "for control".
The program then checks the command type (read / write / others) (6-4). This is done by looking at the command code contained in the command.
As a result, the program can identify whether the command type is read, write, or otherwise (6-5). In step 2, a write command to area 7-22 in the host logical volume (for control) 7-11 is issued, so the command type is determined to be "write".
Next, the program checks which area of the host logical volume (for control) 7-11 to write to (6-9). This is done by looking up the number of the logical block contained in the command.
As a result, the program can know what to do (6-10). In step 2, the area 7-23 allocated to the function to switch the association between the host logical volume and the internal logical volume is specified, so the processing to be performed is "Association between the host logical volume and the internal logical volume". It is judged as "switching". Then, the program performs the association switching process 6-11 between the host logical volume and the internal logical volume.
The association switching process 6-11 between the host logical volume and the internal logical volume is performed by the association switching control / power supply control unit 7-14, which is a part of the program executed by the microprocessor in the channel adapter.
The association switching control / power supply control unit 7-14 performs the association switching process between the host logical volume and the internal logical volume based on the flowchart as shown in FIG. The first process is to check the information written in area 7-23 (the number of the host logical volume to be switched and the number of the newly associated internal logical volume) (8-1).
Next, in the ECC group containing the internal logical volume currently associated with the host logical volume specified in region 7-23, the other internal logic associated with the other host logical volume. Check if the volume exists (8-2). This is done by searching the table that holds the ECC group numbers as illustrated in FIG. 5 and the numbers of the internal logical volumes contained in each ECC group.
When it is determined that the other internal logical volume does not exist as a result of searching the table as illustrated in FIG. 5, the program is currently associated with the host logical volume specified in the area 7-23. Stop the spindle motor of the HDD belonging to the ECC group including the internal logical volume (8-3). This is done by the above-mentioned program executed by the microprocessor in the channel adapter sending a command to stop the spindle motor to the HDD belonging to the ECC group (7-26). The command to stop the spindle motor will be explained using Fig. 2. From port 2-8 of the disk adapter 2-7, FC-AL or fabric of the Fiber Channel connecting HDD2-6, or parallel SCSI. Or, it is transmitted via ATA or SATA.
The rotation time of the spindle motor is a factor that determines MTBF, which is an index of HDD reliability. By stopping the spindle motor as disclosed in the present invention, it is possible to extend the time until a failure estimated from MTBF occurs. From the results obtained in 8-2, it is known that there is no host logical volume associated with the internal logical volume in the ECC group, so it can be considered that there is no access from the host computer. Even if the spindle motor of the HDD belonging to the ECC group is stopped, there is no problem in operating the host computer.
A structure as illustrated in FIG. 9 is used to hold the number of the ECC group that has the HDD on which the spindle motor is rotating and the number of the internal logical volume provided by that ECC group. An HDD with a rotating spindle motor is considered to be in the ECC group that has a structure that is pointed together and has a number held in this structure. A structure as illustrated in FIG. 9 is held in the shared memory 7-16 as one of the configuration information 7-17.
The next process performed by the program is to delete the information about the ECC group to which the HDD that stopped the spindle motor belongs from the structure as shown in FIG. 9 in the configuration information 7-17, and rotate the ECC group. Update this configuration information 7-17 so that no HDD has a spindle motor that is running (8-4).
The structure showing the internal logical volume currently associated with the host logical volume specified in region 7-23 is 9-1 in Fig. 9. The structure indicating the ECC group to which the internal logical volume belongs is 9-2.
Therefore, in order for the program to update the structure as illustrated in FIG. 9, the information about the ECC group to which the HDD that stopped the spindle motor belongs is deleted, that is, the part 9-3 surrounded by the broken line is deleted. Specifically, this is done by the program changing the pointer. (The pointer 9-4 and pointer 9-5 are deleted, and the pointer 9-6 is newly set.) As a result, the internal logical volume currently associated with the host logical volume specified in the area 7-23 is set. The information about the ECC group including it is deleted, and there is no HDD that stopped the rotating spindle motor in the ECC.
Next, the program checks whether the spindle motor of the HDD in the ECC group including the internal logical volume newly specified to be associated with the host logical volume specified in the area 7-23 is rotating. (8-5). This is done by searching for a structure (separated for explanation, but the same structure as in FIG. 9) as illustrated in FIG. 10 contained in the configuration information 7-17. If the ECC group number is found in the structure illustrated in FIG. 10, the HDD spindle motor in the EEC group is rotating.
If it is determined that the spindle motor of the HDD in the ECC group including the internal logical volume newly specified to be associated with the host logical volume specified in area 7-23 is not rotating, the above program Rotates the spindle motor of the HDD belonging to the ECC group including the currently associated internal logical volume to the host logical volume specified in area 7-23 (8-6).
This is the same as the case where the spindle motor of the HDD is stopped in the above-mentioned case, the above-mentioned program executed by the microprocessor in the channel adapter gives a command to rotate the spindle motor to the HDD belonging to the ECC group. It is done by sending (7-26). The command to stop the spindle motor will be explained using Fig. 2. From port 2-8 of the disk adapter 2-7, FC-AL or fabric of the Fiber Channel connecting HDD2-6, or parallel SCSI. Or, it is transmitted via ATA or SATA.
The next process performed by the program is to add information about the ECC group to which the HDD that rotates the spindle motor belongs from the structure as illustrated in FIG. 10 in the configuration information 7-17, and add the information to the ECC group. Update this configuration information 7-17 so that there is an HDD with a rotating spindle motor (8-7).
The part 10-1 surrounded by the broken line in Fig. 10 is the internal logic specified to be newly associated with the ECC group in which the spindle motor is newly rotated and the host logical volume specified in the area 7-23. Assuming that the structure indicates the volume, the program deletes the current pointer 10-2 and newly sets pointers 10-3 and 10-4. As a result, the part surrounded by the broken line is the structure that holds the number of the ECC group that has the HDD on which the spindle motor is rotating and the number of the internal logical volume provided by that ECC group, as illustrated in FIG. Since then, the spindle motors of HDDs in the ECC group are considered to be rotating.
Next, the next process performed by the program is to use the mapping switching unit 7-13 to set the internal logical volume specified in area 7-23 to the host logical volume specified in area 7-23. It is a new association (7-28).
This is done by updating the table that holds the correspondence between the host logical volume number as illustrated in Figure 4 and the internal logical volume number associated with that host logical volume (8-). 8).
As disclosed in detail above, the correspondence between the configuration of the host logical volume and the internal logical volume is changed in the storage control device without changing the configuration of the host logical volume recognized by the host computer. I'm letting you. In this way, multiple (internal) logical volumes with different contents can be accessed from the host computer side via the host logical volume having the same identifier without performing a re-recognition operation of the host logical volume on the host computer side. Will be.
In the second method, the operator of the host computer 3-2 directly operates the UI (User Interface) 3-29 of the control program 3-19 instead of the application program 3-12 in the host computer 3-2. This is a method of changing the correspondence between the host logical volume and the internal logical volume.
Through this UI 3-29, the operator of the host computer 3-2 can use the information given by the application program via API 3-18, that is, 1) the host logical volume number to be switched, and 2) the new one. You can specify the number of the internal logical volume associated with.
Also, through this UI 3-29, the operator of the host computer 3-2 can use the information that the application program obtained through API 3-18: 1) the configuration of the host logical volume, and 2) the internal logical volume. It is also possible to obtain the configuration of 3) the correspondence between the host logical volume and the internal logical volume.
In the second method, the operation on control program 3-19 is changed from API 3-18 to UI 3-29, and it is between control program 3-19 and host logical volume (for control) 3-11. The interface is exactly the same. Therefore, the storage control device 3 regarding the acquisition of the configuration information 3-17 in the storage control device 3-1 in step 1 and the switching of the correspondence between the host logical volume and the internal logical volume in step 2 disclosed above. The behavior of the program on the channel adapter in -1 and the behavior of the program on the disk adapter are the same.
Next, the second embodiment will be described.
There are two differences from the examples already described.
The first is that the host logical volume (for control) 7-11 as shown in FIG. 7 is not used in this embodiment. Instead of the logical volume (for control) 7-11, the control API 11-11 provided by the storage controller 11-1 is used. This control API 11-11 is provided by the program installed in the storage control device 11-1. This program runs in 1) the channel adapter mounted on the storage controller 11-1 or 2) in the service processor mounted on the memory controller 11-1.
The second is the transfer route of control information between the storage control device 11-1 and the host computer 11-2. In the embodiment described above, the control program 7-19 reads the configuration information and writes the control information to the host logical volume (for control) through the HBA 7-21 and the port 7-15. On the other hand, in the second embodiment, the control program 11-19 calls the control API 11-11 through the NIC (Network Interface Card) 11-24 and the port 11-25 on the storage control device 11-1 side instead of the HBA 11-21. , Read configuration information, and write control information.
Although there are differences between the above two, the basic processing for how to read the configuration information 11-20 and how to switch the correspondence between the host logical volume and the internal logical volume 11-14 is the same as in the above-described embodiment. is there.
Next, the third embodiment will be disclosed.
In the embodiment described above, as shown in ECC group 2-12 in FIG. 2, several HDDs are combined to form an ECC group, and the storage area created by the ECC group is divided into one or a plurality of areas. To create an internal logical volume. Then, this internal logical volume is associated with the host logical volume. In this embodiment, one HDD is used instead of the ECC group without using the internal logical volume provided by the ECC group. Then, the storage area created by one HDD is divided into one or a plurality of areas to create an internal logical volume. Then, this internal logical volume is associated with the host logical volume.
It is the same as the above-described embodiment except that one HDD is used instead of the ECC group.
Each of the above embodiments is effective when the storage control device for storing the data processed by the host computer is used for data backup / restore or as an archive.
Although the embodiment of the present invention has been described by using an HDD having S-ATA as a connection interface, the present invention is not limited to this case, and the present invention is not limited to this case, and also for a storage control device using another HDD. It applies.
Although the present embodiment has been described above, the above-described embodiment is for facilitating the understanding of the present invention, and is not for limiting the interpretation of the present invention. The present invention can be modified and improved without departing from the spirit thereof, and the present invention also includes equivalents thereof.
<figref num="1">This is a hardware configuration example of the storage control device assumed by the embodiment of the present invention.</figref><figref num="2">This is an example of the correspondence between the hardware configuration and the logical configuration of the storage control device assumed by the embodiment of the present invention.</figref><figref num="3">The logical configuration of the storage control device assumed by the embodiment of the present invention is an example of a method of reading configuration information.</figref><figref num="4">This is an example of a configuration information table held by the storage control device according to the embodiment of the present invention and used to manage the association between the number of the host logical volume and the number of the internal logical volume.</figref><figref num="5">This is an example of a configuration information table held by the storage control device according to the embodiment of the present invention and used to manage the correspondence between the ECC group number and the number of the internal logical volume provided by the ECC group.</figref><figref num="6">This is an example of a flowchart of a program that operates in the channel adapter according to the embodiment of the present invention.</figref><figref num="7">This is an example of a method in which the storage control device assumed by the embodiment of the present invention changes the correspondence between the host logical volume and the internal logical volume.</figref><figref num="8">This is an example of a flowchart in which the program operating in the channel adapter according to the embodiment of the present invention changes the correspondence between the host logical volume and the internal logical volume.</figref><figref num="9">To manage the correspondence between the number of the ECC group including the HDD in which the spindle motor is rotating and the number of the internal logical volume included in the ECC group, which is held by the storage control device according to the embodiment of the present invention. This is an example of the configuration information table used in.</figref><figref num="10">To manage the correspondence between the number of the ECC group including the HDD in which the spindle motor is rotating and the number of the internal logical volume included in the ECC group, which is held by the storage control device according to the embodiment of the present invention. This is an example of the configuration information table used in.</figref><figref num="11">The logical configuration of the storage control device assumed by the embodiment of the present invention is an example of a method of reading configuration information.</figref>
Code description
1-2 Host computer 1-1 Memory control device 1-3 Channel adapter 1-6 Hard disk drive 1-7 Disk adapter 1-9 Connection 1 -10 Shared memory 1-11 Cache memory
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2008102667A | Cited by | Japan | Examiner |
| US8458432B2 | Cited by | United States of America | Applicant |
| WO0202746A2 | Cites | World Intellectual Property Organization (WIPO) | Examiner |
| WO03067385A2 | Cites | World Intellectual Property Organization (WIPO) | Examiner |
| JP2000112666A | Cites | Japan | Examiner |
| JP2001075853A | Cites | Japan | Examiner |
| JP2001290608A | Cites | Japan | Search report |
| JP2002091706A | Cites | Japan | Search report |
| JP2002099495A | Cites | Japan | Search report |
| JP2002163076A | Cites | Japan | Examiner |
| JP2003006137A | Cites | Japan | Examiner |
| JP2003280823A | Cites | Japan | Examiner |
| JP2003316522A | Cites | Japan | Examiner |
| JP2003316616A | Cites | Japan | Search report |
| JPH03292556A | Cites | Japan | Examiner |
| JPH08202647A | Cites | Japan | Search report |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 2003428624 | Japan | A | |
| JP20030428624 | – | – | – |
11 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Decision of refusalA02 | A02 | |
| Notification of reasons for refusalA131 | A131 | |
| Written amendmentA521 | A521 | |
| Notification of reasons for refusalA131 | A131 | |
| Report on retrievalA977 | A977 | |
| Notification of resignation of power of attorneyRD04 | RD04 | |
| Notification of resignation of power of attorneyRD04 | RD04 | |
| Written amendmentA521 | A521 | |
| Written request for application examinationA621 | A621 | |
| Notification of appointment of power of attorneyRD03 | RD03 | |
| Notification of resignation of power of attorneyRD04 | RD04 |
Numbers
- Publication
- 2005190036
- Publication, DOCDB
- 2005190036
- Publication, EPODOC
- JP2005190036
- Application
- 428624
- Application, DOCDB
- 2003428624
- Application, EPODOC
- JP20030428624
Titles3
- Japanese
- 記憶制御装置及び記憶制御装置の制御方法
- English
- Memory control device and control method of memory control device
- English
- STORAGE CONTROLLER AND CONTROL METHOD FOR STORAGE CONTROLLER
Classification
- CPC, 4
- G06F3/0634
- G06F3/0625
- G06F3/0689
- Y02D10/00
- IPC, 2
- G06F3 06
- G06F12 00