WO2004027625A1 - Appareil de commande de memoire, programme de commande de memoire et procede de commande de memoire - Google Patents

Appareil de commande de memoire, programme de commande de memoire et procede de commande de memoire

Info

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
Application number
PCT/JP2002/009670
Other languages
English (en)
Japanese (ja)
Inventor
Takashi Watanabe
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to JP2004537520A priority Critical patent/JPWO2004027625A1/ja
Priority to PCT/JP2002/009670 priority patent/WO2004027625A1/fr
Publication of WO2004027625A1 publication Critical patent/WO2004027625A1/fr
Priority to US11/083,964 priority patent/US20050166086A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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

L'invention concerne un appareil de commande de mémoire réparti sur un réseau avec un dispositif de mémoire cache et un dispositif de commande de disque réel afin d'exécuter des traitements correspondant à la demande d'accès. L'appareil comprend une unité d'écriture de données destinée à commander les données d'écriture demandée devant être écrites par un client dans des mémoires cache de deux dispositifs de commande de mémoire cache et une unité de lecture de données fonctionnant ainsi: lorsqu'un client demande la lecture de données et que ces données ne se trouvent pas dans l'un des deux dispositifs de commande de mémoire cache, celles-ci sont lues à partir du dispositif de commande de disque et les données lues sont stockées uniquement dans un des dispositifs de commande de mémoire cache.
PCT/JP2002/009670 2002-09-20 2002-09-20 Appareil de commande de memoire, programme de commande de memoire et procede de commande de memoire WO2004027625A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004537520A JPWO2004027625A1 (ja) 2002-09-20 2002-09-20 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
PCT/JP2002/009670 WO2004027625A1 (fr) 2002-09-20 2002-09-20 Appareil de commande de memoire, programme de commande de memoire et procede de commande de memoire
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 (fr) 2002-09-20 2002-09-20 Appareil de commande de memoire, programme de commande de memoire et procede de commande de memoire

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 (fr) 2004-04-01

Family

ID=32012231

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/009670 WO2004027625A1 (fr) 2002-09-20 2002-09-20 Appareil de commande de memoire, programme de commande de memoire et procede de commande de memoire

Country Status (2)

Country Link
JP (1) JPWO2004027625A1 (fr)
WO (1) WO2004027625A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140153A (ja) * 2007-12-05 2009-06-25 Fujitsu Ltd ストレージ管理装置、ストレージシステム制御装置、ストレージ管理プログラムおよびストレージシステム
US7822923B2 (en) 2006-06-30 2010-10-26 Fujitsu Limited Storage control program, storage control apparatus, and storage control method
WO2016020977A1 (fr) * 2014-08-05 2016-02-11 株式会社日立製作所 Système de stockage et procédé de commande de mémoire cache
JP2017224253A (ja) * 2016-06-17 2017-12-21 富士通株式会社 並列処理装置及びメモリキャッシュ制御方法
JP2021128802A (ja) * 2019-03-22 2021-09-02 株式会社日立製作所 情報処理システム、ストレージシステム及びデータ転送方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520196A (ja) * 1991-07-09 1993-01-29 Mitsubishi Electric Corp デイスク・キヤツシユ制御装置
JPH0887450A (ja) * 1994-09-16 1996-04-02 Toshiba Corp 情報記憶装置
JP2000339098A (ja) * 1999-03-25 2000-12-08 Dell Usa Lp ストレージドメイン管理システム
JP2002091706A (ja) * 2000-06-02 2002-03-29 Compaq Information Technologies Group Lp 仮想記憶システム
JP2002132455A (ja) * 2000-10-25 2002-05-10 Hitachi Ltd キャッシュマネジャー及びこれを含むコンピュータシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520196A (ja) * 1991-07-09 1993-01-29 Mitsubishi Electric Corp デイスク・キヤツシユ制御装置
JPH0887450A (ja) * 1994-09-16 1996-04-02 Toshiba Corp 情報記憶装置
JP2000339098A (ja) * 1999-03-25 2000-12-08 Dell Usa Lp ストレージドメイン管理システム
JP2002091706A (ja) * 2000-06-02 2002-03-29 Compaq Information Technologies Group Lp 仮想記憶システム
JP2002132455A (ja) * 2000-10-25 2002-05-10 Hitachi Ltd キャッシュマネジャー及びこれを含むコンピュータシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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 (9)

* Cited by examiner, † Cited by third party
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 (ja) * 2007-12-05 2009-06-25 Fujitsu Ltd ストレージ管理装置、ストレージシステム制御装置、ストレージ管理プログラムおよびストレージシステム
JP4480756B2 (ja) * 2007-12-05 2010-06-16 富士通株式会社 ストレージ管理装置、ストレージシステム制御装置、ストレージ管理プログラム、データ記憶システムおよびデータ記憶方法
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 (fr) * 2014-08-05 2016-02-11 株式会社日立製作所 Système de stockage et procédé de commande de mémoire cache
US9323463B2 (en) 2014-08-05 2016-04-26 Hitachi, Ltd. Storage system and cache control method
JP2017224253A (ja) * 2016-06-17 2017-12-21 富士通株式会社 並列処理装置及びメモリキャッシュ制御方法
JP2021128802A (ja) * 2019-03-22 2021-09-02 株式会社日立製作所 情報処理システム、ストレージシステム及びデータ転送方法
JP7135162B2 (ja) 2019-03-22 2022-09-12 株式会社日立製作所 情報処理システム、ストレージシステム及びデータ転送方法

Also Published As

Publication number Publication date
JPWO2004027625A1 (ja) 2006-01-19

Similar Documents

Publication Publication Date Title
US20050166086A1 (en) Storage control apparatus, storage control method, and computer product
JP3694273B2 (ja) 多重パスi/o要求機構を有するデータ処理システム
US6356977B2 (en) System and method for on-line, real time, data migration
JP4439960B2 (ja) ストレージ装置
US7774542B2 (en) System and method for adaptive operation of storage capacities of RAID systems
US7165163B2 (en) Remote storage disk control device and method for controlling the same
JP4477906B2 (ja) ストレージシステム
US7127557B2 (en) RAID apparatus and logical device expansion method thereof
US7111192B2 (en) Method for operating storage system including a main site and a backup
US20010049774A1 (en) Apparatus system and method for n-way raid controller having improved performance and fault tolerance
US6996690B2 (en) Storage system including multiple control units for increased reliability during a failure
JPH08314848A (ja) マイクロプロセッサのオーバーヘッドを短縮させて、二つの装置間でデータを転送する方法および装置
JP2003162377A (ja) ディスクアレイシステム及びコントローラ間での論理ユニットの引き継ぎ方法
JP2001501002A (ja) リファレンスラベルを使用するミラー化データコピー画像生成方法およびシステム
US8078815B2 (en) Power-saving-backup management method
JPH10198607A (ja) データ多重化システム
EP0701208B1 (fr) Sous-système d'un réseau de disques et méthode de génération de données
JP2010537267A (ja) ストレージ・コントローラと複製エンジンとの間で書き込みを分割する方法、システムおよびプログラム
US7426609B2 (en) Disk control apparatus, disk control method, remote disk control apparatus, and remote disk control method
JP2006185000A (ja) ストレージ装置
WO2004027625A1 (fr) Appareil de commande de memoire, programme de commande de memoire et procede de commande de memoire
US20050223180A1 (en) Accelerating the execution of I/O operations in a storage system
JPH0667811A (ja) 多重化ディスク制御装置
JP2014032515A (ja) ストレージ装置及びストレージシステム
JP3250859B2 (ja) ディスクアレイ装置、コンピュータシステム及びデータ記憶装置

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