WO2004027625A1 - Storage control apparatus, storage control program, and storage control method - Google Patents
Storage control apparatus, storage control program, and storage control methodInfo
- Publication number
- WO2004027625A1 WO2004027625A1 PCT/JP2002/009670 JP0209670W WO2004027625A1 WO 2004027625 A1 WO2004027625 A1 WO 2004027625A1 JP 0209670 W JP0209670 W JP 0209670W WO 2004027625 A1 WO2004027625 A1 WO 2004027625A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- cache
- client
- storage
- written
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 59
- 230000008569 process Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 4
- 230000015654 memory Effects 0.000 abstract description 134
- 238000012545 processing Methods 0.000 abstract description 93
- 230000004044 response Effects 0.000 description 58
- 238000012546 transfer Methods 0.000 description 36
- 238000010586 diagram Methods 0.000 description 27
- 230000001427 coherent effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000002020 sage Nutrition 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
Definitions
- the present invention is used in a storage system in which a cache device and a disk device are distributed on a network, receives an access request from a client, and causes the cache device and the disk device to execute a process according to the access request.
- the present invention relates to an apparatus, a storage control program, and a storage control method, and in particular, to a storage control apparatus and a storage that can prevent a shutdown of the entire storage system due to a failure of an individual apparatus and thereby construct a highly reliable storage system
- the present invention relates to a control program and a storage control method. Background art.
- a storage system that uses a large-capacity disk connected to a network to integrate and manage large-scale data is rapidly spreading.
- the disk access speed is slower than the network data transfer speed, and the disk access performance is the bottleneck of the entire system. For this reason, the storage system uses cache memory that allows high-speed access and reduces the number of disk accesses, thereby improving disk access performance.
- this distributed storage system has a problem that each device breaks down separately since each device is arranged independently.
- each device since each device is independently connected to the network, there is a problem in that a failure occurs in the individual network connecting each device, and the individual devices cannot be used.
- the present invention has been made to solve the above-described problems caused by the conventional technology, and it is intended to prevent a shutdown of an entire storage system due to a failure of an individual device, thereby constructing a highly reliable storage system. It is an object of the present invention to provide a storage control device, a storage control program, and a storage control method that can perform the above.
- the present invention forms a storage system that is distributed and arranged on a network together with a cache device and a disk device, receives an access request from a client,
- a storage control device for causing a disk device to execute a process in accordance with an access request, wherein the data requested by the client to be written is multiplexed to a predetermined number of cache devices among the cache devices placed on the network.
- a write control unit for controlling to write by writing; and when the client device does not have any of the cache devices arranged in the network, the disk device receives data requested to be read from the disk device.
- Read the data, read the data And read control means for controlling to transmit to said client causes only stores cache device with an over data, characterized by comprising a.
- the present invention is used in a storage system in which a cache device and a disk device are dispersedly arranged on a network, receives an access request from a client, and executes a process according to the access request to the cache device and the disk device.
- the present invention is used in a storage system in which a cache device and a disk device are dispersedly arranged on a network, receives an access request from a client, and executes a process according to the access request to the cache device and the disk device.
- a storage control method for causing a predetermined number of cache devices among the cache devices arranged in the network to store data requested by the client to write.
- the data requested by the client to be written is multiplexed and written into a predetermined number of cache devices among the cache devices arranged on the network, and the data requested by the client to be read is controlled by the network. If there is no cache device among the cache devices placed in the cache, control is performed so that the data is read from the disk device, the read data is stored only in a certain cache device, and transmitted to the client. As a result, it is possible to efficiently use the cache memory, prevent the operation of the entire storage system from being stopped due to a failure of any of the cache devices, and build a highly reliable storage system.
- FIG. 1 is a block diagram showing the system configuration of the storage system according to the first embodiment
- FIG. 2 is a functional block diagram showing the configuration of the storage control device shown in FIG.
- FIG. 3 is a diagram showing an example of a position information table
- FIG. 4 is a functional block diagram showing a configuration of the cache control device shown in FIG. 1
- FIG. 6 is a diagram showing an example of a message transmitted by the cache control device
- FIG. 7 is a diagram showing an example of a message transmitted by the real disk control device.
- FIG. 8 is a flowchart showing a processing procedure of the data write processing unit shown in FIG. 2
- FIG. 9 is a flowchart showing a method in which the client determines that the data write to the storage system is completed. Is an explanatory diagram for light, the first 0 illustration according to the first embodiment
- FIG. 9 is a flowchart illustrating a procedure of processing for writing data to the cache memory;
- FIG. 11 is a flowchart showing a processing procedure of the data read processing unit shown in FIG. 2
- FIG. 12 is a flowchart showing a processing procedure of the Fetch processing unit shown in FIG.
- FIG. 13 is a flowchart showing the processing procedure of the F1ush processing unit shown in FIG. 2
- FIG. 14 is a diagram showing the concept of duplexing of the storage control device according to the second embodiment.
- FIG. 15 is a block diagram showing a system configuration of a storage system according to the second embodiment
- FIG. 16 is a diagram showing an example of a location information update message.
- FIG. 17 is a flowchart showing a processing procedure of the position information table updating unit shown in FIG. 15, and
- FIG. 18 is a flow chart showing the storage control apparatus according to the second embodiment.
- FIG. 19 is an explanatory diagram for explaining a modification
- FIG. I s a block diagram showing the system configuration of a storage system according to the third embodiment
- the second 0 is a diagram showing an example of a computer system that executes a storage control program and a cache control program.
- FIG. 1 is a block diagram showing a system configuration of the storage system according to the first embodiment.
- this storage system has a storage controller 110, a real disk controller 120, and a cache controller 130 and 140 that are duplicated. It is distributed and arranged above, and is used from clients 10 to 30 via network 40. For the sake of explanation, only three clients 10 to 30 are shown here, but this storage system The system is used by an arbitrary number of clients via the network 40. Although the case where the client 10 uses this storage system is described here, other clients 20 and 30 can also use this storage system.
- the storage controller 110 receives an access request from the client 10 via the network 40, and sends the request to the real disk controller 120, the cache controllers 130 and 140 in response to the access request. Is a device for executing the processing.
- the storage control device 110 manages data stored in the cache memories of the cache control devices 130 and 140.
- the real disk controller 120 has a disk 121 as a large-capacity storage medium, and reads data from the disk 121 and reads the data from the disk 121 based on the instruction of the storage controller 110. Is a device that writes data to the Here, for convenience of explanation, only one real disk controller 120 is shown, but in this storage system, a plurality of real disk controllers are connected to the network 40 according to the size of data to be stored. Can be arranged. Also, multiple disks can be connected to one real disk controller.
- the cache controllers 130 and 140 have a cache memory as a high-speed access recording medium, and read data from the cache memory card and transfer data to the cache memory based on an instruction from the storage controller 110. This is a device that performs writing.
- the cache control device is duplicated, and the same data is stored in the cache memory of the cache control devices 130 and 140.
- the data is If the data stored in only one of the cache memories is different from the data stored in disk 1 and the data stored in the cache memory, that is, the data is dirty. If it is, the data is stored in both cache memories.
- data M is data in which data M ′ on disk 121 has been rewritten, and is in a dirty state. Are stored in two cache memories.
- the data N is stored only in the cache memory of the cache control device 130.
- the cache control device is duplicated and the same data is stored in the two cache memories, so that if either the cache control device 130 or 140 fails,
- the storage system can be operated using another cache control device, and a highly reliable storage system can be realized.
- the data stored in the disk 121 and the cache memory are the same, the data is stored only in one of the cache memories, so that the cache memory is used effectively. And the cache hit rate can be improved.
- the storage control device 110 includes a position information table 111, a control unit 112, a network interface unit 113, a data read processing unit 114, and a data read processing unit 114. It has a write processing section 115, a Feteh processing section 116, and a F1ush processing section 117.
- the location information table 1111 shows the logical location specified by the client 10 and the physical location of the disk 12 1 where the data is actually stored for the data that the client 10 requests the storage system to access. This is a table in which the physical location of the cache memory is associated with the state of the data (that is, whether the data is coherent or dirty).
- FIG. 3 is a diagram showing an example of the position information table 111.
- the data whose logical location is 0 to 7 of the storage with the device number 0 is the disk with the device number 0. It is stored in the cache memory 0 to 7 of the cache control device 130 of the cache control device 130 of the device number 0 and 0 to 7 of 121, indicating that it is in a coherent state.
- the data whose logical position is 8 to 15 of the storage of the device number 1 is stored in 8 to 15 of the disk 121 of the device number 0 and the cache control device 130 of the device number 0.
- the cache memories 8 to 15 and the cache control device 140 having the device number 1 are stored in the cache memories 0 to 7 of the cache memory 140, indicating that the cache control device is in a dirty state.
- the position information table 111 stores the physical position of the data stored in the cache memories of the two cache control devices 130 and 140 in association with the logical position of the data.
- the storage control device 110 can perform processing corresponding to the duplication of the cache control device.
- the control unit 112 is a processing unit that controls the entire storage control device 110, and the network interface unit 113 is a client using a predetermined communication protocol, and the real disk control device 1 20, a processing unit that communicates with the cache control devices 130 and 140.
- the data read processing unit 114 is a processing unit that reads data from the storage system in response to a data read request from the client 110.
- the data read processing unit 114 uses the position information table 111 to change the data logical position to the physical position. If the data is stored in the cache memory, the data is stored and the cache controller having the cache memory is instructed to transfer the data to the client 10. On the other hand, if the data is not stored in the cache memory, a request is made to the Feteh processing unit 116 to transfer the data from the real disk controller 120 to the cache controller. Then, after the data is transferred from the real disk control device 120 to the cache control device, the cache control device to which the data was transferred is instructed to transfer the data to the client 10.
- the data write processing unit 115 is a processing unit that writes data to the storage system in response to a data write request from the client 10.
- both cache control devices 130 and 140 are always instructed to write data to the cache memory.
- the location information table 111 if the storage location of data in the cache memory is registered in the location information table 111, an instruction to write data to that storage location is issued, and the location information table 111 stores the data in the cache memory. If the storage location is not registered, a new cache memory is allocated, and data writing is instructed to the allocated cache memory location.
- the Feteh processing unit 1 16 selects a cache control device for newly storing data, and the real disk control device 1 A processing unit that instructs 20 to transfer data to the selected cache control device.
- the F 1 ush processing unit 1 17 is a processing unit that writes data that is in a dirty state among the data stored in the cache memory to the disk 1 21.When writing data to the cache memory, an empty area is used. Is used to create an empty area in the cache memory when the used area of the cache memory exceeds a predetermined ratio. The choice of whether to delete from the flash memory is determined using a method such as LRU (Least Recently Used). If the data to be deleted from the cache memory is in a dirty state, this F1 The ush processing unit 1 17 is used.
- FIG. 2 is a functional block diagram showing a configuration of a cache control device 130 shown in FIG.
- the cache control device 130 includes a cache memory 131, a control unit 1332, a network interface unit 133, a cache read processing unit 134, and a cache write processing unit 1 35, F etch ii ⁇ lU 36, and F 1 ush corresponding part 1 37.
- the cache memory 13 1 is a storage unit that stores a part of the data stored on the disk 12 1 and the data stored on the disk 12 1 in order to speed up access to the storage system. Compared to the disk 121, the access time is shorter and the capacity is smaller.
- the data stored in the cache memory 1311 and its storage position are stored in the position information table 1111 of the storage control device 110.
- the control unit 132 is a processing unit that controls the entire cache control device 130, and the network interface unit 133 is a client using a predetermined communication protocol, a storage control device 110, and a real disk.
- the processing unit communicates with the control device 120.
- the cache read processing unit 134 is a processing unit that reads data from the cache memory 131, based on a data read instruction from the storage control device 110, and transfers the read data to the client 10.
- the cache write processing unit 135 is a processing unit that reads data from the buffer of the client 10 based on a data write instruction from the storage control device 110 and writes the read data to the cache memory 131. When the data writing to the cache memory 131 is completed, the cache write processing unit 135 notifies the client 10 of the completion of the data writing.
- the completion notification corresponds to the duplication of the cache control device, and details thereof will be described later.
- the Feteh corresponding unit 136 changes the actual disk controller 120 to the cache controller 130 based on the instruction of the Fetch processing unit 116 of the storage controller 110.
- the F1 ush corresponding unit 13 7 reads data from the cache memory 13 1 based on the instruction of the F 1 ush processing unit 1 17 of the storage control device 110 and transfers it to the real disk control device 120. This is a processing unit.
- FIG. 5 is a diagram showing an example of a message transmitted by the storage control device 110.
- FIG. 3A shows a data access instruction message to the cache memory transmitted from the storage control device 110 to the cache control devices 130 and 140
- FIG. Numeral 10 indicates a data transfer instruction message transmitted to the real disk controller 120.
- the data access instruction message 5100 transmitted to the cache memory transmitted from the storage control device 110 to the cache control devices 130 and 140 is composed of an internal header 5111 and It has a response header 512 and a data position 513.
- the internal header 5 11 1 includes the address of the client 10 or the real disk control unit 120 that the cache control units 13 0 and 140 transmit and receive data, and the instruction to read data from the cache memory (“read”). )), And whether the command is a command to write data to the cache memory (“write”).
- the address is the address of the client 10 that has issued the data write request, and the command type is “write”.
- the data access instruction message 5110 is an instruction to read data from the cache memory
- the address is the address of the client 10 that has issued the data read request
- the command type is “read”.
- the data access instruction message 510 is the data from the cache memory to the disk 121.
- the address is the address of the real disk controller 120 of the data transfer destination, and the command type is "read”.
- the response header 512 is used to convey the result of the execution of the processing instructed by the cache control devices 130 and 140 to the storage control device 110 to the client 10 or the storage control device 110.
- the response header 512 includes a command ID for identifying a request from the client 10 and the like, and an execution result indicating whether the execution was successful or failed.
- the data included in the response header 512 of the data access instruction message 510 for instructing data writing to the cache memory will be described later.
- Data location 5 13 contains the physical location of the disk 1 2 1 that stores the data as well as the cache memory. However, if the data is not stored in cache memory, only the physical location of disk 121 is included.
- the data transfer instruction message 52 0 transmitted from the storage control device 110 to the real disk control device 120 also includes the internal header 5 21 and the response header 5 It has 2 2 and data location 5 2 3.
- the internal header 521 includes the address of the cache control device 130 or 140 to which the data is to be transferred, and “Read” as the command type.
- the response header 522 is a header format for the real disk controller 120 to notify the storage controller 110 of the result (success or failure) of the data transfer.
- the data position 5 2 3 includes a physical position specifying the data position on the disk 12 1 storing the data to be transferred and a data storage position in the cache memory to which the data is written. .
- FIG. 6 is a diagram showing an example of a message transmitted by the cache control devices 130 and 140.
- FIG. 11A shows the data from the cache memory based on the request of the client 10.
- a response message 610 that sends the result of executing the data read process or the data write process to the cache memory to the client 10 is shown in FIG.
- a data transfer message 620 for transferring the data of the real disk controller 120 to the real disk controller 120 is shown in FIG.
- the data transfer completion message transmitted to the device 110 is shown.
- the response message 610 sent by the cache controllers 130 and 140 to the client 10 has a response header 611 and response data 612.
- the response header 6 11 1 includes a command ID for identifying a request from the client 10 and an execution result of the specified processing.
- the request from the client 10 is to read data
- the data read from the cache memory becomes the response data 6 12.
- the request from the client is a data write, there is no response data 6 12.
- the data transfer message 62 0 transmitted by the cache controllers 130 and 140 to the physical disk controller 120 is composed of a response header 62 1 and a data position. 6 2 2 and response data 6 2 3.
- the response header 6 21 includes a command ID for identifying that this data transfer message 6 20 is a data transfer based on F 1 ush processing, and the data position 6 22 includes the data to be transmitted.
- Response data 6 23 is read from the cache memory and is F 1 ush data stored in the disk 12 1.
- the data transfer completion message 630 sent by the cache controllers 130 and 140 to the storage controller 110 sends a response header 631 Have.
- the response header 631 includes the command ID included in the instruction message from the storage control device 110 corresponding to this response and the execution result of the instructed processing.
- the physical disk controller 120 responds to the instruction from the storage controller 110.
- FIG. 7 is a diagram showing an example of a message transmitted by the real disk controller 120.
- the same figure (a) shows a data transfer message 7 1 that the real disk controller 120 transfers the data stored in the disk 12 1 to the cache controller 13 or 14 based on the Fetch processing.
- (b) shows that when the data transfer to the cache control device 130 or 140 is completed, the real disk control device 120 transmits to the storage control device 110.
- the data transfer completion message 720 is shown.
- the data transfer message 710 transmitted from the real disk controller 120 to the cache controller 130 or 140 includes a response header 711 and a data position 711. 2 and response data 7 13.
- the response header 711 includes a command ID for identifying that this data transfer message 710 is a data transfer based on the Fetch processing.
- the data position 712 includes the data ID of the data to be transferred.
- the response data 7 13 contains physical locations that specify the write location in the cache memory, and the response data 7 13 is the Feteh data that is read from the disk 121 and written to the cache memory.
- the data transfer completion message 720 transmitted to the storage control device 110 has a response header 721.
- the response header 721 includes the command ID included in the instruction message from the storage control device 110 corresponding to the response and the execution result of the instructed process.
- FIG. 8 is a flowchart showing a processing procedure of the data write processing unit 115 of the storage control device 110 shown in FIG.
- the data write processing unit 115 searches the position information table 111 using the logical position of the write data designated by the client 10 (step S8001), The data is in the cache memory and the state is dirty. Power is in the cache memory and the state is coherent or Check whether there is data in the flash memory (step S802).
- command type When data is present in both cache memories and the state of the data is dirty, the command type is set to “write” for both cache controllers 130 and 140 and the data access is instructed.
- a message 510 is transmitted to instruct the client 10 to write the data specified by the client 10 to the cache memory (step S803).
- a data access instruction message 510 is transmitted with the command type set to “write” to the request and the command 140 (step S806). Then, the position information table 111 is updated for the newly secured area of the cache memory (step S807).
- step S805 If there is no data in both cache memories, an area for storing data is secured in both cache memories (step S805), and both cache control devices 130 and 14 are reserved. For 0, the data access instruction message 510 is transmitted with the command type set to "write" (step S806). Then, the position information table 111 is updated for the newly secured cache memory area (step S807).
- the data write processing unit 1 15 forces the client 10 to always write the data requested to be written to both cache memories, even if one of the cache control devices fails, Data loss can be prevented.
- FIG. 9 is an explanatory diagram for explaining a method in which the client 10 determines completion of data writing to the storage system.
- the storage control device 110 receives a data write request (command ID is set to “command 1”) from the client 10, both the cache control devices 130 and A data access instruction message 510 is transmitted to 140.
- the internal header 511 includes the address of the client 10 as the data write request source and “write” as the command type, and the response header 512 includes the “command”.
- the response to "1" includes data specifying that there are two (response 1: two), and data positions 5 13 include data position P and data position Q, which are data write positions in the cache memory. It is.
- the cache controllers 13 0 and 14 0 having received the data write message 5 10 read data from the buffer of the client 10, and the cache controller 13 0 is located at the data position P of the cache memory, and the cache controller 1 40 writes data to the data position Q of the cache memory.
- a response message 610 created based on the response header 512 is transmitted to the client 10.
- This response message 6100 includes data (response 1; two) specifying that there are two responses to “command 1”. '
- the client 10 that has received the response message 610 from the cache controller 13 0 or 140 0 confirms that there are two responses to the “command 1”, and receives a response from another cache controller. Waiting for a response message 610, when receiving a response message 610 from another cache control device, it is determined that data writing to the storage system has been completed.
- the storage control device 110 uses the response header 5 12 to specify that there are two response messages 6 10 to the data write request, and -0 counts the number of response messages 610 from the cache control unit, and it is determined that data writing to the storage system has been completed only when two response messages 610 are received. It is possible to guarantee that the same data is written to the cache memories of the two cache controllers 130 and 140.
- FIG. 10 is a flowchart showing a procedure for writing data to the cache memory according to the first embodiment.
- the cache control device 130 completes writing data to the cache memory before the cache control device 140'.
- the cache control device 130 when the cache control device 130 receives the data access instruction message 5 10 transmitted by the storage control device 110 (step S 1001), the cache control device 130 reads data from the buffer of the client 10. Is read (step S1002), and the read data is written to the cache memory.
- the data write position in the cache memory is specified by the data position 5 13 included in the data access instruction message 5 10. Then, when the writing of the data to the cache memory is completed, a response message 610 is transmitted to the client 10 (step S1003).
- the other cache control device 140 also receives the data access instruction message 5 10 transmitted by the storage control device 110 (step S 1 0 5), and transmits the data access instruction message 510 from the buffer of the client 10. Data is read (step S1006), and the read data is written to the cache memory. When the data writing to the cache memory is completed, a response message 610 is transmitted to the client 10 (step S1007).
- the client 10 receives the response message 610 transmitted by the cache control device 130 (step S1004), decodes the response header 611, and transmits the response message 610. Recognizes that it is necessary to receive two Wait for Sage 6 1 0.
- the response message 610 from the cache control device 140 is received (step S1008), it is determined that the data write processing has been completed by both the cache control devices 130 and 140. I do.
- the cache controller 130 And 140 can also notify the storage controller 110 of data completion in place of the client 10 when the writing to the cache memory is completed.
- the storage control device 110 issues a data write instruction to the two cache control devices 130 and 140
- the storage control device 110 and the cache control devices 130 and 140 send the instruction.
- the client 10 can be notified of the data write completion.
- FIG. 11 is a flowchart showing the processing procedure of the data read processing unit 114 of the storage control device 110 shown in FIG. 2.
- the unit 114 uses the position information table 111 to check whether the data requested by the client 10 to be read is present in the 0th cache control device 130 (step S111). ). —If there is data in the 0th cache control device 130, the command type is set to “read” and the data access instruction message 510 is sent to the 0th cache control device 130. It transmits (step S1102) and instructs the client 10 to transmit the data stored in the cache memory.
- step S1103 if the data requested by the client 10 to be read is not in the 0th cache control device 130, it is checked whether the data is in the 1st cache control device 140 (step). S1103). Also, if there is no data in the cache control device 130 of No. 0 that the client 10 has requested to read, Also, it checks whether or not the remaining data is in the first cache controller 140 (step S1103). If there is data to be requested from the first cache control device 140, a data access instruction message 510 is transmitted to the first cache control device 140 with the command type set to "read" (step S1104). ), And instructs the client 10 to transmit the data stored in the cache memory.
- step S1105 if the data requested by the client 10 to be read is not in the first cache control device 140, it is checked whether the data is in the disk 121 or not (step S1105). Further, even if the cache control devices 140 of No. 0 and 1 do not have all the data requested to be read by the client 10, it checks whether the remaining data is in the disk 121 (step S1). 1 05). If the data to be obtained is in the disk 121, the data is read from the disk 121 using the Fet eh process and written to the cache memory (step S1106). Then, a data access instruction message 510 is sent to the cache control device having the cache memory in which the data has been written with the command type set to “read” (step S 1107), and the data stored in the cache memory is transmitted. To send to client 10.
- the read processing unit 114 adjusts the storage position of the data requested to be read by the client 10 using the position information table 111, and the data is stored in the two cache control devices 130 and 140. In either case, the data is sent to the client 10 by instructing the client 10 to transmit the data, thereby performing the data readout corresponding to the doubled cache.
- FIG. 12 is a flowchart showing a processing procedure of the Fetch processing unit 116 of the storage control device 110 shown in FIG.
- the Fetch processing unit 116 secures a cache memory area for storing data by using the position information table 111 (step S1201), and by using the data transfer instruction message 520, The data transfer to the cache control device having the secured cache memory area is instructed to the real disk control device 120 (step S1202).
- step S1203 the process waits for the completion of the data transfer from the real disk controller 120 to the cache controller (step S1203).
- step S1204 a new The position information table 111 is updated for the cache memory area secured in step S1205 (step S1205).
- FIG. 13 is a flowchart showing a processing procedure of the F1ush processing unit 117 of the storage control device 110 shown in FIG.
- the F1ush processing unit 117 transmits a message instructing data transfer to the real disk control device 120 to the cache control device storing the data to be transferred to the disk 121. That is, the address of the internal header 511 is set as the address of the real disk controller 120, the command type is set to “read”, the data access instruction message 510 is transmitted, and the data transfer to the real disk controller 120 is instructed. Yes (step S1301).
- step S1302 it waits for the completion of data transfer from the cache control device to the real disk control device 120 (step S1302).
- the data transfer completion message 630 is received from the cache control device (step S1303), the transferred data is stored.
- the cache memory area that has been released is released, and the position information table 111 is updated for the released cache memory area (step S1304).
- two cache control devices 130 and 140 are provided in the storage system, and the same data is stored in both cache control devices 130 and 140. If one of the cache controllers fails, the storage system can be reconfigured using another cache controller. It is possible to operate, and a highly reliable storage system can be realized. Further, the data stored in the disk 121 and the data stored in the cache controllers 130 and 140 are the same ( coherent), the cache memory of one of the cache controllers is released, and only if the data stored in the disk 121 and the data stored in the cache controller are different (dirty), Since the same data is stored in the cache control devices 130 and 140, the cache memory can be used efficiently, and the cache hit rate can be improved.
- the storage control device is also required.
- the duplication can further improve the reliability of the storage system. Therefore, in the second embodiment, a description will be given of a storage system in which the storage control device is duplicated in addition to the cache control device being duplicated.
- FIG. 14 is an explanatory diagram for explaining the concept of double storage in the storage control device according to the second embodiment.
- this storage system has two storage controllers, a main storage controller and a backup storage controller.
- the main storage controller among these two storage controllers functions as a storage controller of the storage system.
- both the main storage controller and the backup storage controller have a location information table, and the main storage controller updates the location information table with the backup information every time the location information table is updated. Send to device. Then, the backup control storage device that has received this update information He updates his location information table and keeps it up to date.
- the storage system by maintaining the position information table of the main storage control device and the position information tape of the backup storage control device always in the same state, Even if the control device fails, the storage system can be operated using the backup storage control device, and a highly reliable storage system can be realized.
- FIG. 15 is a block diagram showing a system configuration of a storage system according to the second embodiment.
- the same reference numerals are given to the functional units having the same functions as the respective units shown in FIG. 1, and the detailed description is omitted.
- a main storage control device 15010 As shown in the figure, in this storage system, a main storage control device 15010, a backup storage control device 1502, and a real disk control device 120 Two cache controllers 130 and 140 are distributed.
- the main storage controller 1510 accepts an access request from the client 10 via the network 40, and ⁇ the disk controller 120, the cache controllers 130 and 140. This is a device that executes a process corresponding to an access request.
- the main storage controller 1510 has a position information table 1511 and an update information transmitting unit 1512.
- the location information table 1511 1 shows the ⁇ S location specified by the client 10 and the physical location of the disk 1 2 1 where the data is actually stored for the data that the client 10 requests the storage system to access. And a table in which the physical position of the cache memory and the state of the data, that is, whether the data is coherent or dirty are stored in association with each other.
- the update information transmitting unit 1512 is a processing unit that transmits the update information to the backup storage control device 15020 every time the position information table 1511 is updated.
- the update of the position information tape cache 1511 is performed when the data stored in the cache memory becomes unnecessary by the F1ush processing, when a new cache memory is allocated by the Feteh processing, and when the data writing processing is performed. This is performed when a large cache memory is allocated.
- the backup storage controller 1520 is a device that takes over and executes the processing when the main storage controller 1510 fails, and the position information table 1521 and the position information table. And an update unit 1522.
- the position information tape / record 1521 is a table for storing the same data as the position information table 1511 of the main storage controller 1510.
- This location information template 1521 stores the same data as the location information tape 1515, so that if the main storage controller 1510 fails, its processing is backed up. It becomes possible for the system storage controller 1502 to take over and execute.
- the location information table update unit 1 5 2 2 receives the update information of the location information table 1 5 1 1 transmitted by the update information transmission unit 1 5 1 2 of the main storage control device 1 5 1 0, and the backup storage control device. This is a processing unit that updates the position information table 1521 of the 1520.
- the location information table updating unit 15 2 2 updates the location information table 15 21 so that the location information table 15 21 can be kept up to date at all times. In the event that 10 fails, the backup storage controller 1502 can take over and execute the processing.
- FIG. 16 is a diagram showing an example of a location information update message.
- the location information update message 16 "10 is composed of a type 1611, a logical location information 1612, a physical location information 1613, and a state 1611.
- Type 1 6 1 1 indicates the type of update of the location information table. New allocation of cache memory (alloc), partial release of duplicated cache memory (freel), or release of all cache memory (free) Is one of
- the logical position information 1612, the physical position information 1613, and the state 1614 are information respectively corresponding to the logical position, the physical position, and the state of the position information table. That is, the logical location information 1612 is information relating to a logical location which is a data storage location used by the client 10 for accessing the storage system, and the physical location information 1613 is a disk for storing data. Information on the physical location, which is the data storage location in 1 2 1 and cache memory, and state 16 14 is the same as the data stored in disk 1 2 1 and the data stored in cache memory. It is information indicating whether or not.
- FIG. 17 is a flowchart showing a processing procedure of the position information table updating unit 152 2 of the backup storage control device 150 shown in FIG.
- the location information table update unit 1522 is comprised of the update information transmission unit 1512 of the main storage control device 1510 and the backup storage control device 1520 of the main storage control device 1510.
- the location information update message 1610 to be transmitted to the server is received via the network 40 (step S1701).
- step S1702 the type 1611 included in the position information update message 1610 is checked (step S1702), and if the type 1611 power S is "free", the cache memory which has been released is determined.
- the information corresponding to the area is deleted from the position information table 1521 (step S1703), and if the type is "freel", the cache memory is partially released.
- the information of the position information table 1521 corresponding to the area is updated (step S1704).
- the newly allocated cache If the information corresponding to the memory area is in the position information table 1521, the information is updated. If the information corresponding to the newly allocated cache memory area is not in the position information tape Then, new correspondence information is created and added to the position information table 1521 (step S1755).
- the storage control device is duplicated using the main storage control device 1510 and the backup storage control device 1502, and both storage control devices 1510 And 1520 have location information tapes 1511 and 1521, and the update information transmission section 1512 of the main storage controller 1510 has a location information tape drive 1511.
- a position information update message 1610 is sent to the backup storage controller 1520, and the position information tape renewal unit 1522 of the backup storage controller 1520 is moved to the position. Since the information table 1521 is updated immediately, even if the main storage controller 15010 fails, the backup storage controller 1502 takes over the processing and takes over the processing. Ki De is possible to operate the arm, it is possible to realize a highly reliable storage system.
- the update information transmitting unit 1512 of the main storage controller 1510 transmits a location information update message 1610 to the backup storage controller 1520.
- the location information update message 1610 is saved as an update log without immediately updating the location information table 1521, and when the main storage controller 1510 fails and takes over the processing.
- the location information table 15 21 can also be updated with.
- FIG. 18 is an explanatory diagram for explaining the concept of a modified example of the double control of the storage control device according to the second embodiment. 'As shown in the figure, in the modified example of the dual storage control device, the main storage control device transmits the update information to the backup storage control device every time the position information table is updated. In addition, the storage controller that has received the update information saves the update information as an update port instead of immediately updating the position information table. Then, when the main storage control device fails and takes over its processing, the knock-up storage control device updates the location information table using the stored update port.
- the update information is stored as an update log instead of immediately updating the location information table when the backup storage control device receives the update information.
- the processing load on the controller can be reduced, and the backup storage controller can be used effectively for other processing.
- Embodiments 1 and 2 described above the case where two cache control devices are used has been described.However, the number of cache control devices is set to avoid a decrease in the cache hit rate due to an increase in disks 121 and the like. In addition, it is necessary to gradually increase the number. Therefore, in a third embodiment, a storage system using n cache control devices will be described.
- FIG. 19 is a block diagram showing a system configuration of a storage system according to the third embodiment.
- the same reference numerals are given to the functional units that play the same role as each unit shown in FIG. 1, and the detailed description is omitted.
- a storage controller 1910, real disk controllers 1220 and 1920 The cache control devices 130, 140 and 193 are distributed.
- two real disk controllers 120 and 190 and three cache controllers 130, 140 and 193 are shown.
- the storage system has m real disk controllers and n cache controllers.
- the storage control device 1910 controls the dirty data to be stored in two of the n cache control devices. That is, even if one of the n cache control devices fails, the storage control device 1910 can transfer data from the failed cache control device to the other cache control devices. By controlling the cache controller so that it is always present on the disk, an efficient use of cache memory and a highly reliable storage system are realized.
- the real disk controller 1920 and the cache controller 1930 are devices newly added to the storage system in order to handle larger-scale data. However, the cache controller 1930 does not need to store the data M in a dirty state in FIG. 19, for example. The reason is that two cache controllers 130 and 140 store data M, and it is not necessary for three or more cache controllers to store the same data.
- the storage system is provided with n cache control devices, and for data that is not stored in the disk and is in a dirty state, two of the n cache control devices are used. Since the same data is stored in the two cache controllers, the cache memory is used efficiently, and the remaining cache controllers can be used even if one of the n cache controllers fails.
- the storage system can be operated using the cache control device, and a highly reliable storage system can be realized.
- Embodiment '3 the case where the same data is stored in two of the n cache control devices has been described.
- the present invention is not limited to this.
- the present invention is not limited to this, and the same can be applied to the case where the number of cache control devices that store the same data is increased to three or more in order to obtain a more reliable storage system. Therefore, the number of cache control devices that store the same data can be determined based on the operating environment of the system, the hit ratio of the cache memory, the data access performance, the required level of system reliability, and the like.
- the present invention can be applied to a case where a more flexible storage system is obtained by changing the number of cache control devices that store the same data as needed in accordance with a change in the operation environment of the storage system. Can be.
- a cache control device that stores the same data is determined, and the same can be applied to a storage system that performs backup of each cache control device.
- the storage control device and the cache control device have been described. However, by realizing the configuration of these devices by software, a storage control program having a similar function is realized. And a cache control program can be obtained. Therefore, a computer system that executes the storage control program and the cache control program will be described.
- FIG. 20 is a diagram illustrating an example of a computer system 2000 that executes a storage control program and a cache control program.
- the computer system 2000 is composed of an MPU (Micro Processing Unit) 200, a ROM (Read Only Memory) 200, and a RAM (Random Access Memory). It has 2003, a NIC (Network Interface Card) 204, an input / output device 205, and a PC interface 206.
- MPU Micro Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- NIC Network Interface Card
- the MPU 20001 is an arithmetic unit that executes a program.
- the storage control program and the cache control program stored in 2002 are executed. .
- ROM 2000 is a memory that stores a read-only program and data, and stores a storage control program and a cache control program prior to execution of the program.
- the RAM 2003 is a memory to which data can be written, and stores temporary data and the like created by the MPU 2001 when the program is executed. Also, a position information table is stored in the RAM 2003.
- the NIC 204 is a device that communicates with a client or the like using a predetermined communication protocol, and includes the network interface unit 113 shown in FIG. 2 and the network interface unit 1 shown in FIG. 3 Execute the process of 3.
- the input / output device 2000 is a device such as a keyboard, a mouse, and a display.
- the keyboard and mouse are used for inputting instructions and data to the computer system 2000, and the display is used to execute the computer. It is used for display of etc.
- the PC interface 2006 is an interface with a personal computer used for program development, etc., and is used to read programs developed on a personal computer and to send and receive debug information to and from the personal computer. You. '
- data controlled by a client to be written is controlled so as to be multiplexed and written to a predetermined number of cache devices out of the cache devices arranged on the network, and the client performs the control. If none of the cache devices arranged in the network has the data requested to be read, the data is read from the disk device, the read data is stored only in a certain cache device, and the data is read by the client.
- the transmission is controlled so that the cache memory is used efficiently and the operation of the entire storage system is prevented from being stopped due to the failure of any cache device. The effect is that a highly reliable storage system can be constructed.
- the storage control device, the storage control program, the storage control method, and the storage system according to the present invention need to provide a service without stopping the operation of the system even when some of the devices fail. Suitable for high reliability storage systems.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A storage control apparatus distributed on a network together with a cache device and a disc device so as to constitute a storage system, accepting an access request from a client, and causing a cache control device and a real disc control device to execute processing corresponding to the access request. The apparatus includes a data writing unit for controlling to write data requested to be written by a client into cache memories of two cache control devices, and a data reading unit which operates as follows. When data requested to be read by a client is not found in either of the two cache control devices, the data is read from the disc control device and the data read out is stored only in one of the cache control devices.
Description
明 細 書 ストレージ制御装置、 ストレージ制御プログラムおよぴストレージ制御方法 技術分野 Description Storage control device, storage control program, and storage control method
この発明は、 キャッシュ装置およびディスク装置をネットワーク上に分散配置 したストレージシステムで用いられ、 クライアントからのアクセス要求を受け付 け、 キャッシュ装置およびディスク装置にアクセス要求に応じた処理を実行させ るストレージ制御装置、 ストレージ制御プログラムおよびストレージ制御方法に 関し、 特に、 個々の装置の故障に起因するストレージシステム全体の稼動停止を 防ぎ、 もって信頼性の高いストレージシステムを構築することができるストレー ジ制御装置、 ストレージ制御プログラムおよびストレージ制御方法に関するもの である。 背景技術 . The present invention is used in a storage system in which a cache device and a disk device are distributed on a network, receives an access request from a client, and causes the cache device and the disk device to execute a process according to the access request. The present invention relates to an apparatus, a storage control program, and a storage control method, and in particular, to a storage control apparatus and a storage that can prevent a shutdown of the entire storage system due to a failure of an individual apparatus and thereby construct a highly reliable storage system The present invention relates to a control program and a storage control method. Background art.
近年、 マルチメディァデータの利用などによる処理データ量の急増にともない In recent years, with the rapid increase in the amount of processed data due to the use of multimedia data, etc.
、 ネットワークに接続された大容量ディスクを利用して大規模なデータを統合運 用管理するストレージシステムが急速に普及している。 このストレージシステム では、 ネットワークのデータ転送速度と比較してディスクのァク irス速度が遅い こと力、ら、 ディスクのアクセス性能が、 システム全体のボトルネックとなってい る。 このため、 ストレージシステムでは、 高速アクセスが可能なキャッシュメモ リを使用し、 ディスクへのアクセス回数を減らすことによって、 ディスクのァク セス性能の改善を図っている。 A storage system that uses a large-capacity disk connected to a network to integrate and manage large-scale data is rapidly spreading. In this storage system, the disk access speed is slower than the network data transfer speed, and the disk access performance is the bottleneck of the entire system. For this reason, the storage system uses cache memory that allows high-speed access and reduces the number of disk accesses, thereby improving disk access performance.
通常、 キャッシュメモリを用いる場合には、 アクセス要求のあったデータがキ ャッシュメモリに存在する率を示すキャッシュヒット率がシステム性能に大きく 影響することから、 できるだけ大きなキャッシュメモリを用いる必要がある。 し かし、 従来のストレージ装置では、 ストレージシステム全体の制御、 ディスクの
制御、 キャッシュメモリの制御などを一つの装置として実現しているため、 キヤ ッシュメモリの容量を拡張することが容易でなく、 ストレージシステムの増強に よってディスクの容量が拡張されると、 キャッシュメモリの相対的容量が少なく なり、 キャッシュヒット率が低下するという事態が発生していた。 Normally, when a cache memory is used, it is necessary to use a cache memory as large as possible because the cache hit rate, which indicates the rate at which data requested for access exists in the cache memory, greatly affects system performance. However, with conventional storage systems, control of the entire storage system and disk Since control and cache memory control are implemented as a single device, it is not easy to expand the capacity of the cache memory. The target capacity was reduced, and the cache hit rate was reduced.
このようなことから、 キャッシュメモリの容量の拡張を容易にするために、 ス トレ一ジシステム全体の制御、 ディスクの制御、 キャッシュメモリの制御をそれ ぞれ別の装置として実現し、 これらの装置をネットワークに接続して分散配置し た分散型ストレージシステムが利用されるようになった。 この分散型ストレージ システムでは、 キャッシュメモリおよびその制御だけを独立のキヤッシュ装置と しているため、 キャッシュ装置を追加することによってキャッシュメモリの容量 を容易に拡張することができる。 For this reason, in order to easily expand the capacity of the cache memory, control of the entire storage system, control of the disk, and control of the cache memory are realized as separate devices. A distributed storage system that is connected to a network and distributed is now used. In this distributed storage system, since only the cache memory and its control are used as independent cache devices, the capacity of the cache memory can be easily expanded by adding a cache device.
しかしながら、 この分散型ストレージシステムには、 各装置が独立して配置さ れることから、 各装置が別々に故障するという問題点がある。 また、 各装置が独 立にネットワークに接続されるため、 各装置を接続する個別ネットワークに故障 が発生し、 個々の装置が利用できなくなるという問題点がある。 However, this distributed storage system has a problem that each device breaks down separately since each device is arranged independently. In addition, since each device is independently connected to the network, there is a problem in that a failure occurs in the individual network connecting each device, and the individual devices cannot be used.
すなわち、 従来の一体型ストレージ装置では、 ストレージ装置全体として故障 が発生するため、 ストレージ装置全体の故障を考慮した R A I D (Redundant Ar ray of Independent Disks) 制御などをおこなえば十分であつたが、 分散型スト レージシステムでは、 分散配置された個別の装置ごとに故障を考 することが必 要となっている。 In other words, in the conventional integrated storage device, a failure occurs in the entire storage device, so it is sufficient to perform RAID (Redundant Array of Independent Disks) control and the like in consideration of the failure of the entire storage device. In a storage system, it is necessary to consider a failure for each individual device that is distributed.
この発明は、 上述した従来技術による問題点を解消するためになされたもので あり、 個々の装置の故障に起因するストレージシステム全体の稼動停止を防ぎ、 もって信頼性の高いストレージシステムを構築することができるストレージ制御 装置、 ストレージ制御プロダラムおよびストレージ制御方法を提供することを目 的としている。 発明の開示
上述した課題を解決し、 目的を達成するため、 本発明は、 キャッシュ装置およ びディスク装置とともにネットワーク上に分散配置されてストレージシステムを 形成し、 クライアントからのアクセス要求を受け付け、 該キャッシュ装置および ディスク装置にアクセス要求に応じた処理を実行させるストレージ制御装置であ つて、 前記クライアントが書き込みを要求したデータを前記ネットワークに酉 S置 されたキヤッシュ装置のうちの所定の数のキヤッシュ装置に多重ィ匕して書き込む ように制御する書き込み制御手段と、 前記クライアントが読み出しを要求したデ 一タを前記ネットワークに配置されたキャッシュ装置のうちのいずれのキヤッシ ュ装置も有しない場合に、 前記ディスク装置から該データを読み出し、 該読み出 したデータをあるキヤッシュ装置だけに記憶させるとともに前記クライアントに 送信するように制御する読み出し制御手段と、 を備えたことを特徴とする。 また、 本発明は、 キャッシュ装置およびディスク装置をネットワーク上に分散 配置したストレージシステムで用いられ、 クライアントからのアクセス要求を受 け付け、 該キャッシュ装置およびディスク装置にアクセス要求に応じた処理を実 行させるストレージ制御プログラムであって、 前記クライアントが書き込みを要 求したデータを前記ネットワークに配置されたキヤッシュ装置のうちの所定の数 のキヤッシュ装置に多重ィヒして書き込むように制御する書き込み制御手順と、 前 記クライアントが読み出しを要求したデータを前記ネットワークに配置されたキ ャッシュ装置のうちのいずれのキヤッシュ装置'も有しない場合に、 前記ディスク 装置から該データを読み出し、 該読み出したデータをあるキャッシュ装置だけに 記憶させるとともに前記クライアントに送信するように制御する読み出し制御手 順と、 をコンピュータで実行することを特徴とする。 SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems caused by the conventional technology, and it is intended to prevent a shutdown of an entire storage system due to a failure of an individual device, thereby constructing a highly reliable storage system. It is an object of the present invention to provide a storage control device, a storage control program, and a storage control method that can perform the above. Disclosure of the invention In order to solve the above-mentioned problems and achieve the object, the present invention forms a storage system that is distributed and arranged on a network together with a cache device and a disk device, receives an access request from a client, A storage control device for causing a disk device to execute a process in accordance with an access request, wherein the data requested by the client to be written is multiplexed to a predetermined number of cache devices among the cache devices placed on the network. A write control unit for controlling to write by writing; and when the client device does not have any of the cache devices arranged in the network, the disk device receives data requested to be read from the disk device. Read the data, read the data And read control means for controlling to transmit to said client causes only stores cache device with an over data, characterized by comprising a. Further, the present invention is used in a storage system in which a cache device and a disk device are dispersedly arranged on a network, receives an access request from a client, and executes a process according to the access request to the cache device and the disk device. A storage control program for causing the client to request to write data to a predetermined number of cache devices arranged in the network by multiplexing the data and writing the data. If none of the cache devices arranged in the network has the data requested by the client to read, the client device reads the data from the disk device, and stores the read data in a cache. Remembered only in the device And executes the read control procedures for controlling to transmit the Rutotomoni the client, with the computer.
また、 本発明は、 キャッシュ装置およびディスク装置をネットワーク上に分散 配置したストレージシステムで用いられ、 クライアントからのアクセス要求を受 け付け、 該キャッシュ装置およびディスク装置にアクセス要求に応じた処理を実 行させるストレージ制御方法であって、 前記クライアントが書き込みを要求した データを前記ネットワークに配置されたキヤッシュ装置のうちの所定の数のキヤ
ッシュ装置に多重化して書き込むように制御する書き込み制御工程と、 前記クラ イアントが読み出しを要求したデータを前記ネットワークに酉己置されたキヤッシ ュ装置のうちのいずれのキヤッシュ装置も有しない場合に、 前記ディスク装置か ら該データを読み出し、 該読み出したデータをあるキャッシュ装置だけに記憶さ せるとともに前記クライアントに送信するように制御する読み出し制御工程と、 を含んだことを特徴とする。 Further, the present invention is used in a storage system in which a cache device and a disk device are dispersedly arranged on a network, receives an access request from a client, and executes a process according to the access request to the cache device and the disk device. A storage control method for causing a predetermined number of cache devices among the cache devices arranged in the network to store data requested by the client to write. A write control step of controlling to multiplex and write to the cache device; and if the client does not have any of the cache devices located on the network, the data requested to be read is not provided. Reading the data from the disk device, storing the read data only in a certain cache device, and transmitting the read data to the client.
かかる発明によれば、 クライアントが書き込みを要求したデータをネットヮー クに配置されたキヤッシュ装置のうちの所定の数のキヤッシュ装置に多重化して 書き込むように制御し、 クライアントが読み出しを要求したデータをネットヮー クに酉 S置されたキヤッシュ装置のうちのいずれのキヤッシュ装置も有しない場合 に、 ディスク装置からデータを読み出し、 読み出したデータをあるキャッシュ装 置だけに記憶させるとともにクライアントに送信するように制御することとした ので、 キャッシュメモリを効率よく使用するとともに、 いずれかのキャッシュ装 置の故障に起因するストレージシステム全体の稼動停止を防ぎ、 信頼性の高いス トレージシステムを構築することができる。 図面の簡単な説明 According to this invention, it is controlled that the data requested by the client to be written is multiplexed and written into a predetermined number of cache devices among the cache devices arranged on the network, and the data requested by the client to be read is controlled by the network. If there is no cache device among the cache devices placed in the cache, control is performed so that the data is read from the disk device, the read data is stored only in a certain cache device, and transmitted to the client. As a result, it is possible to efficiently use the cache memory, prevent the operation of the entire storage system from being stopped due to a failure of any of the cache devices, and build a highly reliable storage system. BRIEF DESCRIPTION OF THE FIGURES
第 1図は、 本実施の形態 1に係るストレージシステムのシステム構成を示すブ ロック図であり、 第 2図は、 第 1図に示したストレージ制御装置の構成を示す機 能ブロック図であり、 第 3図は、 位置情報テーブルの一例を示す図であり、 第 4 図は、 第 1図に示したキヤッシュ制御装置の構成を示す機能プロック図であり、 第 5図は、 ストレージ制御装置が送信するメッセージの一例を示す図であり、 第 6図は、 キヤッシュ制御装置が送信するメッセージの一例を示す図であり、 第 7 図は、 実ディスク制御装置が送信するメッセージの一例を示す図であり、 第 8図 は、 第 2図に示したデータ書き込み処理部の処理手順を示すフローチャートであ り、 第 9図は、 クライアントがストレージシステムへのデータ書き込み完了を判 定する手法を説明するための説明図であり、 第 1 0図は、 本実施の形態 1に係る
キャッシュメモリへのデータ書き込み処理手順を示すフローチャートであり、 第FIG. 1 is a block diagram showing the system configuration of the storage system according to the first embodiment, and FIG. 2 is a functional block diagram showing the configuration of the storage control device shown in FIG. FIG. 3 is a diagram showing an example of a position information table, FIG. 4 is a functional block diagram showing a configuration of the cache control device shown in FIG. 1, and FIG. FIG. 6 is a diagram showing an example of a message transmitted by the cache control device, and FIG. 7 is a diagram showing an example of a message transmitted by the real disk control device. FIG. 8 is a flowchart showing a processing procedure of the data write processing unit shown in FIG. 2, and FIG. 9 is a flowchart showing a method in which the client determines that the data write to the storage system is completed. Is an explanatory diagram for light, the first 0 illustration according to the first embodiment FIG. 9 is a flowchart illustrating a procedure of processing for writing data to the cache memory;
1 1図は、 第 2図に示したデータ読み出し処理部の処理手順を示すフローチヤ一 トであり、 第 1 2図は、 第 2図に示した F e t c h処理部の処理手順を示すフロ 一チャートであり、 第 1 3図は、 第 2図に示した F 1 u s h処理部の処理手順を 示すフローチャートであり、 第 1 4図は、 本実施の形態 2に係るストレージ制御 装置の二重化の概念を説明するための説明図であり、 第 1 5図は、 本実施の形態 2に係るストレージシステムのシステム構成を示すブロック図であり、 第 1 6図 は、 位置情報更新メッセージの一例を示す図であり、 第 1 7図は、 第 1 5図に示 した位置情報テーブル更新部の処理手順を示すフローチヤ一トであり、 第 1 8図 は、 本実施の形態 2に係るストレージ制御装置の二重化の変形例を説明するため の説明図であり、 第 1 9図は、 本実施の形態 3に係るストレージシステムのシス テム構成を示すブロック図であり、 第 2 0図は、 ストレージ制御プログラムおよ びキャッシュ制御プログラムを実行するコンピュータシステムの一例を示す図で ある。 発明を実施するための最良の形態 FIG. 11 is a flowchart showing a processing procedure of the data read processing unit shown in FIG. 2, and FIG. 12 is a flowchart showing a processing procedure of the Fetch processing unit shown in FIG. FIG. 13 is a flowchart showing the processing procedure of the F1ush processing unit shown in FIG. 2, and FIG. 14 is a diagram showing the concept of duplexing of the storage control device according to the second embodiment. FIG. 15 is a block diagram showing a system configuration of a storage system according to the second embodiment, and FIG. 16 is a diagram showing an example of a location information update message. Yes, FIG. 17 is a flowchart showing a processing procedure of the position information table updating unit shown in FIG. 15, and FIG. 18 is a flow chart showing the storage control apparatus according to the second embodiment. FIG. 19 is an explanatory diagram for explaining a modification, and FIG. Is a block diagram showing the system configuration of a storage system according to the third embodiment, the second 0 is a diagram showing an example of a computer system that executes a storage control program and a cache control program. BEST MODE FOR CARRYING OUT THE INVENTION
以下、 添付図面を参照して、 この発明に係るス トレージ制御装置、 ス トレージ 制御プログラムおよびストレージ制御方法の好適な実施の形態を詳細に説明する 実施の形態 1 . ' Hereinafter, preferred embodiments of a storage control device, a storage control program, and a storage control method according to the present invention will be described in detail with reference to the accompanying drawings.
まず、 本実施の形態 1に係るストレージシステムのシステム構成について説明 する。 第 1図は、 本実施の形態 1に係るストレージシステムのシステム構成を示 すブロック図である。 同図に示すように、 このス トレージシステムは、 ストレー ジ制御装置 1 1 0、 実ディスク制御装置 1 2 0、 二重ィヒされたキャッシュ制御装 置 1 3 0および 1 4 0がネットワーク 4 0上に分散配置されて構成され、 ネット ワーク 4 0を介してクライアント 1 0〜3 0から利用される。 なお、 ここでは説 明の便宜上、 3台のクライアント 1 0〜 3 0のみを示したが、 このストレージシ
ステムは、 ネットワーク 4 0を介して任意の台数のクライアントから利用される 。 また、 ここでは、 クライアント 1 0がこのストレージシステムを利用する場合 について説明するが、 他のクライアント 2 0および 3 0も同様にこのストレージ システムを利用することができる。 First, the system configuration of the storage system according to the first embodiment will be described. FIG. 1 is a block diagram showing a system configuration of the storage system according to the first embodiment. As shown in the figure, this storage system has a storage controller 110, a real disk controller 120, and a cache controller 130 and 140 that are duplicated. It is distributed and arranged above, and is used from clients 10 to 30 via network 40. For the sake of explanation, only three clients 10 to 30 are shown here, but this storage system The system is used by an arbitrary number of clients via the network 40. Although the case where the client 10 uses this storage system is described here, other clients 20 and 30 can also use this storage system.
ス トレージ制御装置 1 1 0は、 ネットワーク 4 0を介してクライアント 1 0力 らのアクセス要求を受け付け、 実ディスク制御装置 1 2 0、 キャッシュ制御装置 1 3 0および 1 4 0に、 アクセス要求に応じた処理を実行させる装置である。 ま た、 このストレージ制御装置 1 1 0は、 キヤッシュ制御装置 1 3 0および 1 4 0 が有するキャッシュメモリに記憶されるデータを管理する。 The storage controller 110 receives an access request from the client 10 via the network 40, and sends the request to the real disk controller 120, the cache controllers 130 and 140 in response to the access request. Is a device for executing the processing. The storage control device 110 manages data stored in the cache memories of the cache control devices 130 and 140.
実ディスク制御装置 1 2 0は、 大容量記憶媒体としてのディスク 1 2 1を有し 、 ストレージ制御装置 1 1 0の指示に基づいてディスク 1 2 1からのデータの読 み出しおよびディスク 1 2 1へのデータの書き込みをおこなう装置である。 なお 、 ここでは説明の便宜上、 1台の実ディスク制御装置 1 2 0のみを示したが、 こ のストレージシステムでは、 格納するデータの規模に応じて、 複数の実ディスク 制御装置をネットワーク 4 0上に配置することができる。 また、 1台の実デイス ク制御装置には、 複数台のディスクを接続することができる。 The real disk controller 120 has a disk 121 as a large-capacity storage medium, and reads data from the disk 121 and reads the data from the disk 121 based on the instruction of the storage controller 110. Is a device that writes data to the Here, for convenience of explanation, only one real disk controller 120 is shown, but in this storage system, a plurality of real disk controllers are connected to the network 40 according to the size of data to be stored. Can be arranged. Also, multiple disks can be connected to one real disk controller.
キャッシュ制御装置 1 3 0および 1 4 0は、 高速アクセス記録媒体としてのキ ャッシュメモリを有し、 ストレージ制御装置 1 1 0の指示に基づいてキャッシュ メモリカゝらのデータの読み出しおよびキヤッシュメモリへのデータの書き込みを おこなう装置である。 The cache controllers 130 and 140 have a cache memory as a high-speed access recording medium, and read data from the cache memory card and transfer data to the cache memory based on an instruction from the storage controller 110. This is a device that performs writing.
このように、 このストレージシステムでは、 キャッシュ制御装置を二重化し、 同一のデータをキャッシュ制御装置 1 3 0および 1 4 0が有するキャッシュメモ リに記憶することとしている。 ただし、 全てのデータを二重化するのではなく、 ディスク 1 2 1に格納されたデータとキャッシュメモリに記憶されたデータが一 致する場合、 すなわちデータ力 Coherentな状態にある場合には、 そのデータはい ずれかのキャッシュメモリのみに記憶され、 ディスク 1 2 1に格納されたデータ とキャッシュメモリに記憶されたデータが異なる場合、 すなわちデータが dirty
な状態にある場合には、 そのデータは両方のキヤッシュメモリに記憶される。 たとえば、 第 1図において、 データ Mは、 ディスク 1 2 1上のデータ M' が書 き換えられたデータであり、 dirtyな状態にあるので、 キャッシュ制御装置 1 3 0およびキャッシュ制御装置 1 4 0が有する二つのキャッシュメモリに記憶され ている。 また、 データ Nは、 同一データがディスク 1 2 1上に存在するので、 キ ャッシュ制御装置 1 3 0が有するキャッシュメモリのみに記憶されている。 このように、 このストレージシステムでは、 キヤッシュ制御装置を二重化し、 同一のデータを二つのキヤッシュメモリに記憶することとしたので、 キヤッシュ 制御装置 1 3 0または 1 4 0のいずれかが故障した場合にも、 他のキャッシュ制 御装置を用いてストレージシステムを稼動させることができ、 信頼性の高いスト レージシステムを実現することができる。 また、 このストレージシステムでは、 ディスク 1 2 1とキヤシュメモリに記憶されたデータが同一である場合には、 片 方のキヤッシュメモリのみにデータを記憶することとしたので、 キャッシュメモ リを有効に使うことができ、 キャッシュヒット率を向上させることができる。 次に、 第 1図に示したストレージ制御装置 1 1 0の構成について説明する。 第 2図は、 第 1図に示したストレージ制御装置 1 1 0の構成を示す機能ブロック図 である。 同図に示すように、 このストレージ制御装置 1 1 0は、 位置情報テープ ル 1 1 1と、 制御部 1 1 2と、 ネットワークインタフェース部 1 1 3と、 データ 読み出し処理部 1 1 4と、 データ書き込み処理部 1 1 5と、 F e t e h処理部 1 1 6と、 F 1 u s h処理部 1 1 7とを有する。 As described above, in this storage system, the cache control device is duplicated, and the same data is stored in the cache memory of the cache control devices 130 and 140. However, if not all data is duplicated but the data stored on the disk 121 matches the data stored in the cache memory, that is, if the data is in a coherent state, the data is If the data stored in only one of the cache memories is different from the data stored in disk 1 and the data stored in the cache memory, that is, the data is dirty. If it is, the data is stored in both cache memories. For example, in FIG. 1, data M is data in which data M ′ on disk 121 has been rewritten, and is in a dirty state. Are stored in two cache memories. Further, since the same data exists on the disk 121, the data N is stored only in the cache memory of the cache control device 130. As described above, in this storage system, the cache control device is duplicated and the same data is stored in the two cache memories, so that if either the cache control device 130 or 140 fails, However, the storage system can be operated using another cache control device, and a highly reliable storage system can be realized. Also, in this storage system, when the data stored in the disk 121 and the cache memory are the same, the data is stored only in one of the cache memories, so that the cache memory is used effectively. And the cache hit rate can be improved. Next, the configuration of the storage control device 110 shown in FIG. 1 will be described. FIG. 2 is a functional block diagram showing a configuration of the storage control device 110 shown in FIG. As shown in the figure, the storage control device 110 includes a position information table 111, a control unit 112, a network interface unit 113, a data read processing unit 114, and a data read processing unit 114. It has a write processing section 115, a Feteh processing section 116, and a F1ush processing section 117.
位置情報テーブル 1 1 1は、 クライアント 1 0がストレ一ジシステムにァクセ スを要求するデータについて、 クライアント 1 0が指定する論理位置と、 実際に データが格納されたディスク 1 2 1の物理位置おょぴキャッシュメモリの物理位 置と、 そのデータの状態 (すなわちデータが coherentである力 dirtyであるかの 区別) とを対応させて記憶した表である。 The location information table 1111 shows the logical location specified by the client 10 and the physical location of the disk 12 1 where the data is actually stored for the data that the client 10 requests the storage system to access. This is a table in which the physical location of the cache memory is associated with the state of the data (that is, whether the data is coherent or dirty).
第 3図は、 位置情報テーブル 1 1 1の一例を示す図である。 同図は、 論理位置 が装置番号 0番のストレージの 0〜 7であるデータは、 装置番号 0番のディスク
1 2 1の 0〜 7および装置番号 0番のキャッシュ制御装置 1 3 0が有するキヤッ シュメモリの 0〜 7に記憶され、 coherentな状態にあることを示している。 また 、 論理位置が装置番号 1番のストレージの 8〜1 5であるデータは、 装置番号 0 番のディスク 1 2 1の 8〜 1 5、 装置番号 0番のキャッシュ制御装置 1 3 0が有 するキャッシュメモリの 8〜 1 5および装置番号 1番のキヤッシュ制御装置 1 4 0が有するキャッシュメモリの 0〜 7に記憶され、 dirtyな状態にあることを示 している。 FIG. 3 is a diagram showing an example of the position information table 111. In the figure, the data whose logical location is 0 to 7 of the storage with the device number 0 is the disk with the device number 0. It is stored in the cache memory 0 to 7 of the cache control device 130 of the cache control device 130 of the device number 0 and 0 to 7 of 121, indicating that it is in a coherent state. Also, the data whose logical position is 8 to 15 of the storage of the device number 1 is stored in 8 to 15 of the disk 121 of the device number 0 and the cache control device 130 of the device number 0. The cache memories 8 to 15 and the cache control device 140 having the device number 1 are stored in the cache memories 0 to 7 of the cache memory 140, indicating that the cache control device is in a dirty state.
このように、 この位置情報テーブル 1 1 1が 2台のキヤッシュ制御装置 1 3 0 および 1 4 0が有するキャッシュメモリに記憶されているデータの物理位置をそ のデータの論理位置と対応させて記憶することにより、 ストレージ制御装置 1 1 0がキャッシュ制御装置の二重化に対応した処理をおこなうことができる。 制御部 1 1 2は、 ストレージ制御装置 1 1 0全体を制御する処理部であり、 ま た、 ネットワークインタフェース部 1 1 3は、 所定の通信プロトコルを用いてク ライアント 1 0、 実ディスク制御装置 1 2 0、 キャッシュ制御装置 1 3 0および 1 4 0と通信をおこなう処理部である。 As described above, the position information table 111 stores the physical position of the data stored in the cache memories of the two cache control devices 130 and 140 in association with the logical position of the data. By doing so, the storage control device 110 can perform processing corresponding to the duplication of the cache control device. The control unit 112 is a processing unit that controls the entire storage control device 110, and the network interface unit 113 is a client using a predetermined communication protocol, and the real disk control device 1 20, a processing unit that communicates with the cache control devices 130 and 140.
データ読み出し処理部 1 1 4は、 クライアント 1 0からのデータ読み出し要求 に応答してストレージシステムからデータの読み出しをおこなう処理部であり、 位置情報テーブル 1 1 1を用いてデータの論理位置から物理位置を求め、 データ がキャッシュメモリに記憶されている場合には、 デ一タを記憶しこキヤシュメモ リを有するキヤッシュ制御装置に対してクライアント 1 0へのデータ転送を指示 する。 一方、 データがキャッシュメモリに記憶されていない場合には、 F e t e h処理部 1 1 6に実ディスク制御装置 1 2 0からキャッシュ制御装置へのデータ 転送を依頼する。 そして、 実ディスク制御装置 1 2 0からキャッシュ制御装置に データが転送された後、 データが転送されたキヤッシュ制御装置に対してクライ アント 1 0へのデータ転送を指示する。 The data read processing unit 114 is a processing unit that reads data from the storage system in response to a data read request from the client 110. The data read processing unit 114 uses the position information table 111 to change the data logical position to the physical position. If the data is stored in the cache memory, the data is stored and the cache controller having the cache memory is instructed to transfer the data to the client 10. On the other hand, if the data is not stored in the cache memory, a request is made to the Feteh processing unit 116 to transfer the data from the real disk controller 120 to the cache controller. Then, after the data is transferred from the real disk control device 120 to the cache control device, the cache control device to which the data was transferred is instructed to transfer the data to the client 10.
データ書き込み処理部 1 1 5は、 クライアント 1 0からのデータ書き込み要求 に応答してストレージシステムへのデータの書き込みをおこなう処理部であり、
„ The data write processing unit 115 is a processing unit that writes data to the storage system in response to a data write request from the client 10. „
PCT/JP2002/009670 PCT / JP2002 / 009670
位置情報テープノレ 1 1 1に基づいて必ず両方のキャッシュ制御装置 1 3 0および 1 4 0に対してキャッシュメモリへのデータの書き込みを指示する。 すなわち、 位置情報テーブル 1 1 1にキャッシュメモリでのデータの記憶位置が登録されて いる場合には、 その記憶位置にデータの書き込みを指示し、 位置情報テーブル 1 1 1にキヤッシュメモリでのデータの記憶位置が登録されていない場合には、 新 たにキャッシュメモリを割り当て、 割り当てたキャッシュメモリの位置にデータ の書き込みを指示する。 Based on the position information tape information 111, both cache control devices 130 and 140 are always instructed to write data to the cache memory. In other words, if the storage location of data in the cache memory is registered in the location information table 111, an instruction to write data to that storage location is issued, and the location information table 111 stores the data in the cache memory. If the storage location is not registered, a new cache memory is allocated, and data writing is instructed to the allocated cache memory location.
このように、 このデータ書き込み処理部 1 1 5力 クライアント 1 0からのデ ータ書き込み要求に対して、 両方のキャッシュメモリに同じデータを書き込むこ ととしたので、 いずれかのキヤッシュ制御装置が故障した場合にも、 ストレージ システムの稼動停止を防ぐことができ、 ストレージシステムの信頼性を向上する ことができる。 As described above, in response to the data write request from the client 10, the same data is written to both cache memories, so that one of the cache control devices fails. In this case, it is possible to prevent the storage system from stopping operation, and to improve the reliability of the storage system.
F e t e h処理部 1 1 6は、 クライアント 1 0から読み出し要求のあったデー タがキャッシュメモリに記憶されていない場合に、 新たにデータを記憶させるキ ャッシュ制御装置を選択し、 実ディスク制御装置 1 2 0に対して、 選択したキヤ ッシュ制御装置へのデータの転送を指示する処理部である。 When the data requested to be read from the client 10 is not stored in the cache memory, the Feteh processing unit 1 16 selects a cache control device for newly storing data, and the real disk control device 1 A processing unit that instructs 20 to transfer data to the selected cache control device.
F 1 u s h処理部 1 1 7は、 キャッシュメモリに記憶されたデータのうち dirt yな状態にあるデータをディスク 1 2 1に書き込む処理部であり、 キャッシュメ モリにデータを書き込む際に、 空領域が不足した場合、 あるいは「キャッシュメ モリの使用領域が所定の割合を超えた場合に、 キャッシュメモリに空領域を作る ために使用される。 キャッシュメモリに空領域を作る場合に、 どのデータをキヤ ッシュ モリから削除するかの選択は、 L R U (Least Recently Used)などの手 法を用いて決定し、 キャッシュメモリから削除することが決定されたデータが di rtyな状態である場合に、 この F 1 u s h処理部 1 1 7が使用される。 The F 1 ush processing unit 1 17 is a processing unit that writes data that is in a dirty state among the data stored in the cache memory to the disk 1 21.When writing data to the cache memory, an empty area is used. Is used to create an empty area in the cache memory when the used area of the cache memory exceeds a predetermined ratio. The choice of whether to delete from the flash memory is determined using a method such as LRU (Least Recently Used). If the data to be deleted from the cache memory is in a dirty state, this F1 The ush processing unit 1 17 is used.
次に、 第 1図に示したキャッシュ制御装置 1 3 0および 1 4 0の構成について 説明する。 なお、 キヤシュ制御装置 1 3 0および 1 4 0は、 同一の構成を有する ので、 ここでは、 キャッシュ制御装置 1 3 0を例にとって説明する。 第4図は、
第 1図に示したキャッシュ制御装置 1 30の構成を示す機能ブロック図である。 同図に示すように、 このキャッシュ制御装置 1 30は、 キャッシュメモリ 1 3 1 と、 制御部 1 3 2と、 ネットワークインタフェース部 1 33と、 キャッシュ読み 出し処理部 1 34と、 キャッシュ書き込み処理部 1 35と、 F e t c h ii^lU 36と、 F 1 u s h対応部 1 3 7とを有する。 Next, the configuration of the cache control devices 130 and 140 shown in FIG. 1 will be described. Since the cache control devices 130 and 140 have the same configuration, the cache control device 130 will be described here as an example. Fig. 4 FIG. 2 is a functional block diagram showing a configuration of a cache control device 130 shown in FIG. As shown in the figure, the cache control device 130 includes a cache memory 131, a control unit 1332, a network interface unit 133, a cache read processing unit 134, and a cache write processing unit 1 35, F etch ii ^ lU 36, and F 1 ush corresponding part 1 37.
キャッシュメモリ 1 3 1は、 ストレージシステムへのアクセスを高速化するた めに、 ディスク 1 2 1に格納されたデータの一部およびディスク 1 2 1に格納さ れるデータを記憶した記憶部であり、 ディスク 1 2 1と比較して、 アクセス時間 が短く、 容量が小さいという特徴を有する。 このキャッシュメモリ 1 3 1に記憶 されるデータおよびその記憶位置は、 ストレージ制御装置 1 1 0が有する位置情 報テーブル 1 1 1に記憶される。 The cache memory 13 1 is a storage unit that stores a part of the data stored on the disk 12 1 and the data stored on the disk 12 1 in order to speed up access to the storage system. Compared to the disk 121, the access time is shorter and the capacity is smaller. The data stored in the cache memory 1311 and its storage position are stored in the position information table 1111 of the storage control device 110.
制御部 1 32は、 キャッシュ制御装置 1 30全体を制御する処理部であり、 ま た、 ネットワークインタフェース部 1 33は、 所定の通信プロトコルを用いてク ライアント 10、 ストレージ制御装置 1 1 0および実ディスク制御装置 120と 通信をおこなう処理部である。 The control unit 132 is a processing unit that controls the entire cache control device 130, and the network interface unit 133 is a client using a predetermined communication protocol, a storage control device 110, and a real disk. The processing unit communicates with the control device 120.
キヤッシュ読み出し処理部 1 34は、 ストレージ制御装置 1 10からのデータ 読み出し指示に基づいてキャッシュメモリ 1 3 1からデータを読み出し、 読み出 したデータをクライアント 1 0へ転送する処理部である。 The cache read processing unit 134 is a processing unit that reads data from the cache memory 131, based on a data read instruction from the storage control device 110, and transfers the read data to the client 10.
' キヤッシュ書き込み処理部 1 35は、 ストレージ制御装置 1 10からのデータ 書き込み指示に基づいてクライアント 10のバッファからデータを読み出し、 読 み出したデータをキャッシュメモリ 1 31に書き込む処理部である。 また、 この キャッシュ書き込み処理部 1 35は、 キャッシュメモリ 1 3 1へのデータの書き 込みが完了すると、 クライアント 1 0にデータ書き込み完了を通知する。 そして 、 この完了通知は、 キャッシュ制御装置の二重ィ匕に対応したものとなっており、 その詳細については後述する。 The cache write processing unit 135 is a processing unit that reads data from the buffer of the client 10 based on a data write instruction from the storage control device 110 and writes the read data to the cache memory 131. When the data writing to the cache memory 131 is completed, the cache write processing unit 135 notifies the client 10 of the completion of the data writing. The completion notification corresponds to the duplication of the cache control device, and details thereof will be described later.
F e t e h対応部 1 36は、 ストレージ制御装置 1 10の F e t c h処理部 1 1 6の指示に基づいて実ディスク制御装置 1 20がキヤッシュ制御装置 1 30に
転送するデータをキャッシュメモリ 1 3 1に書き込む処理部である。 The Feteh corresponding unit 136 changes the actual disk controller 120 to the cache controller 130 based on the instruction of the Fetch processing unit 116 of the storage controller 110. A processing unit that writes data to be transferred to the cache memory 13 1.
F 1 u s h対応部 1 3 7は、 ストレージ制御装置 1 1 0の F 1 u s h処理部 1 1 7の指示に基づいてキャッシュメモリ 1 3 1からデータを読み出し、 実デイス ク制御装置 1 2 0に転送する処理部である。 The F1 ush corresponding unit 13 7 reads data from the cache memory 13 1 based on the instruction of the F 1 ush processing unit 1 17 of the storage control device 110 and transfers it to the real disk control device 120. This is a processing unit.
次に、 ストレージ制御装置 1 1 0がキヤッシュ制御装置 1 3 0および 1 4 0な らびに実ディスク制御装置 1 2 0に対して処理を指示するために送信するメッセ —ジについて説明する。 第 5図は、 ストレージ制御装置 1 1 0が送信するメッセ ージの一例を示す図である。 同図 (a ) は、 ストレージ制御装置 1 1 0がキヤッ シュ制御装置 1 3 0および 1 4 0に送信するキャッシュメモリへのデータァクセ ス指示メッセージを示し、 同図 (b ) は、 ストレージ制御装置 1 1 0が実デイス ク制御装置 1 2 0に送信するデータ転送指示メッセージを示している。 Next, a message transmitted by the storage control device 110 to instruct the cache control devices 130 and 140 and the real disk control device 120 to perform processing will be described. FIG. 5 is a diagram showing an example of a message transmitted by the storage control device 110. FIG. 3A shows a data access instruction message to the cache memory transmitted from the storage control device 110 to the cache control devices 130 and 140, and FIG. Numeral 10 indicates a data transfer instruction message transmitted to the real disk controller 120.
同図 (a ) に示すように、 ストレージ制御装置 1 1 0がキャッシュ制御装置 1 3 0および 1 4 0に送信するキャッシュメモリへのデータアクセス指示メッセー ジ 5 1 0は、 内部ヘッダ 5 1 1と、 応答ヘッダ 5 1 2とデータ位置 5 1 3とを有 する。 As shown in (a) of the figure, the data access instruction message 5100 transmitted to the cache memory transmitted from the storage control device 110 to the cache control devices 130 and 140 is composed of an internal header 5111 and It has a response header 512 and a data position 513.
内部ヘッダ 5 1 1には、 キャッシュ制御装置 1 3 0および 1 4 0がデータ送受 信をおこなうクライアント 1 0または実ディスク制御装置 1 2 0のアドレスと、 キャッシュメモリからのデータ読み出し指示 ( 「読み出し」 ) である力、 キヤッ シュメモリへのデータ書き込み指示 ( 「書き込み」 ) であるかの |¾別を示すコマ ンド種別が含まれる。 The internal header 5 11 1 includes the address of the client 10 or the real disk control unit 120 that the cache control units 13 0 and 140 transmit and receive data, and the instruction to read data from the cache memory (“read”). )), And whether the command is a command to write data to the cache memory (“write”).
すなわち、 データアクセス指示メッセージ 5 1 0がキャッシュメモリへのデー タ書き込み指示である場合には、 ァドレスはデータ書き込み要求をおこなったク ライアント 1 0のアドレスであり、 コマンド種別は 「書き込み」 である。 また、 データアクセス指示メッセージ 5 1 0がキャッシュメモリからのデータ読み出し 指示である場合には、 アドレスはデータ読み出し要求をおこなったクライアント 1 0のアドレスであり、 コマンド種別は 「読み出し」 である。 その他、 データァ クセス指示メッセージ 5 1 0がキャッシュメモリからディスク 1 2 1へのデータ
転送指示である場合には、 ァドレスはデータ転送先の実ディスク制御装置 1 2 0 のアドレスであり、 コマンド種別は 「読み出し」 である。 That is, when the data access instruction message 5110 is an instruction to write data to the cache memory, the address is the address of the client 10 that has issued the data write request, and the command type is “write”. When the data access instruction message 5110 is an instruction to read data from the cache memory, the address is the address of the client 10 that has issued the data read request, and the command type is “read”. In addition, the data access instruction message 510 is the data from the cache memory to the disk 121. In the case of a transfer instruction, the address is the address of the real disk controller 120 of the data transfer destination, and the command type is "read".
応答ヘッダ 5 1 2は、 キヤッシュ制御装置 1 3 0および 1 4 0がストレージ制 御装置 1 1 0に指示された処理を実行した結果をクライアント 1 0またはストレ ージ制御装置 1 1 0へ伝えるためのヘッダフォーマットであり、 この応答ヘッダ 5 1 2には、 クライアント 1 0からの要求などを識別するコマンド I Dおよび実 行が成功したか失敗したかを示す実行結果が含まれる。 なお、 キャッシュメモリ へのデータ書き込みを指示するデータアクセス指示メッセージ 5 1 0の応答へッ ダ 5 1 2に含まれるデータについては後述する。 The response header 512 is used to convey the result of the execution of the processing instructed by the cache control devices 130 and 140 to the storage control device 110 to the client 10 or the storage control device 110. The response header 512 includes a command ID for identifying a request from the client 10 and the like, and an execution result indicating whether the execution was successful or failed. The data included in the response header 512 of the data access instruction message 510 for instructing data writing to the cache memory will be described later.
データ位置 5 1 3には、 データを記億するディスク 1 2 1ならびにキャッシュ メモリの物理位置が含まれる。 ただし、 データがキャッシュメモリに記憶されて いない場合には、 ディスク 1 2 1の物理位置だけが含まれる。 Data location 5 13 contains the physical location of the disk 1 2 1 that stores the data as well as the cache memory. However, if the data is not stored in cache memory, only the physical location of disk 121 is included.
また、 第 5図 (b ) に示すように、 ストレージ制御装置 1 1 0が実ディスク制 御装置 1 2 0に送信するデータ転送指示メッセージ 5 2 0も、 内部ヘッダ 5 2 1 と、 応答ヘッダ 5 2 2とデータ位置 5 2 3とを有する。 In addition, as shown in FIG. 5 (b), the data transfer instruction message 52 0 transmitted from the storage control device 110 to the real disk control device 120 also includes the internal header 5 21 and the response header 5 It has 2 2 and data location 5 2 3.
内部ヘッダ 5 2 1には、 データの転送先であるキャッシュ制御装置 1 3 0また は 1 4 0のアドレスと、 コマンド種別として 「読み出し」 が含まれる。 応答へッ ダ 5 2 2は、 実ディスク制御装置 1 2 0がデータ転送の結果 (成功または失敗) をストレージ制御装置 1 1 0に伝えるためのヘッダフォーマツト ある。 また、 データ位置 5 2 3には、 転送するデータを格納したディスク 1 2 1でのデータの 位置を指定する物理位置およぴデータの書き込み先であるキャッシュメモリでの データの記憶位置が含まれる。 The internal header 521 includes the address of the cache control device 130 or 140 to which the data is to be transferred, and “Read” as the command type. The response header 522 is a header format for the real disk controller 120 to notify the storage controller 110 of the result (success or failure) of the data transfer. The data position 5 2 3 includes a physical position specifying the data position on the disk 12 1 storing the data to be transferred and a data storage position in the cache memory to which the data is written. .
次に、 キヤッシュ制御装置 1 3 0および 1 4 0がストレージ制御装置 1 1 0力 らの指示に応答して、 クライアント 1 0、 ストレージ制御装置 1 1 0および実デ イスク制御装置 1 2 0に送信するメッセージについて説明する。 第 6図は、 キヤ ッシュ制御装置 1 3 0および 1 4 0が送信するメッセージの一例を示す図である 。 同図 (a ) は、 クライアント 1 0の要求に基づいてキャッシュメモリからのデ
ータの読み出し処理またはキヤッシュメモリへのデータの書き込み処理を実行し た結果をクライアント 1 0に送信する応答メッセージ 6 1 0を示し、 同図 (b ) は、 F 1 u s h処理に基づいてキャッシュメモリのデータを実ディスク制御装置 1 2 0に転送するデータ転送メッセージ 6 2 0を示し、 同図 (c ) は、 実デイス ク制御装置 1 2 0へのデータの転送が完了した場合に、 ストレージ制御装置 1 1 0に送信するデータ転送完了メッセージを示している。 Next, the cache control devices 130 and 140 transmit to the client 10, the storage control device 110 and the real disk control device 120 in response to the instruction from the storage control device 110. The message to be performed will be described. FIG. 6 is a diagram showing an example of a message transmitted by the cache control devices 130 and 140. FIG. 11A shows the data from the cache memory based on the request of the client 10. A response message 610 that sends the result of executing the data read process or the data write process to the cache memory to the client 10 is shown in FIG. A data transfer message 620 for transferring the data of the real disk controller 120 to the real disk controller 120 is shown in FIG. The data transfer completion message transmitted to the device 110 is shown.
同図 (a ) に示すように、 キャッシュ制御装置 1 3 0および 1 4 0がクライア ント 1 0に送信する応答メッセージ 6 1 0は、 応答ヘッダ 6 1 1と応答データ 6 1 2とを有する。 応答ヘッダ 6 1 1には、 クライアント 1 0からの要求を識別す るコマンド I Dおよび指示された処理の実行結果が含まれる。 また、 クライアン ト 1 0からの要求がデータの読み出しである場合には、 キャッシュメモリから読 み出されたデータが応答データ 6 1 2となる。 一方、 クライアントからの要求が データの書き込みである場合には、 応答データ 6 1 2はない。 As shown in (a) of the figure, the response message 610 sent by the cache controllers 130 and 140 to the client 10 has a response header 611 and response data 612. The response header 6 11 1 includes a command ID for identifying a request from the client 10 and an execution result of the specified processing. When the request from the client 10 is to read data, the data read from the cache memory becomes the response data 6 12. On the other hand, if the request from the client is a data write, there is no response data 6 12.
また、 同図 (b ) に示すように、 キャッシュ制御装置 1 3 0および 1 4 0が実 ディスク制御装置 1 2 0に送信するデータ転送メッセージ 6 2 0は、 応答ヘッダ 6 2 1と、 データ位置 6 2 2と、 応答データ 6 2 3とを有する。 応答ヘッダ 6 2 1には、 このデータ転送メッセージ 6 2 0が F 1 u s h処理に基づくデータ転送 であることを識別するためのコマンド I Dが含まれ、 データ位置 6 2 2には、 送 信するデータのディスク 1 2 1での書き込み位置を指定する物理位置が含まれ、 応答データ 6 2 3は、 キャッシュメモリから読み出され、 ディスク 1 2 1に格納 される F 1 u s hデータである。 Further, as shown in FIG. 13B, the data transfer message 62 0 transmitted by the cache controllers 130 and 140 to the physical disk controller 120 is composed of a response header 62 1 and a data position. 6 2 2 and response data 6 2 3. The response header 6 21 includes a command ID for identifying that this data transfer message 6 20 is a data transfer based on F 1 ush processing, and the data position 6 22 includes the data to be transmitted. Response data 6 23 is read from the cache memory and is F 1 ush data stored in the disk 12 1.
また、 同図 (c ) に示すように、 キャッシュ制御装置 1 3 0および 1 4 0がス トレージ制御装置 1 1 0に送信するデータ転送完了メッセージ 6 3 0は、 応答へ ッダ 6 3 1を有する。 この応答ヘッダ 6 3 1には、 この応答に対応するストレー ジ制御装置 1 1 0からの指示メッセージに含まれたコマンド I Dおよび指示され た処理の実行結果が含まれる。 Also, as shown in FIG. 3C, the data transfer completion message 630 sent by the cache controllers 130 and 140 to the storage controller 110 sends a response header 631 Have. The response header 631 includes the command ID included in the instruction message from the storage control device 110 corresponding to this response and the execution result of the instructed processing.
次に、 実ディスク制御装置 1 2 0がストレージ制御装置 1 1 0からの指示に応
TO Next, the physical disk controller 120 responds to the instruction from the storage controller 110. TO
PCT/JP2002/009670 PCT / JP2002 / 009670
14 答して、 キヤッシュ制御装置 1 3 0および 1 4 0ならびにストレージ制御装置 1 1 0に送信するメッセージについて説明する。 第 7図は、 実ディスク制御装置 1 2 0が送信するメッセージの一例を示す図である。 同図 (a ) は、 F e t c h処 理に基づいて実ディスク制御装置 1 2 0がディスク 1 2 1に格納されたデータを キヤッシュ制御装置 1 3 0または 1 4 0に転送するデータ転送メッセージ 7 1 0 を示し、 同図 (b ) は、 キャッシュ制御装置 1 3 0または 1 4 0へのデータの転 送が完了した場合に、 実ディスク制御装置 1 2 0がストレージ制御装置 1 1 0に 送信するデータ転送完了メッセージ 7 2 0を示している。 14 In response, a message transmitted to the cache control devices 130 and 140 and the storage control device 110 will be described. FIG. 7 is a diagram showing an example of a message transmitted by the real disk controller 120. The same figure (a) shows a data transfer message 7 1 that the real disk controller 120 transfers the data stored in the disk 12 1 to the cache controller 13 or 14 based on the Fetch processing. In the figure, (b) shows that when the data transfer to the cache control device 130 or 140 is completed, the real disk control device 120 transmits to the storage control device 110. The data transfer completion message 720 is shown.
同図 (a ) に示すように、 実ディスク制御装置 1 2 0がキャッシュ制御装置 1 3 0または 1 4 0に送信するデータ転送メッセージ 7 1 0は、 応答ヘッダ 7 1 1 と、 データ位置 7 1 2と、 応答データ 7 1 3とを有する。 応答ヘッダ 7 1 1には 、 このデータ転送メッセージ 7 1 0が F e t c h処理に基づくデータ転送である こと.を識別するためのコマンド I Dが含まれ、 データ位置 7 1 2には、 転送する データのキヤッシュメモリでの書き込み位置を指定する物理位置が含まれ、 応答 データ 7 1 3は、 ディスク 1 2 1から読み出され、 キャッシュメモリに書き込ま れる F e t e hデータである。 As shown in the figure (a), the data transfer message 710 transmitted from the real disk controller 120 to the cache controller 130 or 140 includes a response header 711 and a data position 711. 2 and response data 7 13. The response header 711 includes a command ID for identifying that this data transfer message 710 is a data transfer based on the Fetch processing.The data position 712 includes the data ID of the data to be transferred. The response data 7 13 contains physical locations that specify the write location in the cache memory, and the response data 7 13 is the Feteh data that is read from the disk 121 and written to the cache memory.
また、 同図 (b ) に示すように、 ストレージ制御装置 1 1 0に送信するデータ 転送完了メッセージ 7 2 0は、 応答ヘッダ 7 2 1を有する。 この応答ヘッダ 7 2 1には、 この応答に対応するストレージ制御装置 1 1 0からの指杀メッセージに 含まれたコマンド I Dおよび指示された処理の実行結果が含まれる。 Also, as shown in FIG. 2B, the data transfer completion message 720 transmitted to the storage control device 110 has a response header 721. The response header 721 includes the command ID included in the instruction message from the storage control device 110 corresponding to the response and the execution result of the instructed process.
次に、 第 2図に示したストレージ制御装置 1 1 0のデータ書き込み処理部 1 1 5の処理について説明する。 第 8図は、 第 2図に示したストレージ制御装置 1 1 0のデータ書き込み処理部 1 1 5の処理手順を示すフローチャートである。 Next, the process of the data write processing unit 115 of the storage control device 110 shown in FIG. 2 will be described. FIG. 8 is a flowchart showing a processing procedure of the data write processing unit 115 of the storage control device 110 shown in FIG.
同図に示すように、 このデータ鼙き込み処理部 1 1 5は、 クライアント 1 0が 指定した書き込みデータの論理位置を用いて位置情報テーブル 1 1 1を検索し ( ステップ S 8 0 1 ) 、 キャッシュメモリにデータが有りその状態が dirtyである 力 キャッシュメモリにデータが有りその状態が coherentであるか、 またはキヤ
ッシュメモリにデータがないかを調べる (ステップ S 8 0 2 ) 。 As shown in the figure, the data write processing unit 115 searches the position information table 111 using the logical position of the write data designated by the client 10 (step S8001), The data is in the cache memory and the state is dirty. Power is in the cache memory and the state is coherent or Check whether there is data in the flash memory (step S802).
そして、 両方のキャッシュメモリにデータが有り、 そのデータの状態が dirty である場合には、 両方のキャッシュ制御装置 1 3 0および 1 4 0に対して、 コマ ンド種別を 「書き込み」 としてデータアクセス指示メッセージ 5 1 0を送信し、 クライアント 1 0の指定するデータをキャッシュメモリへ書き込む指示をおこな う (ステップ S 8 0 3 ) 。 When data is present in both cache memories and the state of the data is dirty, the command type is set to “write” for both cache controllers 130 and 140 and the data access is instructed. A message 510 is transmitted to instruct the client 10 to write the data specified by the client 10 to the cache memory (step S803).
また、 キャッシュメモリのいずれかにデータが有り、 そのデータの状態が cohe rentである場合には、 データのないキャッシュメモリにデータを記憶するための 領域を確保し、 両方のキャッシュ制御装置 1 3 0および 1 4 0に対して、 コマン ド種別を 「書き込み」 としてデータアクセス指示メッセージ 5 1 0を送信する ( ステップ S 8 0 6 ) 。 そして、 新たに確保したキャッシュメモリの領域について 位置情報テーブル 1 1 1を更新する (ステップ S 8 0 7 ) 。 When data is present in any of the cache memories and the state of the data is coherent, an area for storing data in a cache memory having no data is secured, and both cache control devices 1 3 0 Then, a data access instruction message 510 is transmitted with the command type set to “write” to the request and the command 140 (step S806). Then, the position information table 111 is updated for the newly secured area of the cache memory (step S807).
また、 両方のキャッシュメモリにデータがない場合には、 両方のキャッシュメ モリにデータを記憶するための領域を確保し (ステップ S 8 0 5 ) 、 両方のキヤ ッシュ制御装置 1 3 0および 1 4 0に対して、 コマンド種別を 「書き込み」 とし てデータアクセス指示メッセージ 5 1 0を送信する (ステップ S 8 0 6 ) 。 そし て、 新たに確保したキヤッシュメモリの領域について位置情報テーブル 1 1 1を 更新する (ステップ S 8 0 7 ) 。 If there is no data in both cache memories, an area for storing data is secured in both cache memories (step S805), and both cache control devices 130 and 14 are reserved. For 0, the data access instruction message 510 is transmitted with the command type set to "write" (step S806). Then, the position information table 111 is updated for the newly secured cache memory area (step S807).
このように、 このデータ書き込み処理部 1 1 5力 クライアント 1 0が書き込 みを要求したデータを常に両方のキャッシュメモリに書き込むこととしたので、 いずれかのキヤッシュ制御装置が故障した場合にも、 データの消失を防ぐことが できる。 As described above, since the data write processing unit 1 15 forces the client 10 to always write the data requested to be written to both cache memories, even if one of the cache control devices fails, Data loss can be prevented.
次に、 クライアント 1 0がストレージシステムへのデータ書き込み完了を判定 する手法について説明する。 このストレージシステムでは、 2台のキャッシュ制 御装置 1 3 0および 1 4 0を使用しており、 データの書き込みは、 2台のキヤッ シュ制御装置 1 3 0および 1 4 0が有するキャッシュメモリに対しておこなう必 要がある。 したがって、 データの書き込み完了は、 両方のキャッシュ制御装置 1
3 0および 1 4 0がキャッシュメモリへのデータの書き込みを完了した時点とな る。 第 9図は、 クライアント 1 0がストレージシステムへのデータ書き込み完了 を判定する手法を説明するための説明図である。 Next, a method by which the client 10 determines completion of data writing to the storage system will be described. In this storage system, two cache controllers 130 and 140 are used, and data is written to the cache memories of the two cache controllers 130 and 140. Need to be done. Therefore, writing of data is completed for both cache controllers 1 The points 30 and 140 are the points at which data writing to the cache memory is completed. FIG. 9 is an explanatory diagram for explaining a method in which the client 10 determines completion of data writing to the storage system.
同図に示すように、 ストレージ制御装置 1 1 0は、 クライアント 1 0からのデ ータ書き込み要求 (コマンド I Dを 「コマンド 1」 とする) を受け付けると、 両 方のキャッシュ制御装置 1 3 0および 1 4 0に対して、 データアクセス指示メッ セージ 5 1 0を送信する。 なお、 このデータアクセス指示メッセージ 5 1 0では 、 内部ヘッダ 5 1 1にデータ書き込み要求元であるクライアント 1 0のアドレス およびコマンド種別である 「書き込み」 が含まれ、 応答ヘッダ 5 1 2に 「コマン ド 1」 への応答は 2個であることを指定するデータ (応答 1 : 2個) が含まれ、 データ位置 5 1 3にキャッシュメモリでのデータ書き込み位置であるデータ位置 Pおよびデータ位置 Qが含まれる。 As shown in the figure, when the storage control device 110 receives a data write request (command ID is set to “command 1”) from the client 10, both the cache control devices 130 and A data access instruction message 510 is transmitted to 140. In the data access instruction message 510, the internal header 511 includes the address of the client 10 as the data write request source and “write” as the command type, and the response header 512 includes the “command”. The response to "1" includes data specifying that there are two (response 1: two), and data positions 5 13 include data position P and data position Q, which are data write positions in the cache memory. It is.
データ書き込みメッセージ 5 1 0を受信したキャッシュ制御装置 1 3 0および 1 4 0は、 クライアント 1 0のバッファからデータを読み出し、 キャッシュ制御 装置 1 3 0はキヤッシュメモリのデータ位置 Pに、 キヤッシュ制御装置 1 4 0は キャッシュメモリのデータ位置 Qにそれぞれデータを書き込む。 そして、 データ の書き込みが完了すると、 応答ヘッダ 5 1 2をもとにして作成した応答メッセ一 ジ 6 1 0をクライアント 1 0へ送信する。 この応答メッセージ 6 1 0には、 「コ マンド 1」 への応答は 2個であることを指定するデータ (応答 1 ; 2個) が含ま れる。 ' The cache controllers 13 0 and 14 0 having received the data write message 5 10 read data from the buffer of the client 10, and the cache controller 13 0 is located at the data position P of the cache memory, and the cache controller 1 40 writes data to the data position Q of the cache memory. When the data writing is completed, a response message 610 created based on the response header 512 is transmitted to the client 10. This response message 6100 includes data (response 1; two) specifying that there are two responses to “command 1”. '
キャッシュ制御装置 1 3 0または 1 4 0からの応答メッセージ 6 1 0を受信し たクライアント 1 0は、 「コマンド 1」 への応答は 2個であることを確認し、 他 のキャッシュ制御装置からの応答メッセージ 6 1 0を待ち、 他のキャッシュ制御 装置からの応答メッセージ 6 1 0を受信すると、 ストレージシステムへのデータ の書き込みが完了したと判定する。 The client 10 that has received the response message 610 from the cache controller 13 0 or 140 0 confirms that there are two responses to the “command 1”, and receives a response from another cache controller. Waiting for a response message 610, when receiving a response message 610 from another cache control device, it is determined that data writing to the storage system has been completed.
このように、 ストレージ制御装置 1 1 0が応答ヘッダ 5 1 2を用いて、 データ の書き込み要求に対する応答メッセージ 6 1 0が 2個であることを指定し、 クラ
- 0がキャッシュ制御装置からの応答メッセージ 6 1 0の数を数え、 応 答メッセージ 6 1 0を 2個受信した時点で始めてストレージシステムへのデータ の書き込みが完了したと判定することとしたので、 2台のキャッシュ制御装置 1 3 0および 1 4 0が有するキャッシュメモリに同一のデータが書き込まれること を保障することができる。 In this way, the storage control device 110 uses the response header 5 12 to specify that there are two response messages 6 10 to the data write request, and -0 counts the number of response messages 610 from the cache control unit, and it is determined that data writing to the storage system has been completed only when two response messages 610 are received. It is possible to guarantee that the same data is written to the cache memories of the two cache controllers 130 and 140.
次に、 本実施の形態 1に係るキャッシュメモリへのデータ書き込み手順につい て説明する。 第 1 0図は、 本実施の形態 1に係るキャッシュメモリへのデータ書 き込み手順を示すフローチャートである。 なお、 ここでは、 キャッシュ制御装置 1 3 0'がキャッシュ制御装置 1 4 0より先にキヤッシュメモリへのデータの書き 込みを完了するものとする。 Next, a procedure for writing data to the cache memory according to the first embodiment will be described. FIG. 10 is a flowchart showing a procedure for writing data to the cache memory according to the first embodiment. Here, it is assumed that the cache control device 130 'completes writing data to the cache memory before the cache control device 140'.
同図に示すように、 キヤッシュ制御装置 1 3 0は、 ストレージ制御装置 1 1 0 が送信したデータアクセス指示メッセージ 5 1 0を受信すると (ステップ S 1 0 0 1 ) 、 クライアント 1 0のバッファからデータを読み込み (ステップ S 1 0 0 2 ) 、 読み込んだデータをキャッシュメモリに書き込む。 キャッシュメモリでの データの書き込み位置は、 データアクセス指示メッセージ 5 1 0が有するデータ 位置 5 1 3で指定される。 そして、 キャッシュメモリへのデータの書き込みが完 了すると、 応答メッセージ 6 1 0をクライアント 1 0に送信する (ステップ S 1 0 0 3 ) 。 As shown in the figure, when the cache control device 130 receives the data access instruction message 5 10 transmitted by the storage control device 110 (step S 1001), the cache control device 130 reads data from the buffer of the client 10. Is read (step S1002), and the read data is written to the cache memory. The data write position in the cache memory is specified by the data position 5 13 included in the data access instruction message 5 10. Then, when the writing of the data to the cache memory is completed, a response message 610 is transmitted to the client 10 (step S1003).
—方、 他のキヤッシュ制御装置 1 4 0も同様に、 ストレージ制御装置 1 1 0力 S 送信したデータアクセス指示メッセージ 5 1 0を受信し (ステップ S 1 0 0 5 ) 、 クライアント 1 0のバッファからデータを読み込み (ステップ S 1 0 0 6 ) 、 読み込んだデータをキャッシュメモリに書き込む。 そして、 キャッシュメモリへ のデータの書き込みが完了すると、 応答メッセージ 6 1 0をクライアント 1 0に 送信する (ステップ S 1 0 0 7 ) 。 On the other hand, the other cache control device 140 also receives the data access instruction message 5 10 transmitted by the storage control device 110 (step S 1 0 5), and transmits the data access instruction message 510 from the buffer of the client 10. Data is read (step S1006), and the read data is written to the cache memory. When the data writing to the cache memory is completed, a response message 610 is transmitted to the client 10 (step S1007).
また、 クライアント 1 0は、 まず、 キヤッシュ制御装置 1 3 0が送信した応答 メッセージ 6 1 0を受信し (ステップ S 1 0 0 4 ) 、 応答ヘッダ 6 1 1を解読し て応答メッセージ 6 1 0を 2個受信する必要があることを認識し、 次の応答メッ
セージ 6 1 0を待つ。 そして、 キヤシュ制御装置 1 4 0からの応答メッセージ 6 1 0を受信すると (ステップ S 1 0 0 8 ) 、 両方のキャッシュ制御装置 1 3 0お よび 1 4 0でデータの書き込み処理が完了したと判定する。 First, the client 10 receives the response message 610 transmitted by the cache control device 130 (step S1004), decodes the response header 611, and transmits the response message 610. Recognizes that it is necessary to receive two Wait for Sage 6 1 0. When the response message 610 from the cache control device 140 is received (step S1008), it is determined that the data write processing has been completed by both the cache control devices 130 and 140. I do.
なお、 ここでは、 キャッシュ制御装置 1 3 0および 1 4 0がキャッシュメモリ へのデータの書き込みを完了すると、 クライアント 1 0に応答メッセージ 6 1 0 を送信することとしたが、 キヤッシュ制御装置 1 3 0および 1 4 0は、 キヤッシ ュメモリへの書き込みが完了した場合に、 クライアント 1 0のかわりにストレー ジ制御装置 1 1 0にデータの書き込み完了を通知することもできる。 この場合、 ストレージ制御装置 1 1 0は、 2台のキヤッシュ制御装置 1 3 0および 1 4 0に データ書き込み指示をおこなっているので、 指示をおこなったキャッシュ制御装 置 1 3 0および 1 4 0からのデータ書き込み完了通知を受け取った後に、 クライ アント 1 0に対してデータ書き込み完了を通知することができる。 Here, when the cache controllers 130 and 140 complete writing data to the cache memory, a response message 610 is transmitted to the client 10, but the cache controller 130 And 140 can also notify the storage controller 110 of data completion in place of the client 10 when the writing to the cache memory is completed. In this case, since the storage control device 110 issues a data write instruction to the two cache control devices 130 and 140, the storage control device 110 and the cache control devices 130 and 140 send the instruction. After receiving the data write completion notification, the client 10 can be notified of the data write completion.
次に、 第 2図に示したストレージ制御装置 1 1 0のデータ読み出し処理部 1 1 4の処理手順について説明する。 第 1 1図は、 第 2図に示したストレ一ジ制御装 置 1 1 0のデータ読み出し処理部 1 1 4の処理手順を示すフローチヤ一トである 同図に示すように、 このデータ読み出し処理部 1 1 4は、 位置情報テーブル 1 1 1を用いて、 クライアント 1 0が読み出しを要求したデータが 0番のキヤッシ ュ制御装置 1 3 0に有るか否かを調べる (ステップ S 1 1 0 1 ) 。—そして、 0番 のキャッシュ制御装置 1 3 0にデータが有る場合には、 0番のキャッシュ制御装 置 1 3 0に対して、 コマンド種別を 「読み出し」 としてデータアクセス指示メッ セージ 5 1 0を送信し (ステップ S 1 1 0 2 ) 、 キャッシュメモリに記憶された データのクライアント 1 0への送信を指示する。 Next, the processing procedure of the data read processing unit 114 of the storage control device 110 shown in FIG. 2 will be described. FIG. 11 is a flowchart showing the processing procedure of the data read processing unit 114 of the storage control device 110 shown in FIG. 2. As shown in FIG. The unit 114 uses the position information table 111 to check whether the data requested by the client 10 to be read is present in the 0th cache control device 130 (step S111). ). —If there is data in the 0th cache control device 130, the command type is set to “read” and the data access instruction message 510 is sent to the 0th cache control device 130. It transmits (step S1102) and instructs the client 10 to transmit the data stored in the cache memory.
—方、 クライアント 1 0が読み出しを要求したデータが 0番のキャッシュ制御 装置 1 3 0にない場合には、 そのデータが 1番のキヤッシュ制御装置 1 4 0に有 るか否かを調べる (ステップ S 1 1 0 3 ) 。 また、 0番のキャッシュ制御装置 1 3 0に、 クライアント 1 0が読み出しを要求した全てのデータがなかった場合に
も、 残りのデータが 1番のキャッシュ制御装置 140に有る力否かを調べる (ス テツプ S 1 103) 。 そして、 1番のキャッシュ制御装置 140に求めるデータ が有る場合には、 1番のキャッシュ制御装置 140に対して、 コマンド種別を 「 読み出し」 としてデータアクセス指示メッセージ 5 10を送信し (ステップ S 1 104) 、 キャッシュメモリに記憶されたデータのクライアント 10への送信を 指示する。 On the other hand, if the data requested by the client 10 to be read is not in the 0th cache control device 130, it is checked whether the data is in the 1st cache control device 140 (step). S1103). Also, if there is no data in the cache control device 130 of No. 0 that the client 10 has requested to read, Also, it checks whether or not the remaining data is in the first cache controller 140 (step S1103). If there is data to be requested from the first cache control device 140, a data access instruction message 510 is transmitted to the first cache control device 140 with the command type set to "read" (step S1104). ), And instructs the client 10 to transmit the data stored in the cache memory.
—方、 クライアント 10が読み出しを要求したデータが 1番のキャッシュ制御 装置 140にない場合には、 データがディスク 1 21に有る力否かを調べる (ス テツプ S 1 105) 。 また、 0番および 1番のキャッシュ制御装置 140に、 ク ライアント 10が読み出しを要求した全てのデータがない場合にも、 残りのデー タがディスク 1 21に有る力否かを調べる (ステップ S 1 1 05) 。 そして、 求 めるデータがディスク 1 2 1にある場合には、 F e t e h処理を用いてディスク 1 2 1からデータを読み出し、 キャッシュメモリに書き込む (ステップ S 1 1 0 6) 。 そして、 データを書き込んだキャッシュメモリを有するキャッシュ制御装 置に対して、 コマンド種別を 「読み出し」 としてデータアクセス指示メッセージ 5 1 0を送信し (ステップ S 1 1 07) 、 キャッシュメモリに記憶されたデータ のクライアント 10への送信を指示する。 On the other hand, if the data requested by the client 10 to be read is not in the first cache control device 140, it is checked whether the data is in the disk 121 or not (step S1105). Further, even if the cache control devices 140 of No. 0 and 1 do not have all the data requested to be read by the client 10, it checks whether the remaining data is in the disk 121 (step S1). 1 05). If the data to be obtained is in the disk 121, the data is read from the disk 121 using the Fet eh process and written to the cache memory (step S1106). Then, a data access instruction message 510 is sent to the cache control device having the cache memory in which the data has been written with the command type set to “read” (step S 1107), and the data stored in the cache memory is transmitted. To send to client 10.
このように、 この読み出し処理部 1 14は、 クライアント 10が読み出しを要 求したデータの記憶位置を、 位置情報テーブル 1 1 1を用いて調 、 そのデータ が 2台のキャッシュ制御装置 1 30および 140のいずれかに有る場合には、 そ のデータをクライアント 1 0に送信するように指示を出すことによって、 キヤッ シュの二重化に対応したデータ読み出しをおこなっている。 As described above, the read processing unit 114 adjusts the storage position of the data requested to be read by the client 10 using the position information table 111, and the data is stored in the two cache control devices 130 and 140. In either case, the data is sent to the client 10 by instructing the client 10 to transmit the data, thereby performing the data readout corresponding to the doubled cache.
次に、 第 2図に示したス トレージ制御装置 1 10の F e t c h処理部 1 1 6の 処理手順について説明する。 なお、 この F e t c h処理部 1 1 6の処理は、 第 1 1図に示した F e t c h処理 (ステップ S 1 106) に対応した処理となってい る。 第 1 2図は、 第 2図に示したストレージ制御装置 1 1 0の F e t c h処理部 1 1 6の処理手順を示すフローチャートである。
同図に示すように、 この F e t c h処理部 116は、 データを記憶するキヤッ シュメモリ領域を、 位置情報テーブル 11 1を用いて確保し (ステップ S 120 1) 、 データ転送指示メッセージ 520を用いて、 確保したキャッシュメモリ領 域を有するキヤッシュ制御装置へのデータ転送を実ディスク制御装置 1 20に対 して指示する (ステップ S 1202) 。 そして、 実ディスク制御装置 120から キャッシュ制御装置へのデータ転送の完了を待ち (ステップ S 1203) 、 実デ イスク制御装置 120からデータ転送完了メッセージ 720を受信すると (ステ ップ S 1 204 ) 、 新たに確保したキャッシュメモリ領域について位置情報テー ブル 11 1を更新する (ステップ S 1 205) 。 Next, the processing procedure of the Fetch processing unit 116 of the storage control device 110 shown in FIG. 2 will be described. The processing of the F etch processing section 116 corresponds to the F etch processing (step S1106) shown in FIG. FIG. 12 is a flowchart showing a processing procedure of the Fetch processing unit 116 of the storage control device 110 shown in FIG. As shown in the figure, the Fetch processing unit 116 secures a cache memory area for storing data by using the position information table 111 (step S1201), and by using the data transfer instruction message 520, The data transfer to the cache control device having the secured cache memory area is instructed to the real disk control device 120 (step S1202). Then, the process waits for the completion of the data transfer from the real disk controller 120 to the cache controller (step S1203). When the data transfer completion message 720 is received from the real disk controller 120 (step S1204), a new The position information table 111 is updated for the cache memory area secured in step S1205 (step S1205).
次に、 第2図に示したストレ一ジ制御装置 110の F 1 u s h処理部 1 17の 処理手順について説明する。 第 13図は、 第 2図に示したストレージ制御装置 1 10の F 1 u s h処理部 1 17の処理手順を示すフローチャートである。 Next, the processing procedure of the F1ush processing unit 117 of the storage control device 110 shown in FIG. 2 will be described. FIG. 13 is a flowchart showing a processing procedure of the F1ush processing unit 117 of the storage control device 110 shown in FIG.
同図に示すように、 この F 1 u s h処理部 117は、 ディスク 121に転送す るデータを記憶したキャッシュ制御装置に対して、 実ディスク制御装置 120へ のデータ転送を指示するメッセージを送信する。 すなわち、 内部ヘッダ 51 1の アドレスを実ディスク制御装置 120のアドレスとし、 コマンド種別を 「読み出 し」 として、 データアクセス指示メッセージ 510を送信し、 実ディスク制御装 置 1 20へのデータ転送を指示する (ステップ S 1301) 。 As shown in the drawing, the F1ush processing unit 117 transmits a message instructing data transfer to the real disk control device 120 to the cache control device storing the data to be transferred to the disk 121. That is, the address of the internal header 511 is set as the address of the real disk controller 120, the command type is set to “read”, the data access instruction message 510 is transmitted, and the data transfer to the real disk controller 120 is instructed. Yes (step S1301).
そして、 キャッシュ制御装置から実ディスク制御装置 120へめデータ転送の 完了を待ち (ステップ S 1302) 、 キャッシュ制御装置からデータ転送完了メ ッセージ 630を受信すると (ステップ S 1303) 、 転送したデータを記憶し ていたキヤッシュメモリ領域を開放し、 開放されたキヤッシュメモリ領域につい て位置情報テーブル 111を更新する (ステップ S 1304) 。 Then, it waits for the completion of data transfer from the cache control device to the real disk control device 120 (step S1302). When the data transfer completion message 630 is received from the cache control device (step S1303), the transferred data is stored. The cache memory area that has been released is released, and the position information table 111 is updated for the released cache memory area (step S1304).
上述したように、 本実施の形態 1では、 ストレージシステムに 2台のキヤッシ ュ制御装置 130および 140を設け、 両方のキヤッシュ制御装置 130および 140に同一のデ^ "タを記憶することとしたので、 いずれかのキヤッシュ制御装 置が故障した場合にも、 他のキャッシュ制御装置を用いてストレージシステムを
稼動することができ、 信頼性の高いストレージシステムを実現することができる また、 ディスク 1 2 1に格納されたデータとキャッシュ制御装置 1 3 0および 1 4 0に記憶されたデータが同一である (coherent) 場合には、 いずれかのキヤ ッシュ制御装置のキヤッシュメモリを開放し、 ディスク 1 2 1に記憶されたデ一 タとキャッシュ制御装置に記憶されたデータが異なる (dirty) 場合にだけ、 両 方のキヤッシュ制御装置 1 3 0および 1 4 0に同一データを記憶することとした ので、 キャッシュメモリを効率よく使用することができ、 キャッシュヒット率を 向上することができる。 As described above, in the first embodiment, two cache control devices 130 and 140 are provided in the storage system, and the same data is stored in both cache control devices 130 and 140. If one of the cache controllers fails, the storage system can be reconfigured using another cache controller. It is possible to operate, and a highly reliable storage system can be realized. Further, the data stored in the disk 121 and the data stored in the cache controllers 130 and 140 are the same ( coherent), the cache memory of one of the cache controllers is released, and only if the data stored in the disk 121 and the data stored in the cache controller are different (dirty), Since the same data is stored in the cache control devices 130 and 140, the cache memory can be used efficiently, and the cache hit rate can be improved.
実施の形態 2 . Embodiment 2
ところで、 上記実施の形態 1では、 キヤッシュ制御装置を二重化することによ つて、 ストレージシステムの信頼性を向上させる場合について説明したが、 キヤ ッシュ制御装置を二重化することに加えて、 ストレージ制御装置も二重化するこ とによって、 さらにストレージシステムの信頼 を向上させることができる。 そ こで、 本実施の形態 2では、 キャッシュ制御装置の二重化に加えて、 ストレージ 制御装置を二重化したストレージシステムについて説明する。 By the way, in the first embodiment, the case where the reliability of the storage system is improved by duplicating the cache control device has been described. However, in addition to the duplication of the cache control device, the storage control device is also required. The duplication can further improve the reliability of the storage system. Therefore, in the second embodiment, a description will be given of a storage system in which the storage control device is duplicated in addition to the cache control device being duplicated.
まず、 本実施の形態 2に係るストレージ制御装置の二重化の概念について説明 する。 第 1 4図は、 本実施の形態 2に係るストレージ制御装置の二重ィヒの概念に ついて説明するための説明図である。 同図に示すように、 このス レージシステ ムは、 メイン系ストレージ制御装置とバックアップ系ストレージ制御装置の 2台 のストレージ制御装置を有する。 First, the concept of duplication of the storage control device according to the second embodiment will be described. FIG. 14 is an explanatory diagram for explaining the concept of double storage in the storage control device according to the second embodiment. As shown in the figure, this storage system has two storage controllers, a main storage controller and a backup storage controller.
そして、 通常の運用では、 これらの 2台のストレージ制御装置のうちメイン系 ストレージ制御装置がストレージシステムのストレージ制御装置として機能する 。 ただし、 メイン系ストレージ制御装置おょぴバックァップ系ストレージ制御装 置の両方が位置情報テーブルを有し、 メイン系ス トレージ制御装置は、 位置情報 テーブルを更新するごとに、 その更新情報をバックアップストレージ制御装置に 送信する。 そして、 この更新情報を受信したバックアブ系ストレージ制御装置は
、 自分が有する位置情報テーブルを更新し、 位置情報テーブルを常に最新の状態 に保つこととしている。 In a normal operation, the main storage controller among these two storage controllers functions as a storage controller of the storage system. However, both the main storage controller and the backup storage controller have a location information table, and the main storage controller updates the location information table with the backup information every time the location information table is updated. Send to device. Then, the backup control storage device that has received this update information He updates his location information table and keeps it up to date.
このように、 本実施の形態 2に係るストレージシステムでは、 メイン系ストレ ージ制御装置が有する位置情報テーブルとバックアップ系ストレージ制御装置が 有する位置情報テープノレを常に同じ状態に保つことにより、 メイン系ストレージ 制御装置が故障した場合にも、 バックアップ系ストレージ制御装置を用いてスト レージシステムを稼動することができ、 信頼性の高いストレージシステムを実現 することができる。 As described above, in the storage system according to the second embodiment, by maintaining the position information table of the main storage control device and the position information tape of the backup storage control device always in the same state, Even if the control device fails, the storage system can be operated using the backup storage control device, and a highly reliable storage system can be realized.
次に、 本実施の形態 2に係るストレージシステムのシステム構成について説明 する。 第 1 5図は、 本実施の形態 2に係るストレージシステムのシステム構成を 示すブロック図である。 なお、 ここでは説明の便宜上、 第 1図に示した各部と同 様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を 省略する。 Next, a system configuration of the storage system according to the second embodiment will be described. FIG. 15 is a block diagram showing a system configuration of a storage system according to the second embodiment. Here, for convenience of explanation, the same reference numerals are given to the functional units having the same functions as the respective units shown in FIG. 1, and the detailed description is omitted.
同図に示すように、 このストレージシステムでは、 ネットワーク 4 0上にメイ ン系ストレージ制御装置 1 5 1 0と、 バックアツプ系ストレージ制御装置 1 5 2 0と、 実ディスク制御装置 1 2 0と、 2台のキヤッシュ制御装置 1 3 0および 1 4 0が分散配置される。 As shown in the figure, in this storage system, a main storage control device 15010, a backup storage control device 1502, and a real disk control device 120 Two cache controllers 130 and 140 are distributed.
メィン系ストレージ制御装置 1 5 1 0は、 通常の運用において、 ネットワーク 4 0を介してクライアント 1 0からのアクセス要求を受け付け、 卖ディスク制御 装置 1 2 0、 キヤシュ制御装置 1 3 0および 1 4 0に対して、 アクセス要求に応 じた処理を実行させる装置である。 このメイン系ストレージ制御装置 1 5 1 0は 、 位置情報テーブル 1 5 1 1と、 更新情報送信部 1 5 1 2とを有する。 In normal operation, the main storage controller 1510 accepts an access request from the client 10 via the network 40, and 卖 the disk controller 120, the cache controllers 130 and 140. This is a device that executes a process corresponding to an access request. The main storage controller 1510 has a position information table 1511 and an update information transmitting unit 1512.
位置情報テーブル 1 5 1 1は、 クライアント 1 0がストレージシステムにァク セスを要求するデータについて、 クライアント 1 0が指定する^ S位置と、 実際 にデータが格納されたディスク 1 2 1の物理位置およびキヤッシュメモリの物理 位置と、 そのデータの状態すなわちデータが coherentであるか dirtyであるかの 区別を対応させて記憶した表である。
更新情報送信部 1 5 1 2は、 位置情報テーブル 1 5 1 1が更新されるごとに、 更新情報をバックアップ系ス トレージ制御装置 1 5 2 0に送信する処理部である 。 位置情報テープノレ 1 5 1 1の更新は、 F 1 u s h処理によってキャッシュメモ リに記憶されたデータが不要になった場合、 F e t e h処理によって新たなキヤ ッシュメモリが割り当てられた場合およびデータ書き込み処理において新たなキ ャッシュメモリが割り当てられた場合などにおこなわれる。 The location information table 1511 1 shows the ^ S location specified by the client 10 and the physical location of the disk 1 2 1 where the data is actually stored for the data that the client 10 requests the storage system to access. And a table in which the physical position of the cache memory and the state of the data, that is, whether the data is coherent or dirty are stored in association with each other. The update information transmitting unit 1512 is a processing unit that transmits the update information to the backup storage control device 15020 every time the position information table 1511 is updated. The update of the position information tape cache 1511 is performed when the data stored in the cache memory becomes unnecessary by the F1ush processing, when a new cache memory is allocated by the Feteh processing, and when the data writing processing is performed. This is performed when a large cache memory is allocated.
バックアップ系ストレージ制御装置 1 5 2 0は、 メイン系ス トレージ制御装置 1 5 1 0が故障した場合に、 その処理を引き継いで実行する装置であり、 位置情 報テーブル 1 5 2 1と位置情報テーブル更新部 1 5 2 2とを有する。 The backup storage controller 1520 is a device that takes over and executes the processing when the main storage controller 1510 fails, and the position information table 1521 and the position information table. And an update unit 1522.
位置情報テープ/レ 1 5 2 1は、 メイン系ストレージ制御装置 1 5 1 0が有する 位置情報テーブル 1 5 1 1と同一のデータを記憶する表である。 この位置情報テ 一プル 1 5 2 1が位置情報テープノレ 1 5 1 1と同一のデータを記憶することによ り、 メイン系ストレージ制御装置 1 5 1 0が故障した場合に、 その処理をバック アップ系ストレージ制御装置 1 5 2 0が引き継いで実行することが可能となる。 位置情報テーブル更新部 1 5 2 2は、 メイン系ストレージ制御装置 1 5 1 0の 更新情報送信部 1 5 1 2が送信する位置情報テーブル 1 5 1 1 更新情報を受け 取り、 バックアップ系ストレージ制御装置 1 5 2 0の位置情報テーブル 1 5 2 1 を更新する処理部である。 この位置情報テーブル更新部 1 5 2 2が位置情報テー ブル 1 5 2 1を更新することによって、 位置情報テーブル 1 5 2 1を常に最新の 状態に保つことができ、 メイン系ストレージ制御装置 1 5 1 0が故障した場合に 、 その処理をバックアップ系ストレージ制御装置 1 5 2 0が引き継いで実行する ことを可能としている。 The position information tape / record 1521 is a table for storing the same data as the position information table 1511 of the main storage controller 1510. This location information template 1521 stores the same data as the location information tape 1515, so that if the main storage controller 1510 fails, its processing is backed up. It becomes possible for the system storage controller 1502 to take over and execute. The location information table update unit 1 5 2 2 receives the update information of the location information table 1 5 1 1 transmitted by the update information transmission unit 1 5 1 2 of the main storage control device 1 5 1 0, and the backup storage control device. This is a processing unit that updates the position information table 1521 of the 1520. The location information table updating unit 15 2 2 updates the location information table 15 21 so that the location information table 15 21 can be kept up to date at all times. In the event that 10 fails, the backup storage controller 1502 can take over and execute the processing.
次に、 メィン系ストレージ制御装置 1 5 1 0の更新情報送信部 1 5 1 2がバッ クァップ系ストレージ制御装置 1 5 2 0に更新情報として送信する位置情報更新 メッセージについて説明する。 第 1 6図は、 位置情報更新メッセージの一例を示 す図である。 同図に示すように、 この位置情報更新メッセ^"ジ 1 6 1 0は、 種類 1 6 1 1と、 論理位置情報 1 6 1 2と、 物理位置情報 1 6 1 3と、 状態 1 6 1 4
とを有する。 Next, a description will be given of a position information update message transmitted as update information from the update information transmitting unit 1512 of the main storage control device 1510 to the backup storage control device 1520. FIG. 16 is a diagram showing an example of a location information update message. As shown in the figure, the location information update message 16 "10 is composed of a type 1611, a logical location information 1612, a physical location information 1613, and a state 1611. Four And
種類 1 6 1 1は、 位置情報テーブルの更新の種別を示し、 キヤッシュメモリの 新規割当 (alloc)、 二重化されているキャッシュメモリの一部開放 (freel) ま たはキャッシュメモリの全部開放 (free) のいずれかである。 Type 1 6 1 1 indicates the type of update of the location information table. New allocation of cache memory (alloc), partial release of duplicated cache memory (freel), or release of all cache memory (free) Is one of
また、 論理位置情報 1 6 1 2、 物理位置情報 1 6 1 3および状態 1 6 1 4は、 位置情報テーブルの論理位置、 物理位置および状態にそれぞれ対応する情報であ る。 すなわち、 論理位置情報 1 6 1 2は、 クライアント 1 0がストレージシステ ムのアクセスに利用するデータ格納位置である論理位置に関する情報であり、 物 理位置情報 1 6 1 3は、 データを記憶するディスク 1 2 1およびキャッシュメモ リでのデータ記憶位置である物理位置に関する情報であり、 状態 1 6 1 4は、 デ イスク 1 2 1に格納されたデータとキャッシュメモリに記憶されたデータが同一 であるか否かを示す情報である。 The logical position information 1612, the physical position information 1613, and the state 1614 are information respectively corresponding to the logical position, the physical position, and the state of the position information table. That is, the logical location information 1612 is information relating to a logical location which is a data storage location used by the client 10 for accessing the storage system, and the physical location information 1613 is a disk for storing data. Information on the physical location, which is the data storage location in 1 2 1 and cache memory, and state 16 14 is the same as the data stored in disk 1 2 1 and the data stored in cache memory. It is information indicating whether or not.
次に、 第 1 5図に示したバックアップ系ストレージ制御装置 1 5 2 0の位置情 報テーブル更新部 1 5 2 2の処理手順について説明する。 第 1 7図は、 第 1 5図 に示したバックアップ系ス トレージ制御装置 1 5 2 0の位置情報テーブル更新部 1 5 2 2の処理手順を示すフローチャートである。 Next, the processing procedure of the positional information table update unit 1522 of the backup storage control device 15020 shown in FIG. 15 will be described. FIG. 17 is a flowchart showing a processing procedure of the position information table updating unit 152 2 of the backup storage control device 150 shown in FIG.
同図に示すように、 この位置情報テーブル更新部 1 5 2 2は、 メイン系ストレ ージ制御装置 1 5 1 0の更新情報送信部 1 5 1 2がバックアップ系ストレージ制 御装置 1 5 2 0に送信する位置情報更新メッセージ 1 6 1 0をネットワーク 4 0 を介して受け取る (ステップ S 1 7 0 1 ) 。 As shown in the figure, the location information table update unit 1522 is comprised of the update information transmission unit 1512 of the main storage control device 1510 and the backup storage control device 1520 of the main storage control device 1510. The location information update message 1610 to be transmitted to the server is received via the network 40 (step S1701).
そして、 この位置情報更新メッセージ 1 6 1 0が有する種類 1 6 1 1を調べ ( ステップ S 1 7 0 2 ) 、 種類 1 6 1 1力 S 「free」 である場合には、 開放されたキ ャッシュメモリの領域に対応する情報を位置情報テーブル 1 5 2 1から削除し ( ステップ S 1 7 0 3 ) 、 種類 1 6 1 1力 S 「freel」 である場合には、 一部開放さ れたキヤッシュメモリの領域に対応する位置情報テーブル 1 5 2 1の情報を更新 する (ステップ S 1 7 0 4 ) 。 また、 位置情報更新メッセージ 1 6 1 0の有する 種類 1 6 1 1力 S 「alloc」 である場合には、 新規に割り当てられたキャッシュメ
モリの領域に対応する情報が位置情報テーブル 1 5 2 1にあれば、 その情報を更 新し、 新規に割り当てられたキヤッシュメモリの領域に対応する情報が位置情報 テープノレ 1 5 2 1になければ、 新たな対応情報を作成し、 位置情報テーブル 1 5 2 1に追加する (ステップ S 1 7 0 5 ) 。 Then, the type 1611 included in the position information update message 1610 is checked (step S1702), and if the type 1611 power S is "free", the cache memory which has been released is determined. The information corresponding to the area is deleted from the position information table 1521 (step S1703), and if the type is "freel", the cache memory is partially released. The information of the position information table 1521 corresponding to the area is updated (step S1704). In addition, when the type of the location information update message 1610 is “S alloc”, the newly allocated cache If the information corresponding to the memory area is in the position information table 1521, the information is updated.If the information corresponding to the newly allocated cache memory area is not in the position information tape Then, new correspondence information is created and added to the position information table 1521 (step S1755).
上述したように、 本実施の形態 2では、 メィン系ストレージ制御装置 1 5 1 0 およびバックアップ系ストレージ制御装置 1 5 2 0を用いてストレージ制御装置 を二重化し、 両方のストレージ制御装置 1 5 1 0および 1 5 2 0に位置情報テー プル 1 5 1 1および 1 5 2 1を備え、 メイン系ストレージ制御装置 1 5 1 0の更 新情報送信部 1 5 1 2が位置情報テープノレ 1 5 1 1が更新されるごとに、 位置情 報更新メッセージ 1 6 1 0をバックァップ系ストレージ制御装置 1 5 2 0に送信 し、 バックァップ系ストレージ制御装置 1 5 2 0の位置情報テープノレ更新部 1 5 2 2が位置情報テーブル 1 5 2 1を直ちに更新することとしたので、 メィン系ス トレージ制御装置 1 5 1 0が故障した場合にも、 バックアップ系ストレージ制御 装置 1 5 2 0がその処理を引き継いでストレージシステムを稼動させることがで き、 信頼性の高いストレージシステムを実現することができる。 As described above, in the second embodiment, the storage control device is duplicated using the main storage control device 1510 and the backup storage control device 1502, and both storage control devices 1510 And 1520 have location information tapes 1511 and 1521, and the update information transmission section 1512 of the main storage controller 1510 has a location information tape drive 1511. Each time it is updated, a position information update message 1610 is sent to the backup storage controller 1520, and the position information tape renewal unit 1522 of the backup storage controller 1520 is moved to the position. Since the information table 1521 is updated immediately, even if the main storage controller 15010 fails, the backup storage controller 1502 takes over the processing and takes over the processing. Ki De is possible to operate the arm, it is possible to realize a highly reliable storage system.
ところで、 上記実施の形態 2では、 メイン系ストレージ制御装置 1 5 1 0の更 新情報送信部 1 5 1 2がバックアップ系ストレージ制御装置 1 5 2 0に位置情報 更新メッセージ 1 6 1 0を送信し、 バックアップ系ストレージ制御装置 1 5 2 0 が位置情報更新メッセージ 1 6 1 0を用いて位置情報テーブル 1 5 2 1を直ちに 更新する場合について説明したが、 バックアップ系ストレージ制御装置 1 5 2 0 は、 位置情報テーブル 1 5 2 1を直ちに更新することなく、 位置情報更新メッセ ージ 1 6 1 0を更新ログとして保存し、 メイン系ストレージ制御装置 1 5 1 0が 故障してその処理を引き継いだ時点で位置情報テーブル 1 5 2 1を更新すること もできる。 By the way, in the second embodiment, the update information transmitting unit 1512 of the main storage controller 1510 transmits a location information update message 1610 to the backup storage controller 1520. The case has been described in which the backup storage controller 1520 immediately updates the location information table 1521 using the location information update message 1610. The location information update message 1610 is saved as an update log without immediately updating the location information table 1521, and when the main storage controller 1510 fails and takes over the processing. The location information table 15 21 can also be updated with.
そこで、 位置情報更新メッセージ 1 6 1 0を更新口グとして保存し、 メイン系 ストレージ制御装置 1 5 1 0が故障してその処理を引き継いだ時点で位置情報テ 一ブル 1 5 '2 1を更新するバックアップ系ストレージ制御装置について説明する
第 1 8図は、 本実施の形態 2に係るストレージ制御装置の二重ィ匕の変形例の概 念について説明するための説明図である。 '同図に示すように、 このストレージ制 御装置の二重化の変形例では、 メイン系ストレージ制御装置は、 位置情報テープ ルを更新するごとに、 更新情報をバックァップ系ストレージ制御装置に送信する 。 また、 更新情報を受信したバックアブ系ストレージ制御装置は、 位置情報テー ブレを直ちに更新するかわりに、 更新情報を更新口-グとして保存する。 そして、 ノ ックアップ系ストレージ制御装置は、 メイン系ストレージ制御装置が故障して その処理を引き継いだ時に、 保存した更新口グを用いて位置情報テーブルを更新 する。 Therefore, the location information update message 1610 is saved as an update entry, and the location information table 15 '21 is updated when the main storage controller 1501 fails and takes over the processing. Backup storage control device FIG. 18 is an explanatory diagram for explaining the concept of a modified example of the double control of the storage control device according to the second embodiment. 'As shown in the figure, in the modified example of the dual storage control device, the main storage control device transmits the update information to the backup storage control device every time the position information table is updated. In addition, the storage controller that has received the update information saves the update information as an update port instead of immediately updating the position information table. Then, when the main storage control device fails and takes over its processing, the knock-up storage control device updates the location information table using the stored update port.
このように、 この変形例では、 バックアップ系ストレージ制御装置が更新情報 を受け取った時点で直ちに位置情報テーブルを更新するかわりに、 更新情報を更 新ログとして保存することとしたので、 ノ ックアップ系ストレージ制御装置の処 理負荷を低減することができ、 バックァップ系ストレージ制御装置を他の処理に 有効に使うことができる。 Thus, in this modification, the update information is stored as an update log instead of immediately updating the location information table when the backup storage control device receives the update information. The processing load on the controller can be reduced, and the backup storage controller can be used effectively for other processing.
実施の形態 3 . Embodiment 3.
上記の実施の形態 1および 2では、 2台のキヤッシュ制御装置を用いた場合に ついて説明したが、 キャッシュ制御装置の台数は、 ディスク 1 2 1の増強などに ともなうキャッシュヒット率の低下を避けるために、 順次増やしていく必要があ る。 そこで、 本実施の形態 3では、 n台のキャッシュ制御装置を用いたストレー ジシステムについて説明する。 In Embodiments 1 and 2 described above, the case where two cache control devices are used has been described.However, the number of cache control devices is set to avoid a decrease in the cache hit rate due to an increase in disks 121 and the like. In addition, it is necessary to gradually increase the number. Therefore, in a third embodiment, a storage system using n cache control devices will be described.
第 1 9図は、 本実施の形態 3に係るストレージシステムのシステム構成を示す ブロック図である。 なお、 ここでは説明の便宜上、 第 1図に示した各部と同様の 役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略 する。 FIG. 19 is a block diagram showing a system configuration of a storage system according to the third embodiment. Here, for convenience of explanation, the same reference numerals are given to the functional units that play the same role as each unit shown in FIG. 1, and the detailed description is omitted.
同図に示すように、 このストレージシステムでは、 ネットワーク 4 0上にスト レージ制御装置 1 9 1 0と、 実ディスク制御装置 1 2 0および 1 9 2 0と、 キヤ
ッシュ制御装置 1 3 0、 1 4 0および 1 9 3 0が分散配置される。 なお、 ここで は、 説明の便宜上、 2台の実ディスク制御装置 1 2 0および 1 9 2 0ならびに 3 台のキャッシュ制御装置 1 3 0、 1 4 0および 1 9 3 0を示したが、 このストレ ージシステムは、 m台の実ディスク制御装置と n台のキャッシュ制御装置とを有 する。 As shown in the figure, in this storage system, a storage controller 1910, real disk controllers 1220 and 1920 The cache control devices 130, 140 and 193 are distributed. Here, for convenience of explanation, two real disk controllers 120 and 190 and three cache controllers 130, 140 and 193 are shown. The storage system has m real disk controllers and n cache controllers.
ス トレージ制御装置 1 9 1 0は、 dirtyな状態にあるデータを n台のキヤッシ ュ制御装置のうちの 2台が記憶するように制御する。 すなわち、 このス トレージ 制御装置 1 9 1 0は、 n台のキヤッシュ制御装置のうち 1台のキヤッシュ制御装 置が故障した場合にも、 故障したキヤッシュ制御装置のデータは、 他のキヤッシ ュ制御装置かディスクに必ず存在するようにキヤッシュ制御装置を制御すること により、 効率の良いキャッシュメモリの利用と信頼性の高いストレージシステム を実現している。 The storage control device 1910 controls the dirty data to be stored in two of the n cache control devices. That is, even if one of the n cache control devices fails, the storage control device 1910 can transfer data from the failed cache control device to the other cache control devices. By controlling the cache controller so that it is always present on the disk, an efficient use of cache memory and a highly reliable storage system are realized.
実ディスク制御装置 1 9 2 0およびキヤッシュ制御装置 1 9 3 0は、 より大規 模なデータを扱うために、 新たにストレージシステムに追加した装置である。 た だし、 このキャッシュ制御装置 1 9 3 0は、 たとえば、 第 1 9図において、 dirt yな状態にあるデータ Mを記憶する必要はない。 その理由は、 2台のキャッシュ 制御装置 1 3 0および 1 4 0がデータ Mを記憶しており、 3台以上のキャッシュ 制御装置が同一データを記憶する必要はないためである。 The real disk controller 1920 and the cache controller 1930 are devices newly added to the storage system in order to handle larger-scale data. However, the cache controller 1930 does not need to store the data M in a dirty state in FIG. 19, for example. The reason is that two cache controllers 130 and 140 store data M, and it is not necessary for three or more cache controllers to store the same data.
上述したように、 本実施の形態 3では、 ストレージシステムに n台の ヤッシ ュ制御装置を設け、 ディスクに格納されていなレ、 dirtyな状態のデータについて は、 n台のキヤッシュ制御装置のうち 2台のキヤッシュ制御装置に同一データを 記憶することとしたので、 キャッシュメモリを効率的に使用するとともに、 n台 のキヤッシュ制御装置のうち 1台のキヤッシュ制御装置が故障した場合にも、 残 りのキャッシュ制御装置を用いてストレージシステムを稼動することができ、 信 頼性の高いストレージシステムを実現することができる。 As described above, in the third embodiment, the storage system is provided with n cache control devices, and for data that is not stored in the disk and is in a dirty state, two of the n cache control devices are used. Since the same data is stored in the two cache controllers, the cache memory is used efficiently, and the remaining cache controllers can be used even if one of the n cache controllers fails. The storage system can be operated using the cache control device, and a highly reliable storage system can be realized.
なお、 上記実施の形態' 3では、 n台のキヤッシュ制御装置のうち 2台のキヤッ シュ制御装置に同一データを記憶する場合について説明したが、 本発明はこれに
限定されるものではなく、 さらに信頼性の高いストレージシステムを得るために 、 同一データを記憶するキヤッシュ制御装置の台数を 3台以上に増や場合にも同 様に適用することができる。 したがって、 同一のデータを記憶するキャッシュ制 御装置の台数は、 システムの運用環境、 キャッシュメモリのヒット率、 データの アクセス性能、 システムの信頼性に対する要求度などに基づいて決定することが できる。 In Embodiment '3, the case where the same data is stored in two of the n cache control devices has been described. However, the present invention is not limited to this. The present invention is not limited to this, and the same can be applied to the case where the number of cache control devices that store the same data is increased to three or more in order to obtain a more reliable storage system. Therefore, the number of cache control devices that store the same data can be determined based on the operating environment of the system, the hit ratio of the cache memory, the data access performance, the required level of system reliability, and the like.
さらに、 本発明は、 ストレージステムの運用環境の変化などにともなって、 同 一のデータを記憶するキヤッシュ制御装置の台数を随時変更することによって、 より柔軟なストレージシステムとする場合にも適用することができる。 Further, the present invention can be applied to a case where a more flexible storage system is obtained by changing the number of cache control devices that store the same data as needed in accordance with a change in the operation environment of the storage system. Can be.
また、 上記実施の形態 3では、 同一のデータを任意の 2台のキャッシュ制御装 置に記憶する場合について説明したが、 本発明はこれに限定されるものではなく 、 各キヤッシュ制御装置に対して同一のデータを記憶するキヤッシュ制御装置を 定め、 各キャッシュ制御装置のバックアップおこなうストレージシステムにも同 様に適用することができる。 Further, in the third embodiment, the case where the same data is stored in any two cache control devices has been described. However, the present invention is not limited to this. A cache control device that stores the same data is determined, and the same can be applied to a storage system that performs backup of each cache control device.
また、 上記実施の形態 1、 2および 3では、 ストレージ制御装置およびキャッ シュ制御装置について説明したが、 これらの装置が有する構成をソフトウェアに よつて実現することで、 同様の機能を有するストレージ制御プログラムおよびキ ャッシュ制御プログラムを得ることができる。 そこで、 これらのストレージ制御 プログラムおよびキヤッシュ制御プログラムを実行するコンピュータシステムに ついて説明する。 In the first, second, and third embodiments, the storage control device and the cache control device have been described. However, by realizing the configuration of these devices by software, a storage control program having a similar function is realized. And a cache control program can be obtained. Therefore, a computer system that executes the storage control program and the cache control program will be described.
第 2 0図は、 ストレージ制御プログラムおよびキャッシュ制御プログラムを実 行するコンピュータシステム 2 0 0 0の一例を示す図である。 同図に示すように 、 このコンピュータシステム 2 0 0 0は、 MP U (Micro Processing Unit) 2 0 0 1と、 R OM (Read Only Memory) 2 0 0 2と、 R AM (Random Access Me mory) 2 0 0 3と、 N I C (Network Interface Card) 2 0 0 4と、 入出力装置 2 0 0 5と、 P Cインタフェース 2 0 0 6とを有する。 FIG. 20 is a diagram illustrating an example of a computer system 2000 that executes a storage control program and a cache control program. As shown in the figure, the computer system 2000 is composed of an MPU (Micro Processing Unit) 200, a ROM (Read Only Memory) 200, and a RAM (Random Access Memory). It has 2003, a NIC (Network Interface Card) 204, an input / output device 205, and a PC interface 206.
M P U 2 0 0 1は、 プログラムを実行する演算装置であり、 ここでは、 R OM
2 0 0 2に記憶されたストレージ制御プログラムおよびキャッシュ制御プログラ ムを実行する。 . The MPU 20001 is an arithmetic unit that executes a program. The storage control program and the cache control program stored in 2002 are executed. .
R OM 2 0 0 2は、 読み出し専用のプログラムおよびデータを記憶したメモリ であり、 プログラムの実行に先立って、 ストレージ制御プログラムおよびキヤッ シュ制御プログラムを記憶する。 ROM 2000 is a memory that stores a read-only program and data, and stores a storage control program and a cache control program prior to execution of the program.
R AM 2 0 0 3は、 データの書き込みが可能なメモリであり、 M P U 2 0 0 1 がプログラムの実行にともなつて作成する一時的なデータ等を記憶する。 また、 この R AM 2 0 0 3には、 位置情報テーブルが記憶される。 The RAM 2003 is a memory to which data can be written, and stores temporary data and the like created by the MPU 2001 when the program is executed. Also, a position information table is stored in the RAM 2003.
N I C 2 0 0 4は、 所定の通信プロトコルを用いてクライアント等と通信をお こなう装置であり、 第 2図に示したネットワークインタフェース部 1 1 3および 第 4図に示したネットワークインタフェース部 1 3 3の処理を実行する。 The NIC 204 is a device that communicates with a client or the like using a predetermined communication protocol, and includes the network interface unit 113 shown in FIG. 2 and the network interface unit 1 shown in FIG. 3 Execute the process of 3.
入出力装置 2 0 0 5は、 キーボード、 マウスおよびディスプレイなどの装置で あり、 キーボードおよびマウスは、 コンピュータシステム 2 0 0 0への指示およ びデータの入力に使用され、 ディスプレイはコンピュータの実行状態の表示等に 使用される。 The input / output device 2000 is a device such as a keyboard, a mouse, and a display. The keyboard and mouse are used for inputting instructions and data to the computer system 2000, and the display is used to execute the computer. It is used for display of etc.
P Cインタフェース 2 0 0 6は、 プログラムの開発等に使用するパーソナルコ ンピ ータとのインタフェースであり、 パーソナルコンピュータで開発したプロ グラムの口ーデイングや、 パーソナルコンピュータとのデバッグ情報の授受など に使用される。 ' The PC interface 2006 is an interface with a personal computer used for program development, etc., and is used to read programs developed on a personal computer and to send and receive debug information to and from the personal computer. You. '
以上説明したように、 本発明によれば、 クライアントが書き込みを要求したデ ータをネットワークに配置されたキヤッシュ装置のうちの所定の数のキヤッシュ 装置に多重化して書き込むように制御し、 クライアントが読み出しを要求したデ ータをネットワークに配置されたキヤッシュ装置のうちのいずれのキヤッシュ装 置も有しない場合に、 ディスク装置からデータを読み出し、 読み出したデータを あるキヤッシュ装置だけに記憶させるとともにクライアントに送信するように制 御することとしたので、 キャッシュメモリを効率よく使用するとともに、 いずれ かのキヤッシュ装置の故障に起因するストレージシステム全体の稼動停止を防ぎ
、 信頼性の高いストレージシステムを構築することができるという効果を奏する As described above, according to the present invention, data controlled by a client to be written is controlled so as to be multiplexed and written to a predetermined number of cache devices out of the cache devices arranged on the network, and the client performs the control. If none of the cache devices arranged in the network has the data requested to be read, the data is read from the disk device, the read data is stored only in a certain cache device, and the data is read by the client. The transmission is controlled so that the cache memory is used efficiently and the operation of the entire storage system is prevented from being stopped due to the failure of any cache device. The effect is that a highly reliable storage system can be constructed.
産業上の利用可能性 Industrial applicability
以上のように、 本発明に係るストレージ制御装置、 ストレージ制御プロダラム 、 ストレージ制御方法およびストレージシステムは、 一部の装置が故障した場合 にもシステムの稼動を停止することなくサービスを提供する必要がある高信頼性 ストレージシステムに適している。
As described above, the storage control device, the storage control program, the storage control method, and the storage system according to the present invention need to provide a service without stopping the operation of the system even when some of the devices fail. Suitable for high reliability storage systems.
Claims
1 . キャッシュ装置およびディスク装置とともにネットワーク上に分散配置さ れてストレージシステムを形成し、 クライアントからのアクセス要求を受け付け 、 該キヤッシュ装置およびディスク装置にァクセス要求に応じた処理を実行させ るス トレージ制御装置であって、 1. Storage control that is distributed and arranged on a network together with a cache device and a disk device to form a storage system, receives an access request from a client, and causes the cache device and the disk device to execute a process according to the access request. A device,
前記クライアントが書き込みを要求したデータを前記ネットワークに配置され たキヤッシュ装置のうちの所定の数のキヤッシュ装置に多重ィ匕して書き込むよう に制御する書き込み制御手段と、 ■ 前記クライァントが読み出しを要求したデータを前記ネットワークに配置され たキャッシュ装置のうちのいずれのキャッシュ装置も有しない場合に、 前記ディ スク装置から該データを読み出し、 該読み出したデータをあるキヤッシュ装置だ けに記憶させるとともに前記クライァントに送信するように制御する読み出し制 御手段と、 Write control means for controlling data to be written by the client in a multiplexed manner to a predetermined number of cache devices among the cache devices arranged on the network, and (3) the client has requested read. When the data is not stored in any of the cache devices arranged in the network, the data is read from the disk device, the read data is stored only in a certain cache device, and the data is stored in the client. A read control means for controlling transmission,
を備えたことを特徴とするストレージ制御装置。 A storage control device comprising:
2 . 前記書き込み制御手段により前記所定の数のキヤッシュ装置に多重化して 書き込まれたデータを前記ディスク装置に書き込む際に、 該所定の数のキヤッシ ュ装置のうちのあるキャッシュ装置だけが該データを引き続き記 ' し、 他のキヤ ッシュ装置は該データの記憶領域を開放するように制御するフラッシュ制御手段 をさらに備えたことを特徴とする請求の範囲第 1項に記載のストレージ制御装置 2. When writing the data multiplexed and written to the predetermined number of cache devices by the write control means to the disk device, only a certain cache device of the predetermined number of cache devices copies the data. 2. The storage control device according to claim 1, wherein the other cache device further includes a flash control unit that controls the data storage area to be released.
3 . 前記書き込み制御手段は、 前記クライアントが書き込みを要求したデータ を前記ネットワークに配置されたキヤッシュ装置のうちの 2台のキヤッシュ装置 に二重化して書き込むように制御することを特徴とする請求の範囲第 1項または 第 2項に記載のストレージ制御装置。
3. The writing control means performs control so that data requested by the client to be written is duplicated and written to two of the cache devices arranged in the network. 3. The storage controller according to paragraph 1 or 2.
4 . 前記書き込み制御手段は、 前記クライアントが書き込みを要求したデータ を前記ネットワークに配置された全てのキヤッシュ装置に多重化して書き込むよ うに制御することを特徴とする請求の範囲第 1項または第 2項に記載のストレー ジ制御装置。 4. The writing control means according to claim 1, wherein said writing control means controls to multiplex and write the data requested to be written by said client to all of the cache devices arranged in said network. The storage control device according to the item.
5 . 前記書き込み制御手段は、 前記所定の数のキャッシュ装置に対して、 該所 定の数を前記データの書き込み完了通知とともに前記クライアントに送信するよ う指示することを特徴とする請求の範囲第 1項または第 2項に記載のストレージ 制御装置。 5. The write control means instructs the predetermined number of cache devices to transmit the predetermined number to the client together with the data write completion notification. 3. The storage control device according to paragraph 1 or 2.
6 . 前記クライアントがアクセスを要求するデータの格納領域について、 該ク ライアントが指定する論理的位置と、 キャッシュ装置における記憶位置と、 ディ スク装置における格納位置との対応付けを記憶した位置情報記憶手段と、 6. A location information storage unit that stores a correspondence between a logical location specified by the client, a storage location in the cache device, and a storage location in the disk device with respect to a storage area of data requested by the client for access. When,
前記位置情報記憶手段に記憶された対応付けに対して更新がおこなわれるごと に、 該更新に関する情報を前記ネットワーク上に配置された他のストレージ制御' 装置に送信する更新情報送信手段と、 Update information transmitting means for transmitting information relating to the update to another storage control device arranged on the network each time an update is performed on the association stored in the location information storage means;
をさらに備えたことを特徴とする請求の範囲第 1項または第 2項に記載のス ト レージ制御装置。 The storage control device according to claim 1 or 2, further comprising:
7 . キャッシュ装置およびディスク装置をネットワーク上に分散配置したスト レージシステムで用いられ、 クライアントからのアクセス要求を受け付け、 該キ ャッシュ装置およびディスク装置にアクセス要求に応じた処理を実行させるスト レージ制御プログラムであって、 7. A storage control program used in a storage system in which a cache device and a disk device are distributed on a network to receive an access request from a client and cause the cache device and the disk device to execute a process according to the access request. And
前記クライアントが書き込みを要求したデータを前記ネットワークに配置され たキヤッシュ装置のうちの所定の数のキヤッシュ装置に多重化して書き込むよう に制御する書き込み制御手順と、
前記クライアントが読み出しを要求したデータを前記ネットワークに酉己置され たキヤッシュ装置のうちのいずれのキヤッシュ装置も有しない場合に、 前記ディ スク装置から該データを読み出し、 該読み出したデータをあるキャッシュ装置だ けに記憶させるとともに前記クライアントに送信するように制御する読み出し制 御手順と、 A write control procedure for controlling the client to request the data to be written to be multiplexed and written to a predetermined number of cache devices among the cache devices arranged in the network; If none of the cache devices located on the network has the data requested by the client to read, the client device reads the data from the disk device, and stores the read data in a cache device. A read control procedure for storing only the information and controlling the transmission to the client;
をコンピュータで実行することを特徴とするス トレージ制御プログラム。 A storage control program characterized by executing a program on a computer.
8 . 前記書き込み制御手順により前記所定の数のキャッシュ装置に多重化して 書き込まれたデータを前記ディスク装置に書き込む際に、 該所定の数のキヤッシ ュ装置のうちのあるキャッシュ装置だけが該データを引き続き記憶し、 他のキヤ ッシュ装置は該データの記憶領域を開放するように制御するフラッシュ制御手順 をさらにコンピュータで実行することを特徴とする請求の範囲第 7項に記載のス トレージ制御プログラム。 8. When writing the data multiplexed and written to the predetermined number of cache devices according to the write control procedure to the disk device, only one of the predetermined number of cache devices can copy the data. 8. The storage control program according to claim 7, wherein the computer further executes a flash control procedure for continuously storing the data and controlling the other cache device to release the storage area of the data.
9 . 前記書き込み制御手順は、 前記クライアントが書き込みを要求したデータ を前記ネットワークに配置されたキヤッシュ装置のうちの 2台のキヤッシュ装置 に二重化して書き込むように制御することを特徴とする請求の範囲第 7項または 第 8項に記載のストレージ制御プログラム。 9. The write control procedure is characterized in that the data requested by the client to be written is duplicated and written to two of the cache devices arranged in the network. The storage control program according to paragraph 7 or 8.
1 0 . 前記書き込み制御手順は、 前記クライアントが書き込みを要求したデー タを前記ネットワークに配置された全てのキヤッシュ装置に多重化して書き込む ように制御することを特徴とする請求の範囲第 7項または第 8項に記載のス トレ ージ制御プログラム。 10. The write control procedure according to claim 7, wherein the client requests the client to write the data requested to be written so that the data is multiplexed and written to all the cache devices arranged on the network. The storage control program according to item 8.
1 1 . 前記書き込み制御手順は、 前記所定の数のキャッシュ装置に対して、 該 所定の数を前記データの書き込み完了通知とともに前記クライアントに送信する よう指示することを特徴とする請求の範困第 7項または第 8項に記載のス トレー
ジ制御プログラム。 11. The write control procedure instructs the predetermined number of cache devices to transmit the predetermined number to the client together with the data write completion notification. Storage described in paragraph 7 or 8 Control program.
1 2 . 前記クライアントがアクセスを要求するデータの格納領域について、 該 クライアントが指定する論理的位置と、 キャッシュ装置における記憶位置と、 デ イスク装置における格納位置との対応付けを記憶し、 記憶した対応付けに対して 更新がおこなわれるごとに、 該更新に関する情報を前記ネットワーク上に配置さ れた他のコンピュータで実行されるストレージ制御プログラムに送信する更新情 報送信手順をさらにコンピュータで実行することを特徴とする請求の範囲第 7項 または第 8項に記载のストレージ制御プログラム。 1 2. Regarding the storage area of the data requested by the client to access, the correspondence between the logical position specified by the client, the storage position in the cache device, and the storage position in the disk device is stored, and the stored correspondence is stored. Each time an update is performed for the update, the computer further executes an update information transmission procedure of transmitting information relating to the update to a storage control program executed by another computer arranged on the network. 9. The storage control program according to claim 7, wherein the storage control program is a storage control program.
1 3 . キヤッシュ装置およびディスク装置をネットワーク上に分散配置したス トレージシステムで用いられ、 クライアントからのアクセス要求を受け付け、 該 キャッシュ装置およびディスク装置にアクセス要求に応じた処理を実行させるス トレージ制御方法であって、 1 3. A storage control method used in a storage system in which a cache device and a disk device are distributed on a network to receive an access request from a client and cause the cache device and the disk device to execute a process according to the access request. And
前記クライアントが書き込みを要求したデータを前記ネットワークに配置され たキヤッシュ装置のうちの所定の数のキヤッシュ装置に多重化して書き込むよう に制御する書き込み制御工程と、 · A write control step of controlling to multiplex and write the data requested to be written by the client to a predetermined number of cache devices among the cache devices arranged on the network;
前記クライアントが読み出しを要求したデータを前記ネットワークに配置され たキャッシュ装置のうちのいずれのキャッシュ装置も有しない場 に、 前記ディ スク装置から該データを読み出し、 該読み出したデータをあるキャッシュ装置だ けに記憶させるとともに前記クライァントに送信するように制御する読み出し制 御工程と、 When none of the cache devices arranged in the network has the data requested by the client to be read, the client device reads the data from the disk device, and stores the read data only in a certain cache device. A reading control step of controlling to transmit to the client and to store the data in the client;
を含んだことを特徴とするストレージ制御方法。 A storage control method comprising:
1 4 . 前記書き込み制御工程により前記所定の数のキヤッシュ装置に多重化し て書き込まれたデータを前記ディスク装置に書き込む際に、 該所定の数のキヤッ シュ装置のうちのあるキヤッシュ装置だけが該デ^"タを引き続き記憶し、 他のキ
ャッシュ装置は該データの記憶領域を開放するように制御するフラッシュ制御ェ 程をさらに含んだことを特徴とする請求の範囲第 1 3項に記载のストレージ制御 方法。 14. When writing the data multiplexed and written to the predetermined number of cache devices in the write control step to the disk device, only one of the predetermined number of cache devices is the cache device. ^ "T 14. The storage control method according to claim 13, wherein the cache device further includes a flash control step for controlling to release a storage area of the data.
1 5 . 前記書き込み制御工程は、 前記クライアントが書き込みを要求したデー タを前記ネットワークに配置されたキヤッシュ装置のうちの 2台のキヤッシュ装 置に二重化して書き込むように制御することを特徴とする請求の範囲第 1 3項ま たは第 1 4項に記載のストレージ制御方法。 15. The writing control step is characterized in that the client requests the writing so that data requested to be written is duplicated and written to two of the cache devices arranged in the network. 15. The storage control method according to claim 13 or claim 14.
1 6 . 前記書き込み制御工程は、 前記クライアントが書き込みを要求したデー タを前記ネットワークに配置された全てのキャッシュ装置に多重ィヒして書き込む ように制御することを特徴とする請求の範囲第 1 3項または第 1 4項に記載のス トレージ制御方法。 16. The write control step is characterized in that control is performed such that the data requested by the client to be written is multiplexed and written to all cache devices arranged in the network. A storage control method according to item 3 or 14.
1 7 . 前記書き込み制御工程は、 前記所定の数のキャッシュ装置に対して、 該 所定の数をデータの書き込み完了通知とともに前記クライアントに送信するよう 指示することを特^ [とする請求の範囲第 1 3項または第 1 4項に記載のストレー ジ制御方法。
17. The write control step is characterized by instructing the predetermined number of cache devices to transmit the predetermined number to the client together with a data write completion notification. 13. The storage control method according to item 13 or 14.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004537520A JPWO2004027625A1 (en) | 2002-09-20 | 2002-09-20 | Storage control device, storage control program, and storage control method |
PCT/JP2002/009670 WO2004027625A1 (en) | 2002-09-20 | 2002-09-20 | Storage control apparatus, storage control program, and storage control method |
US11/083,964 US20050166086A1 (en) | 2002-09-20 | 2005-03-21 | Storage control apparatus, storage control method, and computer product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2002/009670 WO2004027625A1 (en) | 2002-09-20 | 2002-09-20 | Storage control apparatus, storage control program, and storage control method |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/083,964 Continuation US20050166086A1 (en) | 2002-09-20 | 2005-03-21 | Storage control apparatus, storage control method, and computer product |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2004027625A1 true WO2004027625A1 (en) | 2004-04-01 |
Family
ID=32012231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2002/009670 WO2004027625A1 (en) | 2002-09-20 | 2002-09-20 | Storage control apparatus, storage control program, and storage control method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2004027625A1 (en) |
WO (1) | WO2004027625A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009140153A (en) * | 2007-12-05 | 2009-06-25 | Fujitsu Ltd | Storage management device, storage system control device, storage management program, and storage system |
US7822923B2 (en) | 2006-06-30 | 2010-10-26 | Fujitsu Limited | Storage control program, storage control apparatus, and storage control method |
WO2016020977A1 (en) * | 2014-08-05 | 2016-02-11 | 株式会社日立製作所 | Storage system and cache control method |
JP2017224253A (en) * | 2016-06-17 | 2017-12-21 | 富士通株式会社 | Parallel processor and memory cache control method |
JP2021128802A (en) * | 2019-03-22 | 2021-09-02 | 株式会社日立製作所 | Information processing system, storage system, and data transfer method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520196A (en) * | 1991-07-09 | 1993-01-29 | Mitsubishi Electric Corp | Disk cache controller |
JPH0887450A (en) * | 1994-09-16 | 1996-04-02 | Toshiba Corp | Information storage device |
JP2000339098A (en) * | 1999-03-25 | 2000-12-08 | Dell Usa Lp | Storage domain management system |
JP2002091706A (en) * | 2000-06-02 | 2002-03-29 | Compaq Information Technologies Group Lp | Virtual storage system |
JP2002132455A (en) * | 2000-10-25 | 2002-05-10 | Hitachi Ltd | Cash manager and computer system including the same |
-
2002
- 2002-09-20 JP JP2004537520A patent/JPWO2004027625A1/en not_active Withdrawn
- 2002-09-20 WO PCT/JP2002/009670 patent/WO2004027625A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0520196A (en) * | 1991-07-09 | 1993-01-29 | Mitsubishi Electric Corp | Disk cache controller |
JPH0887450A (en) * | 1994-09-16 | 1996-04-02 | Toshiba Corp | Information storage device |
JP2000339098A (en) * | 1999-03-25 | 2000-12-08 | Dell Usa Lp | Storage domain management system |
JP2002091706A (en) * | 2000-06-02 | 2002-03-29 | Compaq Information Technologies Group Lp | Virtual storage system |
JP2002132455A (en) * | 2000-10-25 | 2002-05-10 | Hitachi Ltd | Cash manager and computer system including the same |
Non-Patent Citations (2)
Title |
---|
DAHLIN M.D. ET AL.: "Cooperative caching: Using remote client memory to improve file system performance", PROCEEDINGS OF THE FIRST SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, November 1994 (1994-11-01), pages 267 - 280, XP002125133 * |
LEE E.K., THEKKATH C.A.: "Petal: Distributed virtual disks", PROCEEDINGS OF THE SEVENTH CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEM (ASP LOS VII), October 1996 (1996-10-01), pages 84 - 92, XP000681711 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822923B2 (en) | 2006-06-30 | 2010-10-26 | Fujitsu Limited | Storage control program, storage control apparatus, and storage control method |
JP2009140153A (en) * | 2007-12-05 | 2009-06-25 | Fujitsu Ltd | Storage management device, storage system control device, storage management program, and storage system |
US8234467B2 (en) | 2007-12-05 | 2012-07-31 | Fujitsu Limited | Storage management device, storage system control device, storage medium storing storage management program, and storage system |
WO2016020977A1 (en) * | 2014-08-05 | 2016-02-11 | 株式会社日立製作所 | Storage system and cache control method |
US9323463B2 (en) | 2014-08-05 | 2016-04-26 | Hitachi, Ltd. | Storage system and cache control method |
JP2017224253A (en) * | 2016-06-17 | 2017-12-21 | 富士通株式会社 | Parallel processor and memory cache control method |
JP2021128802A (en) * | 2019-03-22 | 2021-09-02 | 株式会社日立製作所 | Information processing system, storage system, and data transfer method |
JP7135162B2 (en) | 2019-03-22 | 2022-09-12 | 株式会社日立製作所 | Information processing system, storage system and data transfer method |
Also Published As
Publication number | Publication date |
---|---|
JPWO2004027625A1 (en) | 2006-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6356977B2 (en) | System and method for on-line, real time, data migration | |
JP4439960B2 (en) | Storage device | |
US6157962A (en) | Multipath I/O storage systems with multiipath I/O request mechanisms | |
US7975116B2 (en) | Remote storage disk control device and method for controlling the same | |
US20050166086A1 (en) | Storage control apparatus, storage control method, and computer product | |
US6601138B2 (en) | Apparatus system and method for N-way RAID controller having improved performance and fault tolerance | |
US7774542B2 (en) | System and method for adaptive operation of storage capacities of RAID systems | |
US7111192B2 (en) | Method for operating storage system including a main site and a backup | |
CN100480979C (en) | Storage system and storage control method | |
CN101174197A (en) | Information system and data forwarding method of information system | |
US6996690B2 (en) | Storage system including multiple control units for increased reliability during a failure | |
US8078815B2 (en) | Power-saving-backup management method | |
JPH08314848A (en) | Method and apparatus for transfer of data between two devices by shortening of overhead of microprocessor | |
JP2001501002A (en) | Method and system for generating a mirrored data copy image using a reference label | |
JP2003162377A (en) | Logical unit takeover method between disk array system and controller | |
JP2008225616A (en) | Storage system, remote copy system, and data restoration method | |
EP0701208B1 (en) | Disk array subsystem and data generation method therefor | |
JP2010537267A (en) | Method, system and program for splitting writes between a storage controller and a replication engine | |
US7426609B2 (en) | Disk control apparatus, disk control method, remote disk control apparatus, and remote disk control method | |
JP2006185000A (en) | Storage device | |
WO2004027625A1 (en) | Storage control apparatus, storage control program, and storage control method | |
JP2010211318A (en) | Device management apparatus, device initialization method, device initialization program, and device system | |
US20050223180A1 (en) | Accelerating the execution of I/O operations in a storage system | |
JPH0667811A (en) | Multiplexed disk control device | |
JP3250859B2 (en) | Disk array device, computer system and data storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): DE FR GB |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2004537520 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11083964 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |