WO2003065195A1 - Systeme de stockage, programme de commande de stockage, procede de commande de stockage - Google Patents

Systeme de stockage, programme de commande de stockage, procede de commande de stockage Download PDF

Info

Publication number
WO2003065195A1
WO2003065195A1 PCT/JP2002/000595 JP0200595W WO03065195A1 WO 2003065195 A1 WO2003065195 A1 WO 2003065195A1 JP 0200595 W JP0200595 W JP 0200595W WO 03065195 A1 WO03065195 A1 WO 03065195A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
cache
disk
storage
control
Prior art date
Application number
PCT/JP2002/000595
Other languages
English (en)
French (fr)
Inventor
Takashi Watanabe
Kazuichi Ooe
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 PCT/JP2002/000595 priority Critical patent/WO2003065195A1/ja
Priority to JP2003564722A priority patent/JPWO2003065195A1/ja
Priority to EP02716413A priority patent/EP1471416A4/en
Publication of WO2003065195A1 publication Critical patent/WO2003065195A1/ja
Priority to US10/871,002 priority patent/US7343448B2/en

Links

Classifications

    • 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
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Definitions

  • the present invention relates to a storage system for storing data on a network, a storage control program, and a storage control method.
  • the present invention relates to a storage system capable of improving data access speed, a storage control program, and a storage control program. It relates to a control method.
  • FIG. 16 is a block diagram showing the configuration of a conventional storage device.
  • each of the clients 10 i to 10 n is a computer terminal capable of accessing the storage device 30 via the network 20, and reads data from the storage device 30, Write data to the device 30.
  • the storage device 30 is a device that includes a disk 34 as a recording medium and a cache memory 37 and stores large-capacity data.
  • a network interface card 3 1 controls the communication between the slave to a predetermined communication protocol connexion, the client 1 0 i to 1 0 n.
  • the network driver 32 drives and controls the network interface card 31.
  • the disk 34 is a recording medium having a large capacity and a characteristic that the access time is slower than that of the cache memory 37.
  • the disk driver 35 drives and controls the disk 34.
  • the disk control section 36 executes read / write control of data to the disk 34 and RAID (Redundant Array of Independent Disks) control relating to the disk 34.
  • RAID control refers to control in which a plurality of disks 34 are arranged side by side and used as a single disk to increase reliability and processing speed.
  • the cache memory 37 is, for example, a static random access memory (SRAM), and has a characteristic that the access time is shorter than that of the disk 34 but has a smaller capacity.
  • SRAM static random access memory
  • the cache memory 37 stores a part of the data stored in the disk 34.
  • the cache control unit 38 controls access to the cache memory 37.
  • the protocol processing unit 33 controls each unit in response to a read Z write request from the client 10 i to 10 ⁇ .
  • the cache control unit 38 determines whether or not the data requested to be read is stored in the cache memory 37. If the data is stored in the cache memory 37 (cache hit), the cache control unit 38 reads the data from the cache memory 37 and passes it to the client 10.
  • the disk control unit 36 reads the data from the disk 34 via the disk drive 35 and passes it to the client 101.
  • the access time is longer than in the case of the cache memory 37.
  • the disk control unit 36 when there is a write request from the client 10 i, the disk control unit 36 writes data to the disk 34 via the disk driver 35. Further, the disk control unit 36 passes the data to the cache control unit 38. As a result, the cache control unit 38 writes the same data as the data written to the disk 34 to the cache memory 37.
  • the cache control unit 38 erases some data from the cache memory 37 to secure a free space, Write the data to the area.
  • the disk 34 has a performance characteristic that random access is slow. Therefore, the conventional storage device 30 has no performance at all unless a cache hit occurs in the cache memory 37. On the other hand, the performance of the network 20 continues to improve, and the performance of the storage device 30 is a bottleneck of the entire system not only for random access but also for sequential access.
  • the disk 34 has a capacity of about 50 to 80 MB / s for sequential access, but no performance of 1 O MB / s for random access.
  • the average seek time on the disk 34 is about 4 ms.
  • network 20 can exhibit high performance with a bandwidth of 120 MBZs and a response time of 100 to 200 ⁇ s, and use high-speed technology such as high-speed interconnect. If used, both band width and response time are improved by an order of magnitude. Thus, it can be seen that the capacity of the storage device 30 is inferior to that of the network 20.
  • the storage device 30 can exhibit the maximum performance when the data to be accessed is stored in the cache memory 37, that is, when a cache hit occurs.
  • the cache hit rate strongly depends on the memory size of the cache memory 37. Therefore, the larger the memory size of the cache memory 37, the higher the cache hit rate, and the higher the performance of the storage device 30.
  • the conventional storage device 30 since all functions such as the control of the disk 34 and the control of the cache memory 37 are provided in one node, the memory size of the cache memory 37 is limited. . Further, in the conventional storage device 30, since the memory area of the cache memory 37 is consumed by control other than the cache control, the memory area that can be used for cache control naturally decreases. Therefore, the conventional storage device 30 has a limitation on the memory area of the cache memory 37 for improving the performance, so that the bottleneck on the system (data access) is limited. Speed reduction).
  • the present invention has been made in view of the above, and an object of the present invention is to provide a storage device capable of improving data access speed. Disclosure of the invention
  • the present invention provides a cache device having a cache memory as a high-speed access recording medium, a disk device having a disk as a large-capacity recording medium, and receiving an access request from a client, A cache device; and a control device that causes the disk device to execute a process in accordance with an access request.
  • the cache device, the disk device, and the control device are distributed and arranged on a network. .
  • the cache memory is exclusively used in the cache device.
  • the memory area increases, the cache hit rate increases, and the data access speed can be improved.
  • the present invention provides a storage control used in a storage system in which a cache device having a cache memory as a high-speed access recording medium and a disk device having a disk as a large-capacity recording medium are distributed on a network.
  • a program a receiving unit for receiving an access request from a client, the cache device, a generating device for generating control data for causing the disk device to execute a process according to the access request, the cache device,
  • a storage control program for functioning as a transmission means for transmitting the control data to one of the disk devices.
  • the present invention provides a storage control used in a storage system in which a cache device having a cache memory as a high-speed access recording medium and a disk device having a disk as a large-capacity recording medium are distributed on a network.
  • the cache device and the disk device are distributed on the network and controlled independently, so that the cache memory is exclusively used in the cache device, so that the memory area increases.
  • the cache hit rate is increased, and the data access speed can be improved.
  • FIG. 1 is a block diagram showing a configuration of an embodiment according to the present invention.
  • FIG. 2 is a block diagram showing a configuration of the protocol processing apparatus 100 shown in FIG.
  • FIG. 4 is a block diagram showing the configuration of the storage control device 200 shown in FIG. 1, and
  • FIG. 4 is a diagram showing a cache Z real disk control table 206 used in the same embodiment.
  • FIG. 5 is a block diagram showing the configuration of the cache control device 300 shown in FIG. 1, and FIG. 6 shows the configuration of the real disk control device 400 shown in FIG.
  • FIG. 7 is a block diagram illustrating the operation of the protocol processing device 100 shown in FIG. 1
  • FIG. 8 is a storage control device 200 shown in FIG.
  • FIG. 9 is a diagram for explaining the operation of the cache control device 300 shown in FIG. FIG.
  • FIG. 10 is a diagram for explaining the operation of the real disk control device 400 shown in FIG. 1
  • FIG. 11 is a diagram showing the protocol processing device 100 shown in FIG.
  • FIG. 12 is a flowchart for explaining the operation of the storage control device 200 shown in FIG. 1
  • FIG. 13 is a flowchart for explaining the operation of the storage control device 200 shown in FIG.
  • FIG. 14 is a flow chart for explaining the operation of the control device 300
  • FIG. 14 is a flowchart for explaining the operation of the real disk control device 400 shown in FIG. 1
  • FIG. 16 is a block diagram showing a configuration of a modification of the embodiment.
  • FIG. 16 shows a configuration of a conventional storage device 30. It is a block diagram.
  • FIG. 1 is a block diagram showing a configuration of an embodiment according to the present invention.
  • parts corresponding to the respective parts in FIG. 16 are denoted by the same reference numerals.
  • the protocol processing device 100, the storage control device 200, the cache control device 300 and the real disk control device 4 0 0 is connected to network 20.
  • the protocol processing device 100, the storage control device 200, the cache control device 300, and the real disk control device 400 constitute a storage system.
  • the protocol processor 100 is connected to the client 100 via the network 20! It has a function of accepting a read / write request from any one of ⁇ 100 breatheand requesting the next storage controller 200 to perform processing.
  • the network interface card 101 communicates with the clients 100 i to 100 n and the storage controller 200 according to a predetermined communication protocol. Control.
  • the network driver 102 drives and controls the network interface card 101.
  • External protocol processing unit 1 0 3 is provided with the one of the client of the client 1 0 to 1 0 n, the function of receiving the data 1 1 0 shown in FIG. 7 (a).
  • the data 110 is composed of a request header 111 and request data 112.
  • the request header 111 includes a command ID for identifying a command (read command / write command) and data on the command type.
  • the request data 112 includes data of a storage ID indicating a storage location of the data.
  • the request data 112 includes read offset data and size data.
  • the request data 112 includes offset data and size data of the write data, and the write data itself.
  • the external protocol processing unit 103 has a function of generating the data 120 shown in FIG. 7 (b) and passing it to the internal protocol processing unit 104.
  • the data 120 is composed of a response header 121 and request data 122.
  • Response header 121 is a header format bract for responding a read write requesting execution status command (success or failure) to (one of the client of the client 10 to 10 n) and the like.
  • the command ID and the data of the execution state (success or failure) of the command are stored in the cache control device 300 and the real disk control device 00.
  • the request data 122 includes the request data 122 (storage ID, data offset size, (data itself)) data in a format that can be analyzed by the internal protocol analyzer 203 of the storage controller 200 (see Fig. 3). Included as Returning to FIG. 2, the internal protocol processing unit 104 receives the data 120 (see FIG. 7 (b)) from the external protocol processing unit 103, and based on the data 120, the data shown in FIG. 7 (c). It has a function of generating the data 130 and a function of transmitting the data 130 to the storage controller 200 at the next stage.
  • the data 130 is composed of an internal header 131, a response header 121 (see FIG. 7 (b)), and request data 122 (see FIG. 7 (b)).
  • the internal header 131 includes the address of the read Z write request source (any one of the clients 10 t to 10 n ) and the data of the command type (read Z write command).
  • the storage control device 200 receives the data 130 (see FIG. 7 (c)) from the protocol processing device 100, and stores the data 130 and the cache Z real disk control table 206 shown in FIG. It has a function of searching for the position of data in the cache control device 300 and the real disk control device 4 • 0 based on this.
  • the cache Z real disk control table 206 shown in FIG. 4 is a table showing the correspondence between the storage ID range, the real disk range, and the cache range.
  • the storage ID range is the range of the storage ID described above.
  • the real disk range is the range of data positions in the real disk controller 400 (see FIG. 6), and includes node ID, disk ID, and data of the disk range.
  • the node ID is an identifier for identifying the node of the real disk controller 400.
  • the disk ID is an identifier for identifying the disk 404.
  • the disk range is the range of the data position on the disk 404.
  • the cache range is the range of the data position in the cache control device 300 shown in FIG. 5, and includes the node ID and the data of the memory range.
  • the node ID is an identifier for identifying a node of the cache control device 300.
  • the memory range is the range of the data position in the cache memory 304.
  • the network interface card 201 controls communication with the protocol processor 100, the cache controller 300, etc. according to a predetermined communication protocol. I do.
  • the network driver 202 drives and controls the network interface card 201.
  • the internal protocol analyzer 203 has a function of receiving the data 130 shown in FIG. 7 (c) from the protocol processor 100.
  • the internal protocol analyzer 203 also has a function of analyzing the data 130 and generating the data 210 shown in FIG. 8 (a).
  • the data 210 consists of a client address 211, a response header 121 (see FIG. 7 (c)) and request data 122 (see FIG. 7 (c)).
  • the client address 211 is included in the internal header 131 (see Fig. 7 (c)).
  • the data position search unit 204 uses the storage ID included in the request data 1222 of the data 130 as a key.
  • the actual disk control table 206 (see Fig. 4) It has a function to search data positions in the real disk controller 400 and the cache controller 300 from the 9th.
  • the data position search unit 204 also has a function of generating the data 220 shown in FIG. 8 (b) and passing the data 220 to the internal protocol transmission unit 205.
  • the data 220 is composed of the client address 211 (see FIG. 8 (a)), the response header 121 (see FIG. 8 (a)), and the data of the data position 221.
  • the data position 221 is the search result of the data position search unit 204, and is the real disk range and the cache range shown in FIG. If the data does not exist in the cache control device 300, the data position 221 includes only the real disk range and does not include the cache range.
  • the internal protocol transmitting unit 205 generates the data 230 shown in FIG. 8 (c) based on the data 220 (see FIG. 8 (b)) from the data position searching unit 204, and transmits this to the next cache. It has a function of transmitting data to the control device 300 or the real disk control device 400 (or only the cache control device 300 or only the real disk control device 400).
  • Data 230 is the data of internal header 131 (client address, command type: see Fig. 7 (c)), response header 121 (see Fig. 8 (b)) and data position 221 (see Fig. 8 (b)). It is composed of
  • the internal header 131 includes, as shown in FIG. 8 (d), the number of data transmissions, the first transmission destination, the second transmission destination, ⁇ , composed of command type data.
  • the number of data transmissions is the number of destinations (clients, cache control devices 300) to which data should be transmitted when accessing the real disk control device 400.
  • the first destination is the address of the client (either clients of the client 10! ⁇ 10 n).
  • the second transmission destination is the address of the cache control device 300.
  • the cache controller 300 receives the data 230 (see FIG. 8 (c)) from the internal protocol transmitter 205 of the storage controller 200, and Based on 230, it has a function to read data from cache memory 304 (see Fig. 5) and to write data to cache memory 304.
  • the network interface card 301 has a storage control device 200, a real disk control device 400, and a client 100i to 1 according to a predetermined communication protocol. 0 n controls the communication between the one of the clients, etc. of.
  • the network dryino 302 drives and drives the network interface card 301.
  • the internal protocol analyzer 303 has a function of receiving the data 230 shown in FIG. 8 (c) from the storage controller 200. Further, the internal protocol analyzer 303 has a function of analyzing the data 230 and generating the data 310 shown in FIG. 9 (a).
  • the data 310 is composed of the client address 211 (see Fig. 8 (b)), the response header 121 (see Fig. 8 (c)), and the data position 222 (Fig. 8 (c)). See).
  • the cache memory 304 is, for example, a SRAM, and has a characteristic that the access time is shorter than that of the disk 404 (see FIG. 6) but has a smaller capacity. ing.
  • the cache memory 304 stores part of the data stored in the disk 404.
  • the storage states of the cache memory 304 and the disk 404 are managed in the cache actual disk control table 206 described above (see FIG. 4).
  • the cache control unit 305 controls access to the cache memory 304.
  • the data adding unit 306 sets the data read from the cache memory 304 as response data 321 as response data 321 as shown in FIG. This is added and transmitted to the response data transmission unit 307 as data 320.
  • the response data transmission unit 307 has a function of transmitting the data 330 shown in FIG. 9 (c) to the client address included in the internal header 131 (see FIG. 8 (c)).
  • the data 330 is composed of the response header 121 (see FIG. 9 (b)) and the response data 321 (see FIG. 9 (b)).
  • the real disk controller 400 receives the data 230 (see FIGS. 8 (c) and (d)) from the storage controller 200, and based on the data 230, the disk 404 (FIG. 6). Reads data from and writes data to the disk 404.
  • the network in tough We Sukado 601 according to a predetermined communication protocol, the storage control device 20 0, and the like either a client of the cache controller 300 and the client 10 to 10 n Control communications between.
  • the network dryno 402 drives and controls the network interface card 401.
  • the internal protocol analyzer 403 has a function of receiving the data 230 shown in FIGS. 8 (c) and (d) from the storage controller 200.
  • the internal protocol analysis unit 403 also has a function of analyzing the data 230 and generating the data 410 shown in FIG. 10 (a).
  • the data 410 is composed of a client address 211, a response header 121 (see FIG. 8 (c)), and a data position 221 (see FIG. 8 (c)).
  • the client address 211 corresponds to the first destination shown in FIG. 8 (d).
  • the disk 404 is a recording medium that has a large capacity and an access time that is slower than that of the cache memory 304 (see FIG. 5). is there.
  • the disk driver 405 drives and controls the disk 404.
  • the disk control unit 406 executes data read / write control to the disk 404 and the like. Specifically, at the time of reading, the disk control unit 406 reads data from a predetermined position of the disk 404 based on the data position 221 of the data 410 shown in FIG. This is referred to as response data 420 shown in FIG. 10 (b).
  • the data adding unit 407 adds the response data 420 (see FIG. 10 (b)) to the client address 211 and the response header 121 shown in FIG. 10 (a), Generate data 4330. Further, the data adding unit 407 transmits the data 430 to the response data transmitting unit 408.
  • the response data transmitting unit 408 sends the data 440 (see FIG. 10 (d)) to the client address included in the data 430 (see FIG. 10 (c)) from the data adding unit 407. ) Is sent.
  • the response data transmitting section 408 also transmits the data 440 to the second destination (cache control apparatus 300) shown in FIG. 8 (d).
  • FIG. 11 is a flowchart for explaining the operation of the protocol processor 100 shown in FIG.
  • FIG. 12 is a flowchart for explaining the operation of the storage control device 200 shown in FIG.
  • FIG. 13 is a flowchart for explaining the operation of the cache control device 300 shown in FIG.
  • FIG. 14 is a flow chart for explaining the operation of the real disk control device 400 shown in FIG.
  • step S A1 shown in FIG. 11 the external protocol processing unit 103 of the protocol processing apparatus 100 shown in FIG. (See Fig. 1) to determine whether or not the client has received the data 110 shown in Fig. 7 (a) from any of the clients. In this case, the result of the determination is "No". Repeat the same judgment.
  • step SB 1 shown in FIG. 12 the storage control shown in FIG.
  • the internal protocol analysis unit 203 of the device 200 determines whether or not it has received the data 130 shown in FIG. 7 (c) from the protocol processing device 100. In this case, the result of the determination is “No”, and Repeat the decision.
  • step SC1 shown in FIG. 13 the internal protocol analyzer 303 of the cache controller 300 shown in FIG. 5 receives the data 230 shown in FIG. 8 (c) from the storage controller 200. It is determined whether or not the force has been applied. In this case, the result of the determination is “No” and the same determination is repeated.
  • step SD1 shown in FIG. 14 the internal protocol analyzer 403 of the real disk controller 400 shown in FIG. 6 receives the data 230 shown in FIG. 8 (c) from the storage controller 200. It is determined whether or not the force has been applied. In this case, the result of the determination is “No” and the same determination is repeated.
  • the external protocol processing unit 103 sets the determination result of step S A1 shown in FIG. 11 to “Yes”.
  • step SA2 the external protocol processing unit 103 analyzes the request header 111 of the data 110 shown in FIG. 7 (a).
  • the external protocol processing unit 103 generates the response header 121 shown in FIG. 7 (b), and passes the data 120 to the internal protocol processing unit 104.
  • step SA4 the internal protocol processing unit 104 generates the internal header 131 shown in FIG. 7 (c).
  • the internal protocol processing unit 104 transmits the data 130 shown in FIG. 7 (c) to the next-stage storage control device 200 via the network 20.
  • the internal protocol analysis unit 203 determines in step SB 1 shown in FIG. 595
  • step SB2 the internal protocol analyzer 203 analyzes the internal header 131 shown in FIG. 7C, and passes the data 210 shown in FIG. 8A to the data position search unit 204.
  • step SB3 the data location search unit 204 uses the storage ID included in the request data 122 (see FIG. 8 (a)) as a key to read the cache / real disk control table 206 shown in FIG. Search for a range.
  • the data position search unit 204 searches the data 220 (see FIG. 8 (b)) including the data position 211 (see FIG. 8 (b)) which is the search result. It is generated and passed to the external protocol transmission unit 205.
  • step SB4 the internal protocol transmission unit 205 generates the data 230 shown in FIG. 8 (c).
  • step SB5 the internal protocol transmission unit 205 transmits the data 230 to the cache control device 300 via the network 20.
  • step SB6 internal protocol transmitting section 205 determines whether or not transmission of data 230 has been completed. In this case, the determination result is “No”, and the same determination is repeated.
  • step SB6 the internal protocol transmission unit 205 determines whether or not the data can be written to the cache memory 304 (see FIG. 5). In this case, the determination result is “No”.
  • step SC2 the internal protocol analysis unit 303 analyzes the internal header 131 shown in FIG. 8 (c) and generates data 310 shown in FIG. 9 (a).
  • step SC3 the internal protocol analysis unit 303 determines whether the command type is a read command or a write command based on the analysis result of the internal header 131. Determine if there is. In this case, since it is a read command, in step SC4, the internal protocol analysis unit 303 passes the data 310 (see FIG. 9A) to the cache control unit 305, and instructs data read from the cache memory 304. . As a result, the cache control unit 305 reads data from the data position 221 of the cache memory 304 (see FIG. 9A). In step SC5, the data adding unit 306 adds the response data 321 shown in FIG. 9 (b) to the client address 211 and the response header 121 to generate data 320. Next, the data adding unit 306 transmits the data 320 to the response data transmitting unit 307.
  • step S C6 the response data transmitting unit 307 generates the data 330 shown in FIG. 9 (c), and transmits this to the client 1 Oi.
  • the data 330 is received by the client 10
  • the data reading from the cache control device 300 is completed.
  • the data location search unit 204 uses the storage ID included in the request data 122 (see FIG. 7 (c)) as a key to store the cache / real data shown in FIG.
  • the data position search unit 204 generates data 2 20 (see FIG. 8 (b)) including the data position 211 (see FIG. 8 (b)) which is the search result, and transmits this to the internal protocol.
  • the internal protocol transmission unit 205 generates the data 230 shown in FIG. 8 (c). In this case, the internal header 131 has the configuration shown in FIG. 8 (d).
  • the internal protocol transmission unit 205 transmits the data 230 to the real disk control device 400 via the network 20.
  • step SB6 the internal protocol transmission unit 205 determines whether the transmission of the data 230 has been completed. In this case, the determination result is “No”, and the same determination is repeated.
  • step SB7 the internal protocol transmission unit 205 It is determined whether or not to write data to 4 (see FIG. 5). In this case, since the internal header 131 shown in FIG. 8 (d) is used, the determination result is “Yes”. In step SB8, since the data is written to the cache memory 304 as described later, the internal protocol transmission unit 205 updates the cache real disk control table 206 (see FIG. 4) with respect to the write.
  • step SD2 the internal protocol analysis unit 403 analyzes the internal header 131 shown in FIG. 8 (d), and generates data 410 shown in FIG. 10 (a).
  • step SD3 the internal protocol analysis unit 403 determines whether the command type is a read command or a write command based on the analysis result of the internal header 131. In this case, since the command is a read command, in step SD4, the internal protocol analyzer 403 passes the data 410 (see FIG. 10A) to the disk controller 406, and instructs data read from the disk 404.
  • the disk control unit 406 reads data from the data position 221 of the disk 404 (see FIG. 10 (a)).
  • the data adding unit 407 adds the response data 420 shown in FIG. 10 (b) to the client address 211 and the response header 121, and outputs the data shown in FIG. 10 (c). Generate 430.
  • the data adding unit 407 transmits the data 430 to the response data transmitting unit 408.
  • step SD6 the response data transmitting unit 408 generates the data 440 shown in FIG. 10 (d), and then sends the first transmission destination (client 10) and the second transmission data shown in FIG. 8 (d). Data 440 is sent to both the destination (cache control device 300). Then, when the data 440 is received by the client 1, the data reading from the real disk control device 400 is completed.
  • the data 440 is received by the cache control device 300 shown in FIG. Then, the cache control unit 3 ⁇ 5 writes the response data 420 to the cache memory 304. As a result, the real disk controller 400 and the cache controller
  • the data can be read from the cache control device 300 at the next read.
  • step SA5 the internal protocol processing unit 104 transmits the data 130 shown in FIG. 7C to the next-stage storage control device 200 via the network 20.
  • step SB2 to step SB4 the processing of step SB2 to step SB4 described above is executed.
  • step SB5 the internal protocol transmission unit 205 transmits the data 230 to the real disk control device 400 via the network 20.
  • the internal header 131 of the data 230 has the configuration shown in FIG. 8 (d).
  • step SB6 internal protocol transmitting section 205 determines whether or not transmission of data 230 has been completed. In this case, the determination result is “No”, and the same determination is repeated. Then, when the transmission of the data 230 is completed, the internal protocol transmitting unit 205 sets the determination result of step SB6 to “Yes”.
  • step SB7 the internal protocol transmission unit 205
  • step SB8 the internal protocol transmission unit 205 writes the cache / real disk control table 206 (see FIG. 4) for the write because the data is written to the disk 404 and the cache memory 304 as described later. Update. Then, when the data 230 is received by the real disk control device 400 shown in FIG. 6, the internal protocol analyzer 403 sets the determination result of step SD1 shown in FIG. 14 to “Yes”. In step SD2, the internal protocol analysis unit 403 analyzes the internal header 131 shown in FIG. 8 (d), and generates data 410 shown in FIG. 10 (a).
  • step SD3 the internal protocol analysis unit 403 determines whether the command type is a read command or a write command based on the analysis result of the internal header 131. In this case, since it is a write command, in step SD7, the internal protocol analyzer 403 passes the data 410 (see FIG. 10 (a)) to the disk controller 406, and instructs the disk 404 to write data.
  • the disk control unit 406 writes data to the data position 221 of the disk 404 (see FIG. 10 (a)).
  • the data adding unit 407 adds the response data 420 shown in FIG. 10 (b) to the client address 211 and the response header 121, and outputs the data 4 30 shown in FIG. 10 (c).
  • data adding section 407 transmits data 430 to response data transmitting section 408.
  • step SD6 after generating the data 440 shown in FIG. 10 (c), the response data transmitting unit 408 generates the first transmission destination (client 10!) And the 2 Transmit data 440 to both destinations (cache controller 300). Then, when the data 440 is received by the client 1, the writing of the data to the real disk control device 400 is completed.
  • the cache control unit 305 When the data 440 is received by the cache control device 300 shown in FIG. 5, in step SC7 shown in FIG. 13, the cache control unit 305 The response data 420 (data written to the disk 404) is written to the memory 304. As a result, since the same response data 420 exists in both the real disk controller 400 and the cache controller 300, the data can be read from the cache controller 300 at the next read. Become.
  • the protocol processor 100, the storage controller 200, the cache controller 300, and the real disk controller 400 are connected to the network 20.
  • the cache memory 304 shown in Fig. 5 is used exclusively in the cache controller 300, so that the memory area is increased and the cache memory is increased. The hit rate is increased, and the data access speed can be improved.
  • a program for realizing each function of the protocol processor 100, the storage controller 200, the cache controller 300, or the real disk controller 400 is provided.
  • the program is recorded on the computer-readable recording medium 600 shown in FIG. 15 and the program recorded on the recording medium 600 is read and executed by the computer 500 shown in FIG.
  • the functions described above may be realized by this.
  • the computer 500 shown in the figure includes a CPU (Central Processing Unit) 510 that executes the above program, an input device 520 such as a keyboard and a mouse, and a ROM (Read Only Memory) 530, RAM (Random Access Memory) 540 that stores calculation parameters, etc., reading device 550 that reads programs from recording medium 600, and output devices such as displays and printers It comprises 560 and a bus 570 connecting each part of the device.
  • CPU Central Processing Unit
  • an input device 520 such as a keyboard and a mouse
  • ROM Read Only Memory
  • RAM Random Access Memory
  • reading device 550 that reads programs from recording medium 600
  • output devices such as displays and printers It comprises 560 and a bus 570 connecting each part of the device.
  • the CPU 510 reads the program recorded on the recording medium 600 via the reader 550, and executes the program to execute the functions described above.
  • the recording medium 600 includes recording media such as an optical disk, a flexible disk, and a hard disk.
  • the internal header 13 1 shown in FIG. 8 (d) is used to transfer a plurality of devices (for example, a client and a cache control device 300 0) from the real disk control device 400.
  • a plurality of devices for example, a client and a cache control device 300 0
  • the same data may be transmitted from the cache control device 300 to a plurality of devices using the internal header 131.
  • the cache device, the disk device, and the control device are distributed and arranged on the network and are controlled independently, so that the cache memory is exclusively used in the cache device.
  • the memory area increases, the cache hit rate increases, and the data access speed can be improved.
  • the cache device or the disk device accesses the cache memory or the disk based on the control data and transmits the access result directly to the client, thereby eliminating unnecessary data transfer.
  • the effect is that the access speed can be improved.
  • the disk device transmits the access result to a plurality of destinations based on the control data, so that the data can be duplicated and the reliability can be improved. This has the effect.
  • the cache device stores the access result in the cache memory, so that the data can be easily duplicated for high-speed access.
  • the cache device transmits the access result to a plurality of destinations based on the control data, so that data can be duplicated and reliability and reliability can be improved. To play.
  • the cache memory is cached. Since it is used exclusively in the cache device, the memory area increases, the cache hit rate increases, and the data access speed can be improved. Industrial applicability
  • the storage system, the storage control program, and the storage control method according to the present invention are useful for, for example, data storage that requires high-speed access on a network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

明 細 書 ストレージシステム、 ストレージ制御プログラムおよぴストレージ制御方法 技術分野
本発明は、 ネットワーク上でデータを格納するためのストレージシステム、 ス トレージ制御プログラムおよびストレージ制御方法に関するものであり、 特に、 データのアクセス速度を向上させることができるストレージシステム、 ストレー ジ制御プログラムおよびストレージ制御方法に関するものである。 背景技術
第 1 6図は、 従来のストレージ装置の構成を示すブロック図である。 この図に おいて、 クライアント 1 0 i 〜1 0 n のそれぞれは、 ネットワーク 2 0を介して、 ストレージ装置 3 0へアクセス可能なコンピュータ端末であり、 ストレージ装置 3 0からのデータのリードや、 ストレージ装置 3 0へのデータのライトを行う。 ストレージ装置 3 0は、 記録媒体としてのディスク 3 4およびキャッシュメモ リ 3 7を備え、 大容量データを記憶する装置である。 このストレージ装置 3 0に おいて、 ネットワークインタフェースカード 3 1は、 所定の通信プロトコルに従 つて、 クライアント 1 0 i 〜1 0 n との間の通信を制御する。 ネットワークドラ ィバ 3 2は、 ネットワークインタフェースカード 3 1を駆動制御する。
ディスク 3 4は、 大容量であってかつアクセス時間が、 キャッシュメモリ 3 7 に比べて遅いという特性を備えた記録媒体である。 ディスクドライバ 3 5は、 デ イスク 3 4を駆動制御する。 ディスク制御部 3 6は、 ディスク 3 4へのデータの リード/ライ ト制御や、 ディスク 3 4に関する R A I D (Redundant Array of I ndependent Disks) 制御を実行する。 ここで、 R A I D制御とは、 ディスク 3 4 を複数並べて 1台のディスクのように使用し、 信頼性や処理速度を高める制御を いう。 キャッシュメモリ 3 7は、 例えば、 S R AM (Static Random Access Memor y) であり、 アクセス時間がディスク 3 4に比べて短いが、 小容量であるという 特性を備えている。
このキャッシュメモリ 3 7には、 ディスク 3 4に記憶されているデータの一部 が記憶されている。 キャッシュ制御部 3 8は、 キャッシュメモリ 3 7へのァクセ スを制御する。 プロトコル処理部 3 3は、 クライアント 1 0 i 〜: 1 0 η からのリ ード Zライト要求に応じて、 各部を制御する。
上記構成において、 例えば、 クライアント 1 0 からリード要求があると、 キ ャッシュ制御部 3 8は、 リード要求されたデ一タがキャッシュメモリ 3 7に記憶 されている力否かを判断する。 ここで、 当該データがキャッシュメモリ 3 7に記 憶されている場合 (キャッシュヒット)、 キャッシュ制御部 3 8は、 キャッシュ メモリ 3 7から当該データをリードし、 これをクライアント 1 0 に渡す。
一方、 キヤッシュヒットしない場合、 ディスク制御部 3 6は、 ディスクドライ ノく 3 5を介して、 ディスク 3 4から当該データをリードし、 これをクライアント 1 0 1 に渡す。 このように、 ディスク 3 4からデータがリードされた場合には、 キャッシュメモリ 3 7の場合に比して、 アクセス時間が長い。
また、 例えば、 クライアント 1 0 i からライト要求があると、 ディスク制御部 3 6は、 ディスクドライバ 3 5を介して、 データをディスク 3 4にライトする。 さらに、 ディスク制御部 3 6は、 当該データをキヤッシュ制御部 3 8に渡す。 こ れにより、 キャッシュ制御部 3 8は、 ディスク 3 4にライトされたデータと同一 のデータをキャッシュメモリ 3 7にライトする。
ここで、 ライト時にキャッシュメモリ 3 7に空き領域が無い場合には、 キヤッ シュ制御部 3 8は、 一部のデータをキャッシュメモリ 3 7から消去することで空 き領域を確保した後、 この空き領域に当該データをライトする。
ところで、 前述したように従来のストレージ装置 3 0においては、 ディスク 3 4の制御、 キャッシュメモリ 3 7の制御等の機能の全てを 1台のノードに持たせ ている。 02 00595
3 ここで、 ディスク 3 4においては、 ランダムアクセスが遅いという性能上の特 性がある。 従って、 従来のストレージ装置 3 0においては、 キャッシュメモリ 3 7でキヤッシュヒットしない限り、 全く性能がでない。 一方、 ネットワーク 2 0 の性能は、 向上し続けており、 ランダムアクセスのみならず、 シーケンシャルァ クセスであっても、 ストレージ装置 3 0の性能がシステム全体のボトルネックに なっている。
例えば、 ディスク 3 4において、 シーケンシャルアクセスで 5 0〜8 0 MB/ s程度の能力があるが、 ランダムアクセスでは、 1 O MB/ sも性能が出ない。 また、 ディスク 3 4における平均シーク時間は、 4 m s程度である。
これに対して、 ネットワーク 2 0では、 バンド幅が 1 2 O MBZ s、 レスポン ス時間が 1 0 0〜2 0 0 μ sという高い能力が発揮でき、 高速インタ一コネクト 等の高速ィヒ技術を使えば、 パンド幅およびレスポンス時間が共に 1桁向上する。 このように、 ストレ一ジ装置 3 0の能力は、 ネットワーク 2 0の能力に比べて、 劣っていることがわかる。
また、 ストレージ装置 3 0が最大の性能を発揮できるのは、 アクセスされるデ ータがキャッシュメモリ 3 7に記憶されている場合、 すなわち、 キャッシュヒッ トした場合である。 ここで、 キャッシュヒット率は、 キャッシュメモリ 3 7のメ モリサイズに強く依存している。 従って、 キャッシュメモリ 3 7のメモリサイズ が大きい程、 キャッシュヒッ ト率が高くなり、 ストレージ装置 3 0の性能が向上 する。
しかしながら、 従来のストレージ装置 3 0では、 ディスク 3 4の制御、 キヤッ シュメモリ 3 7の制御等の機能の全てを 1台のノードに持たせているため、 キヤ ッシュメモリ 3 7のメモリサイズが制限される。 また、 従来のストレージ装置 3 0では、 キヤッシュ制御以外の制御でキヤッシュメモリ 3 7のメモリ領域が消費 されるため、 おのずと、 キャッシュ制御に使用可能なメモリ領域が少なくなる。 従って、 従来のストレージ装置 3 0は、 性能向上のためのキャッシュメモリ 3 7のメモリ領域に制限があるため、 システム上のボトルネック (データのァクセ ス速度の低下) が存在するという問題点があった。
本発明は、 上記に鑑みてなされたもので、 データのアクセス速度を向上させる ことができるストレージ装置を提供することを目的としている。 発明の開示
上記目的を達成するために、 本発明は、 高速アクセス記録媒体としてのキヤッ シュメモリを有するキヤッシュ装置と、 大容量記録媒体としてのディスクを有す るディスク装置と、 クライアントからのアクセス要求を受け付け、 前記キヤッシ ュ装置、 前記ディスク装置へアクセス要求に応じた処理を実行させる制御装置と を備え、 前記キャッシュ装置、 前記ディスク装置および前記制御装置は、 ネット ワーク上に分散配置されていることを特徴とする。
この発明によれば、 キャッシュ装置、 ディスク装置および制御装置をネットヮ ーク上に分散配置し、 独立的に制御を行うようにしたので、 キャッシュメモリが キャッシュ装置内で独占的に使用されるため、 メモリ領域が増え、 キャッシュヒ ット率が高くなり、 データのアクセス速度を向上することができる。
また、 本発明は、 高速アクセス記録媒体としてのキャッシュメモリを有するキ ャッシュ装置と、 大容量記録媒体としてのディスクを有するディスク装置とがネ ットワーク上に分散配置されているストレージシステムで用いられるストレージ 制御プログラムであって、 コンピュータを、 クライアントからのアクセス要求を 受け付ける受付手段、 前記キャッシュ装置、 前記ディスク装置へアクセス要求に 応じた処理を実行させるための制御データを生成する生成手段、 前記キヤッシュ 装置、 前記ディスク装置のうちいずれか一方へ前記制御データを送信する送信手 段として機能させるためのストレージ制御プログラムである。
また、 本発明は、 高速アクセス記録媒体としてのキャッシュメモリを有するキ ャッシュ装置と、 大容量記録媒体としてのディスクを有するディスク装置とがネ ットワーク上に分散配置されているストレージシステムで用いられるストレージ 制御方法であって、 クライアントからのアクセス要求を受け付ける受付工程と、 前記キヤッシュ装置、 前記デイスク装置ヘアクセス要求に応じた処理を実行させ るための制御データを生成する生成工程と、 前記キャッシュ装置、 前記ディスク 装置のうちいずれか一方へ前記制御データを送信する送信工程とを含むことを特 徴とする。
かかる発明によれば、 キャッシュ装置およびディスク装置をネットワーク上に 分散配置し、 独立的に制御を行うようにしたので、 キャッシュメモリがキヤッシ ュ装置内で独占的に使用されるため、 メモリ領域が増え、 キャッシュヒット率が 高くなり、 データのアクセス速度を向上させることができる。 図面の簡単な説明
第 1図は、 本発明にかかる一実施の形態の構成を示すブロック図であり、 第 2 図は、 第 1図に示したプロトコル処理装置 1 0 0の構成を示すブロック図であり、 第 3図は、 第 1図に示したストレージ制御装置 2 0 0の構成を示すプロック図で あり、 第 4図は、 同一実施の形態で用いられるキャッシュ Z実ディスク制御表 2 0 6を示す図であり、 第 5図は、 第 1図に示したキャッシュ制御装置 3 0 0の構 成を示すプロック図であり、 第 6図は、 第 1図に示した実ディスク制御装置 4 0 0の構成を示すブロック図であり、 第 7図は、 第 1図に示したプロトコル処理装 置 1 0 0の動作を説明する図であり、 第 8図は、 第 1図に示したス トレージ制御 装置 2 0 0の動作を説明する図であり、 第 9図は、 第 1図に示したキャッシュ制 御装置 3 0 0の動作を説明する図であり、 第 1 0図は、 第 1図に示した実デイス ク制御装置 4 0 0の動作を説明する図であり、 第 1 1図は、 第 1図に示したプロ トコル処理装置 1 0 0の動作を説明するフローチャートであり、 第 1 2図は、 第 1図に示したストレージ制御装置 2 0 0の動作を説明するフローチャートであり、 第 1 3図は、 第 1図に示したキャッシュ制御装置 3 0 0の動作を説明するフロー チャートであり、 第 1 4図は、 第 1図に示した実ディスク制御装置 4 0 0の動作 を説明するフローチャートであり、 第 1 5図は、 同一実施の形態の変形例の構成 を示すプロック図であり、 第 1 6図は、 従来のストレージ装置 3 0の構成を示す プロック図である。
発明を実施するための最良の形態
以下、 図面を参照して本発明にかかる一実施の形態について詳細に説明する。 第 1図は、 本発明にかかる一実施の形態の構成を示すプロック図である。 この図 において、 第 1 6図の各部に対応する部分には同一の符号を付ける。 同図におい ては、 第 1 6図に示したストレージ装置 3 0に代えて、 プロトコル処理装置 1 0 0、 ストレージ制御装置 2 0 0、 キヤッシュ制御装置 3 0 0およぴ実ディスク制 御装置 4 0 0がネットワーク 2 0に接続されている。 ここで、 プロトコル処理装 置 1 0 0、 ストレージ制御装置 2 0 0、 キヤッシュ制御装置 3 0 0および実ディ スク制御装置 4 0 0は、 ストレージシステムを構成している。
プロトコル処理装置 1 0 0は、 ネットワーク 2 0を介して、 クライアント 1 0 ! ~ 1 0„ のうちいずれかのクライアントからのリード/ライト要求を受け付け、 次段のストレージ制御装置 2 0 0へ処理を依頼する機能を備えている。
第 2図に示したプロトコノレ処理装置 1 0 0において、 ネットワークインタフエ ースカード 1 0 1は、 所定の通信プロトコルに従って、 クライアント 1 0 i 〜1 0 n やストレージ制御装置 2 0 0等との間の通信を制御する。 ネットワークドラ ィバ 1 0 2は、 ネットワークインタフェースカード 1 0 1を駆動制御する。
外部プロトコル処理部 1 0 3は、 クライアント 1 0 〜1 0 n のうちいずれか のクライアントから、 第 7図 (a ) に示したデータ 1 1 0を受信する機能を備え ている。 このデータ 1 1 0は、 要求ヘッダ 1 1 1および要求データ 1 1 2から構 成されている。
要求ヘッダ 1 1 1には、 コマンド (リードコマンド/ライトコマンド) を識別 するためのコマンド I D、 コマンド種類に関するデータが含まれている。 一方、 要求データ 1 1 2には、 データの格納位置を表すストレージ I Dのデータが含ま れている。 ここで、 コマンドがリードコマンドの場合、 要求データ 1 1 2には、 リードデータのオフセット .サイズのデータも含まれている。 一方、 コマンドが ライトコマンドの場合、 要求データ 112には、 ライトデータのオフセット .サ ィズのデータや、 ライトデータ自体も含まれている。
また、 外部プロトコル処理部 103は、 第 7図 (b) に示したデータ 120を 生成し、 これを内部プロトコル処理部 104へ渡す機能を備えている。 データ 1 20は、 応答ヘッダ 121および要求データ 122から構成されている。
応答ヘッダ 121は、 リード ライト要求元 (クライアント 10 〜10n の うちいずれかのクライアント) へのコマンドの実行状態 (成功または失敗) 等を 応答するためのヘッダフォーマツトである。 この応答ヘッダ 121には、 コマン ド I Dおよびコマンドの実行状態 (成功または失敗) のデータが、 キャッシュ制 御装置 300、 実ディスク制御装置 00で格納される。
要求データ 122には、 要求データ 122 (ストレージ I D、 データのオフセ ット ·サイズ、 (データ自体)) 力 ストレージ制御装置 200の内部プロトコル 解析部 203 (第 3図参照) で解析可能な形式のデータとして含まれている。 第 2図に戻り、 内部プロトコル処理部 104は、 外部プロトコル処理部 103 からデータ 120 (第 7図 (b) 参照) を受け取り、 このデータ 120に基づい て、 第 7図 (c) に示したデータ 130を生成する機能と、 このデータ 130を 次段のストレージ制御装置 200へ送信する機能とを備えている。
データ 130は、 内部ヘッダ 131、 応答ヘッダ 121 (第 7図 (b) 参照) および要求データ 122 (第 7図 (b) 参照) から構成されている。 内部ヘッダ 131には、 リード Zライト要求元 (クライアント 10t 〜10n のうちいずれ かのクライアント) のアドレスや、 コマンドの種類 (リード Zライトコマンド) のデータが含まれている。
第 1図に戻り、 ストレージ制御装置 200は、 プロトコル処理装置 100から データ 130 (第 7図 (c) 参照) を受信し、 このデータ 130および第 4図に 示したキャッシュ Z実ディスク制御表 206に基づいて、 キャッシュ制御装置 3 00、 実ディスク制御装置 4◦ 0におけるデータの位置を検索する機能を備えて いる。 第 4図に示したキャッシュ Z実ディスク制御表 2 0 6は、 ストレージ I D範囲、 実ディスク範囲およびキヤッシュ範囲の対応関係を表す表である。 ストレージ I D範囲は、 前述したストレージ I Dの範囲である。 実ディスク範囲は、 実デイス ク制御装置 4 0 0 (第 6図参照) におけるデータ位置の範囲であり、 ノード I D、 ディスク I Dおよびディスク範囲のデータを含んでいる。
ノード I Dは、 実ディスク制御装置 4 0 0のノードを識別するための識別子で ある。 ディスク I Dは、 ディスク 4 0 4を識別するための識別子である。 デイス ク範囲は、 当該ディスク 4 0 4におけるデータ位置の範囲である。
第 4図に戻り、 キャッシュ範囲は、 第 5図に示したキャッシュ制御装置 3 0 0 におけるデータ位置の範囲であり、 ノード I Dおよびメモリ範囲のデータを含ん でいる。 ノード I Dは、 キャッシュ制御装置 3 0 0のノードを識別するための識 別子である。 メモリ範囲は、 キャッシュメモリ 3 0 4におけるデータ位置の範囲 である。
第 3図に示したストレージ制御装置 2 0 0において、 ネットワークインタフエ ースカード 2 0 1は、 所定の通信プロトコルに従って、 プロトコル処理装置 1 0 0やキャッシュ制御装置 3 0 0等との間の通信を制御する。 ネットワークドライ バ 2 0 2は、 ネットワークインタフェースカード 2 0 1を駆動制御する。
内部プロトコル解析部 2 0 3は、 プロトコル処理装置 1 0 0から、 第 7図 ( c ) に示したデータ 1 3 0を受信する機能を備えている。
また、 内部プロトコル解析部 2 0 3は、 上記データ 1 3 0を解析し、 第 8図 ( a ) に示したデータ 2 1 0を生成する機能も備えている。
データ 2 1 0は、 クライアントァドレス 2 1 1、 応答ヘッダ 1 2 1 (第 7図 ( c ) 参照) および要求データ 1 2 2 (第 7図 (c ) 参照) から構成されている。 クライアントアドレス 2 1 1は、 内部ヘッダ 1 3 1 (第 7図 ( c ) 参照) に含ま データ位置検索部 2 0 4は、 データ 1 3 0の要求データ 1 2 2に含まれるスト レージ I Dをキーとして、 キヤッシュノ実ディスク制御表 2 0 6 (第 4図参照) 9 力 ら実ディスク制御装置 400、 キャッシュ制御装置 300におけるデータ位置 を検索する機能を備えている。
また、 データ位置検索部 204は、 第 8図 (b) に示したデータ 220を生成 し、 このデータ 220を内部プロトコル送信部 205へ渡す機能も備えている。 このデータ 220は、 クライアントアドレス 21 1 (第 8図 (a) 参照)、 応答 ヘッダ 121 (第 8図 (a) 参照) およびデータ位置 221のデータから構成さ れている。
データ位置 221は、 データ位置検索部 204の検索結果であり、 第 4図に示 した実ディスク範囲、 キャッシュ範囲である。 なお、 キャッシュ制御装置 300 に当該データが存在しない場合、 データ位置 221には、 実ディスク範囲のみが 含まれ、 キャッシュ範囲が含まれない。
内部プロトコル送信部 205は、 データ位置検索部 204からのデータ 220 (第 8図 (b) 参照) に基づいて、 第 8図 (c) に示したデータ 230を生成し、 これを次段のキヤッシュ制御装置 300または実ディスク制御装置 400 (また は、 キヤッシュ制御装置 300のみ、 または実ディスク制御装置 400のみ) へ 送信する機能を備えている。
データ 230は、 内部ヘッダ 131 (クライアントアドレス、 コマンド種類: 第 7図 (c) 参照)、 応答ヘッダ 121 (第 8図 (b) 参照) およびデータ位置 221 (第 8図 (b) 参照) のデータから構成されている。
ここで、 実ディスク制御装置 400へ送信されるデータ 230の場合、 内部へ ッダ 131は、 第 8図 (d) に示したように、 データ送信数、 第 1送信先、 第 2 送信先、 ···、 コマンド種類のデータから構成されている。
データ送信数は、 実ディスク制御装置 400へのアクセスした際のデータを送 信すべき先 (クライアント、 キャッシュ制御装置 300) の数である。 第 1送信 先は、 クライアント (クライアント 10! 〜10n のうちいずれかのクライアン ト) のアドレスである。 第 2送信先は、 キャッシュ制御装置 300のアドレスで ある。 このように、 実ディスク制御装置 400にアクセスした場合には、 同一の データがクライアントおよびキャッシュ制御装置 3 0 0の双方へ並列的に送信さ れる。
第 1図に戻り、 キヤッシュ制御装置 3 0 0は、 ストレージ制御装置 2 0 0の内 部プロトコル送信部 2 0 5からデータ 2 3 0 (第 8図 (c ) 参照) を受信し、 こ のデータ 2 3 0に基づいて、 キャッシュメモリ 3 0 4 (第 5図参照) からデータ をリードしたり、 キャッシュメモリ 3 0 4にデータをライトする機能を備えてい る。
第 5図に示したキャッシュ制御装置 3 0 0において、 ネットワークインタフエ ースカード 3 0 1は、 所定の通信プロトコルに従って、 ストレージ制御装置 2 0 0、 実ディスク制御装置 4 0 0やクライアント 1 0 i 〜1 0 n のうちいずれかの クライアント等との間の通信を制御する。 ネットワークドライノ 3 0 2は、 ネッ トワークインタフェースカード 3 0 1を驅動制御する。
内部プロ トコル解析部 3 0 3は、 ストレージ制御装置 2 0 0から、 第 8図 ( c ) に示したデータ 2 3 0を受信する機能を備えている。 また、 内部プロトコ ノレ解析部 3 0 3は、 上記データ 2 3 0を解析し、 第 9図 ( a ) に示したデータ 3 1 0を生成する機能も備えている。
データ 3 1 0は、 クライアントアドレス 2 1 1 (第 8図 ( b ) 参照)、 応答へ ッダ 1 2 1 (第 8図 (c ) 参照) およびデータ位置 2 2 1 (第 8図 (c ) 参照) から構成されている。
第 5図に戻り、 キャッシュメモリ 3 0 4は、 例えば、 S R AMであり、 ァクセ ス時間がディスク 4 0 4 (第 6図参照) に比べて短いが、 小容量であるという特 个生を備えている。
このキャッシュメモリ 3 0 4には、 ディスク 4 0 4に記憶されているデータの 一部が記憶されている。 これらのキャッシュメモリ 3 0 4およびディスク 4 0 4 の記憶状態は、 前述したキャッシュ 実ディスク制御表 2 0 6 (第 4図参照) で 管理されている。 キャッシュ制御部 3 0 5は、 キャッシュメモリ 3 0 4へのァク セスを制御する。 データ付加部 306は、 コマンドがリードコマンドである場合、 第 9図 (b) に示したように、 キャッシュメモリ 304からリードしたデータを応答データ 3 21として、 クライアントアドレス 21 1および応答ヘッダ 1 21に付加し、 こ れをデータ 320として応答データ送信部 307へ送信する。
応答データ送信部 307は、 内部ヘッダ 131 (第 8図 (c) 参照) に含まれ るクライアントアドレスへ第 9図 (c) に示したデータ 330を送信する機能を 備えている。 このデータ 330は、 応答ヘッダ 121 (第 9図 (b) 参照) およ ぴ応答データ 321 (第 9図 (b) 参照) 力 ら構成されている。
第 1図に戻り、 実ディスク制御装置 400は、 ストレージ制御装置 200から データ 230 (第 8図 (c) および (d) 参照) を受信し、 このデータ 230に 基づいて、 ディスク 404 (第 6図参照) からデータをリードしたり、 ディスク 404にデータをライトする機能を備えている。
第 6図に示した実ディスク制御装置 400において、 ネットワークインタフヱ ースカード 601は、 所定の通信プロトコルに従って、 ストレージ制御装置 20 0、 キャッシュ制御装置 300やクライアント 10 〜10n のうちいずれかの クライアント等との間の通信を制御する。 ネットワークドライノ 402は、 ネッ トワークインタフェースカード 401を駆動制御する。
内部プロ トコル解析部 40 3は、 ス トレージ制御装置, 200から、 第 8図 (c) および (d) に示したデータ 230を受信する機能を備えている。 また、 内部プロトコル解析部 403は、 上記データ 230を解析し、 第 10図 ( a ) に 示したデータ 410を生成する機能も備えている。
データ 410は、 ライアントアドレス 21 1、 応答ヘッダ 1 21 (第 8図 (c) 参照) およびデータ位置 221 (第 8図 (c) 参照) から構成されている。 クライアントアドレス 211は、 第 8図 (d) に示した第 1送信先に対応してい る。
第 6図に戻り、 ディスク 404は、 大容量であってかつアクセス時間が、 キヤ ッシュメモリ 304 (第 5図参照) に比べて遅いという特性を備えた記録媒体で ある。 ディスクドライバ 4 0 5は、 ディスク 4 0 4を駆動制御する。 ディスク制 御部 4 0 6は、 ディスク 4 0 4へのデータのリード ライト制御等を実行する。 具体的には、 リード時、 ディスク制御部 4 0 6は、 第 1 0図に示したデータ 4 1 0のデータ位置 2 2 1に基づいて、 ディスク 4 0 4の所定位置からデータをリ ードし、 これを第 1 0図 (b ) に示した応答データ 4 2 0とする。
データ付加部 4 0 7は、 第 1 0図 (a ) に示したクライアントアドレス 2 1 1 および応答ヘッダ 1 2 1に、 応答データ 4 2 0 (第 1 0図 (b ) 参照) を付加し、 データ 4 3 0を生成する。 また、 データ付加部 4 0 7は、 データ 4 3 0を応答デ 一タ送信部 4 0 8へ送信する。
応答データ送信部 4 0 8は、 データ付加部 4 0 7からのデータ 4 3 0 (第 1 0 図 (c ) 参照) に含まれるクライアントアドレスへデータ 4 4 0 (第 1 0図 ( d ) 参照) を送信する。
また、 応答データ送信部 4 0 8は、 第 8図 (d ) に示した第 2送信先 (キヤッ シュ制御装置 3 0 0 ) にもデータ 4 4 0を送信する。
つぎに、 一実施の形態の動作について、 第 1 1図〜第 1 4図に示したフローチ ヤートを参照しつつ説明する。 第 1 1図は、 第 1図に示したプロトコノレ処理装置 1 0 0の動作を説明するフローチャートである。 第 1 2図は、 第 1図に示したス トレージ制御装置 2 0 0の動作を説明するフローチャートである。 第 1 3図は、 第 1図に示したキャッシュ制御装置 3 0 0の動作を説明するフローチャートであ る。 第 1 4図は、 第 1図に示した実ディスク制御装置 4 0 0の動作を説明するフ ローチャートである。
第 1 1図に示したステップ S A 1では、 第 2図に示したプロトコル処理装置 1 0 0の外部プロトコル処理部 1 0 3は、 クライアント 1 0 , 〜: L 0。 (第 1図参 照) のうちいずれかのクライアントから第 7図 (a ) に示したデータ 1 1 0を受 信した力否かを判断し、 この場合、 判断結果を 「N o」 として、 同判断を繰り返 す。
また、 第 1 2図に示したステップ S B 1では、 第 3図に示したストレージ制御 装置 200の内部プロトコル解析部 203は、 プロ トコル処理装置 100から第 7図 (c) に示したデータ 130を受信した力否かを判断し、 この場合、 判断結 果を 「No」 として、 同判断を繰り返す。
また、 第 1 3図に示したステップ SC 1では、 第 5図に示したキャッシュ制御 装置 300の内部プロトコル解析部 303は、 ストレージ制御装置 200から第 8図 (c) に示したデータ 230を受信した力否かを判断し、 この場合、 判断結 果を 「No」 として、 同判断を繰り返す。
また、 第 14図に示したステップ SD 1では、 第 6図に示した実ディスク制御 装置 400の内部プロトコル解析部 403は、 ストレージ制御装置 200から第 8図 (c) に示したデータ 230を受信した力否かを判断し、 この場合、 判断結 果を 「No」 として、 同判断を繰り返す。
そして、 例えば、 クライアント 10i からプロトコル処理装置 100へリード 用のデータ 1 10 (第 7図 (a) 参照) が送信されると、 このデータ 110は、 ネットワーク 20を介して、 第 2図に示したプロトコル処理装置 100に受信さ れる。 この場合、 リード用であるため、 要求ヘッダ 1 11 (第 7図 (a) 参照) のコマンド種類は、 リードコマンドである。
これにより、 外部プロトコル処理部 103は、 第 1 1図に示したステップ S A 1の判断結果を 「Ye s」 とする。 ステップ SA2では、 外部プロトコル処理部 103は、 第 7図 (a) に示したデータ 110の要求ヘッダ 1 11を解析する。 ステップ SA3では、 外部プロトコル処理部 103は、 第 7図 (b) に示した応 答ヘッダ 121を生成し、 データ 120を内部プロトコル処理部 104へ渡す。 ステップ SA4では、 内部プロトコノレ処理部 104は、 第 7図 (c) に示した 内部ヘッダ 131を生成する。 ステップ S A 5では、 内部プロトコル処理部 10 4は、 第 7図 (c) に示したデータ 130をネットワーク 20を介して、 次段の ストレージ制御装置 200へ送信する。
そして、 データ 130が第 3図に示したストレージ制御装置 200に受信され ると、 内部プロトコル解析部 203は、 第 12図に示したステップ SB 1の判断 595
14 結果を 「Ye s」 とする。 ステップ SB 2では、 内部プロトコノレ解析部 203は、 第 7図 (c) に示した内部ヘッダ 131を解析し、 第 8図 (a) に示したデータ 210をデータ位置検索部 204へ渡す。
ステップ S B 3では、 データ位置検索部 204は、 要求データ 122 (第 8図 (a) 参照) に含まれるス トレージ I Dをキーとして、 第 4図に示したキヤッシ ュ/実ディスク制御表 206からキャッシュ範囲を検索する。 ここで、 キヤッシ ュ範囲が検索された場合、 データ位置検索部 204は、 検索結果であるデータ位 置 211 (第 8図 (b) 参照) を含むデータ 220 (第 8図 (b) 参照) を生成 し、 これを內部プロトコル送信部 205へ渡す。
ステヅプ SB 4では、 内部プロトコル送信部 205は、 第 8図 (c) に示した データ 230を生成する。 ステップ SB 5では、 内部プロトコノレ送信部 205は、 ネットワーク 20を介して、 キヤッシュ制御装置 300へデータ 230を送信す る。
ステップ S B 6では、 内部プロトコル送信部 205は、 データ 230の送信が 完了したか否かを判断し、 この場合、 判断結果を 「No」 として、 同判断を繰り 返す。
そして、 データ 230の送信が完了すると、 内部プロトコル送信部 205は、 ステップ SB 6の判断結果を 「Ye s」 とする。 ステップ SB 7では、 内部プロ トコル送信部 205は、 キャッシュメモリ 304 (第 5図参照) へデータをライ トする力、否かを判断し、 この場合、 判断結果を 「No」 とする。
そして、 データ 230が第 5図に示したキャッシュ制御装置 300に受信され ると、 内部プロトコノレ解析部 303は、 第 13図に示したステップ SC 1の判断 結果を 「Ye s」 とする。 ステップ SC2では、 内部プロトコル解析部 303は、 第 8図 (c) に示した内部ヘッダ 131を解析し、 第 9図 (a) に示したデータ 310を生成する。
ステップ S C 3では、 内部プロトコル解析部 303は、 内部ヘッダ 131の解 析結果より、 コマンド種類がリードコマンドまたはライトコマンドのいずれかで あるかを判断する。 この場合、 リードコマンドであるため、 ステップ SC 4では、 内部プロトコル解析部 303は、 キヤッシュ制御部 305にデータ 310 (第 9 図 (a) 参照) を渡し、 キャッシュメモリ 304からのデータリードを指示する。 これにより、 キャッシュ制御部 305は、 キャッシュメモリ 304のデータ位 置 221 (第 9図 (a) 参照) からデータをリードする。 ステップ SC 5では、 データ付加部 306は、 第 9図 (b) に示した応答データ 321を、 クライアン トアドレス 21 1および応答ヘッダ 121に付加し、 データ 320を生成する。 つぎに、 データ付加部 306は、 データ 320を応答データ送信部 307へ送信 する。
ステップ S C 6では、 応答データ送信部 307は、 第 9図 ( c ) に示したデー タ 330を生成し、 これをクライアント 1 Oi へ送信する。 そして、 データ 33 0がクライアント 10 に受信されると、 キャッシュ制御装置 300からのデー タのリードが完了する。
また、 第 12図に示したステップ SB 3でデータ位置検索部 204により、 要 求データ 122 (第 7図 (c) 参照) に含まれるストレージ I Dをキーとして、 第 4図に示したキャッシュ/実ディスク制御表 206から実ディスク範囲のみが 検索された場合には、 以下の処理が実行される。 すなわち、 データ位置検索部 2 04は、 検索結果であるデータ位置 21 1 (第 8図 (b) 参照) を含むデータ 2 20 (第 8図 (b) 参照) を生成し、 これを内部プロトコル送信部 205へ渡す。 ステップ SB 4では、 内部プロトコル送信部 205は、 第 8図 (c) に示した データ 230を生成する。 この場合、 内部ヘッダ 131は、 第 8図 (d) に示し た構成である。 ステップ SB 5では、 内部プロトコル送信部 205は、 ネットヮ ーク 20を介して、 実ディスク制御装置 400へデータ 230を送信する。
ステップ S B 6では、 内部プロトコル送信部 205は、 データ 230の送信が 完了した力^かを判断し、 この場合、 判断結果を 「No」 として、 同判断を繰り 返す。
ステップ SB 7では、 内部プロトコル送信部 205は、 キャッシュメモリ 30 4 (第 5図参照) へデータをライ トするか否かを判断し、 この場合、 第 8図 (d) に示した内部ヘッダ 131を用いているため判断結果を 「Ye s」 とする。 ステップ SB 8では、 内部プロトコノレ送信部 205は、 後述するように、 キヤッ シュメモリ 304にデータがライトされるため、 当該ライトに関してキャッシュ ノ実ディスク制御表 206 (第 4図参照) を更新する。
そして、 データ 230が第 6図に示した実ディスク制御装置 400に受信され ると、 内部プロ トコル解析部 403は、 第 14図に示したステップ SD 1の判断 結果を 「Ye s」 とする。 ステップ SD2では、 内部プロトコル解析部 403は、 第 8図 (d) に示した内部ヘッダ 131を解析し、 第 10図 (a) に示したデー タ 410を生成する。
ステップ SD 3では、 内部プロトコル解析部 403は、 内部ヘッダ 131の解 析結果より、 コマンド種類がリードコマンドまたはライトコマンドのいずれかで あるかを判断する。 この場合、 リードコマンドであるため、 ステップ SD 4では、 内部プロトコル解析部 403は、 ディスク制御部 406にデータ 410 (第 10 図 (a) 参照) を渡し、 ディスク 404からのデータリードを指示する。
これにより、 ディスク制御部 406は、 ディスク 404のデータ位置 22 1 (第 10図 (a) 参照) からデータをリードする。 ステップ SD 5では、 データ 付加部 407は、 第 10図 (b) に示した応答データ 420を、 クライアントァ ドレス 21 1および応答ヘッダ 121に付カ卩し、 第 10図 (c) に示したデータ 430を生成する。 つぎに、 データ付加部 407は、 データ 430を応答データ 送信部 408へ送信する。
ステップ SD6では、 応答データ送信部 408は、 第 10図 (d) に示したデ ータ 440を生成した後、 第 8図 (d) に示した第 1送信先 (クライアント 10 ) および第 2送信先 (キヤッシュ制御装置 300) の双方へデータ 440を送 信する。 そして、 データ 440がクライアント 1 に受信されると、 実デイス ク制御装置 400からのデータのリードが完了する。
また、 データ 440が第 5図に示したキャッシュ制御装置 300に受信される と、 キヤッシュ制御部 3◦ 5は、 キャッシュメモリ 304に応答データ 420を ライトする。 これにより、 実ディスク制御装置 400およびキャッシュ制御装置
300の双方に同一の応答データ 420が存在するため、 次回のリード時には、 キャッシュ制御装置 300からデータがリード可能となる。
また、 例えば、 クライアント 10! からプロトコル処理装置 100ヘライト用 のデータ 110 (第 7図 (a) 参照) が送信されると、 このデータ 110は、 ネ ットワーク 20を介して、 第 2図に示したプロトコノレ処理装置 100に受信され る。 この場合、 ライト用であるため、 要求ヘッダ 111 (第 7図 (a) 参照) の コマンド種類は、 ライトコマンドである。
これにより、 外部プロトコル処理部 103は、 第 11図に示したステップ S A 1の判断結果を 「Ye s」 とする。 以後、 前述したステップ S A 2〜ステップ S A4の処理が実行される。 ステップ SA5では、 内部プロトコル処理部 104は、 第 7図 (c) に示したデータ 130をネットワーク 20を介して、 次段のストレ 一ジ制御装置 200へ送信する。
そして、 データ 130が第 3図に示したストレージ制御装置 200に受信され ると、 内部プロトコル解析部 203は、 第 12図に示したステップ SB 1の判断 結果を 「Ye s」 とする。 以後、 前述したステップ SB 2〜ステップ SB 4の処 理が実行される。
ステップ S B 5では、 内部プロトコル送信部 205は、 ネットワーク 20を介 して、 実ディスク制御装置 400へデータ 230を送信する。 この場合、 データ 230の内部ヘッダ 131は、 第 8図 (d) に示した構成である。
ステップ S B 6では、 内部プロトコル送信部 205は、 データ 230の送信が 完了したか否かを判断し、 この場合、 判断結果を 「No」 として、 同判断を繰り 返す。 そして、 データ 230の送信が完了すると、 内部プロトコル送信部 205 は、 ステップ SB 6の判断結果を 「Ye s」 とする。
ステップ SB 7では、 内部プロトコル送信部 205は、 キャッシュメモリ 30
4 (第 5図参照) へデータをライ トするか否かを判断し、 この場合、 第 8図 (d) に示した内部ヘッダ 131を用いているため判断結果を 「Ye s」 とする。 ステップ SB 8では、 内部プロトコル送信部 205は、 後述するように、 デイス ク 404およびキャッシュメモリ 304にデータがライトされるため、 当該ライ トに関してキャッシュ/実ディスク制御表 206 (第 4図参照) を更新する。 そして、 データ 230が第 6図に示した実ディスク制御装置 400に受信され ると、 内部プロトコル解析部 403は、 第 14図に示したステップ SD 1の判断 結果を 「Ye s」 とする。 ステップ SD2では、 内部プロトコル解析部 403は、 第 8図 (d) に示した内部ヘッダ 131を解析し、 第 10図 (a) に示したデー タ 410を生成する。
ステップ S D 3では、 内部プロトコル解析部 403は、 内部へッダ 131の解 析結果より、 コマンド種類がリードコマンドまたはライトコマンドのいずれかで あるかを判断する。 この場合、 ライトコマンドであるため、 ステップ SD7では、 内部プロトコル解析部 403は、 ディスク制御部 406にデータ 410 (第 10 図 (a) 参照) を渡し、 ディスク 404へのデータのライトを指示する。
これにより、 ディスク制御部 406は、 ディスク 404のデータ位置 221 (第 10図 (a) 参照) にデータをライトする。 ステップ SD5では、 データ付 加部 407は、 第 10図 (b) に示した応答データ 420を、 クライアントアド レス 21 1および応答ヘッダ 121に付加し、 第 10図 (c) に示したデータ 4 30を生成する。 つぎに、 データ付加部 407は、 データ 430を応答データ送 信部 408へ送信する。
ステップ SD 6では、 応答データ送信部 408は、 第 10図 (c) に示したデ ータ 440を生成した後、 第 8図 (d) に示した第 1送信先 (クライアント 10 ! ) および第 2送信先 (キャッシュ制御装置 300) の双方へデータ 440を送 信する。 そして、 データ 440がクライアント 1 に受信されると、 実デイス ク制御装置 400へのデータのライトが完了する。
また、 データ 440が第 5図に示したキャッシュ制御装置 300に受信される と、 第 13図に示したステップ SC 7では、 キャッシュ制御部 305は、 キヤッ シュメモリ 3 0 4に応答データ 4 2 0 (ディスク 4 0 4にライトされたデータ) をライトする。 これにより、 実ディスク制御装置 4 0 0およびキャッシュ制御装 置 3 0 0の双方に同一の応答データ 4 2 0が存在するため、 次回のリード時には、 キャッシュ制御装置 3 0 0からデータがリード可能となる。
以上説明したように、 一実施の形態によれば、 プロトコル処理装置 1 0 0、 ス トレージ制御装置 2 0 0、 キャッシュ制御装置 3 0 0および実ディ'スク制御装置 4 0 0をネットワーク 2 0上に分散配置し、 独立的に制御を行うようにしたので、 第 5図に示したキヤッシュメモリ 3 0 4がキヤッシュ制御装置 3 0 0内で独占的 に使用されるため、 メモリ領域が増え、 キャッシュヒット率が高くなり、 データ のアクセス速度を向上させることができる。
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、 具 体的な構成例はこの一実施の形態に限られるものではなく、 本発明の要旨を逸脱 しない範囲の設計変更等があっても本発明に含まれる。
例えば、 前述した一実施の形態においては、 プロトコル処理装置 1 0 0、 スト レージ制御装置 2 0 0、 キヤッシュ制御装置 3 0 0または実ディスク制御装置 4 0 0の各機能を実現するためのプログラムを第 1 5図に示したコンピュータ読み 取り可能な記録媒体 6 0 0に記録して、 この記録媒体 6 0 0に記録されたプログ ラムを同図に示したコンピュータ 5 0 0に読み込ませ、 実行することにより前述 した各機能を実現してもよい。
同図に示したコンピュータ 5 0 0は、 上記プログラムを実行する C P U (Cent ral Processing Unit) 5 1 0と、 キーボード、 マウス等の入力装置 5 2 0と、 务種データを記憶する R OM (Read Only Memory) 5 3 0と、 演算パラメータ等 を記憶する R AM (Random Access Memory) 5 4 0と、 記録媒体 6 0 0からプロ グラムを読み取る読取装置 5 5 0と、 ディスプレイ、 プリンタ等の出力装置 5 6 0と、 装置各部を接続するバス 5 7 0とから構成されている。
C P U 5 1 0は、 読取装置 5 5 0を経由して記録媒体 6 0 0に記録されている プログラムを読み込んだ後、 プログラムを実行することにより、 前述した各機能 を実現する。 なお、 記録媒体 6 0 0には、 光ディスク、 フレキシブルディスク、 ハードディスク等の記録媒体が含まれる。
また、 一実施の形態においては、 第 8図 (d ) に示した内部ヘッダ 1 3 1を用 いて、 実ディスク制御装置 4 0 0から複数の装置 (例えば、 クライアント、 キヤ ッシュ制御装置 3 0 0等) へ同一のデータを送信する例について説明したが、 内 部ヘッダ 1 3 1を用いて、 キャッシュ制御装置 3 0 0から複数の装置へ同一のデ ータを送信してもよい。
以上説明したように、 本発明によれば、 キャッシュ装置、 ディスク装置および 制御装置をネットワーク上に分散配置し、 独立的に制御を行うようにしたので、 キャッシュメモリがキャッシュ装置内で独占的に使用されるため、 メモリ領域が 増え、 キャッシュヒット率が高くなり、 データのアクセス速度を向上させること ができるという効果を奏する。
また、 本発明によれば、 キャッシュ装置またはディスク装置が、 制御データに 基づいて、 キャッシュメモリまたはディスクへアクセスし、 クライアントへ直接、 アクセス結果を送信することにより、 無駄なデータの転送が無くなり、 さらにァ クセス速度を向上させることができるという効果を奏する。
また、 本発明によれば、 ディスク装置が、 制御データに基づいて、 複数の送信 先へアクセス結果を送信することにより、 データの二重ィヒが図られ、 信頼性を向 上させることができるという効果を奏する。
また、 本発明によれば、 キャッシュ装置が、 アクセス結果をキャッシュメモリ に格納することにより、 高速アクセスのためのデータの二重化を容易に図ること ができるという効果を奏する。
また、 本発明によれば、 キャッシュ装置が、 制御データに基づいて、 複数の送 信先へアクセス結果を送信することにより、 データの二重化が図られ、 信頼·生を 向上させることができるという効果を奏する。
また、 本発明によれば、 キャッシュ装置およびディスク装置をネットワーク上 に分散配置し、 独立的に制御を行うようにしたので、 キヤッシュメモリがキヤッ シュ装置内で独占的に使用されるため、 メモリ領域が増え、 キャッシュヒット率 が高くなり、 データのアクセス速度を向上させることができるという効果を奏す る。 産業上の利用可能性
以上のように、 本発明にかかるストレージシステム、 ストレージ制御プログラ ムおよびストレージ制御方法は、 例えば、 ネットワーク上での高速アクセスが要 求されるデータのス トレージに対して有用である。

Claims

請 求 の 範 囲
1 . 高速アクセス記録媒体としてのキャッシュメモリを有するキャッシュ装置と、 大容量記録媒体としてのディスクを有するディスク装置と、
クライアントからのアクセス要求を受け付け、 前記キャッシュ装置、 前記ディ スク装置ヘアクセス要求に応じた処理を実行させる制御装置とを備え、
前記キャッシュ装置、 前記ディスク装置および前記制御装置は、 ネットワーク 上に分散配置されていることを特徴とするストレージシステム。
2 . 前記制御装置は、 アクセス要求を受け付けた場合、 前記キャッシュ装置また は前記ディスク装置へ制御データを送信し、 前記キヤッシュ装置または前記ディ スク装置は、 前記制御データに基づいて、 前記キヤッシュメモリまたは前記ディ スクへアクセスし、 前記クライアントへ直接、 アクセス結果を送信することを特 徴とする請求の範囲第 1項に記載のストレージシステム。
3 . 前記制御装置は、 アクセス要求を受け付けた場合、 前記ディスク装置へ制御 データを送信し、 前記ディスク装置は、 前記制御データに基づいて、.複数の送信 先へアクセス結果を送信することを特徴とする請求の範囲第 1項に記載のストレ ージシステム。
4 . 前記複数の送信先は、 前記クライアント、 前記キャッシュ装置であり、 前記 キャッシュ装置は、 前記アクセス結果を前記キャッシュメモリに格納することを 特徴とする請求の範囲第 3項に記載のストレージシステム。
5 . 前記制御装置は、 アクセス要求を受け付けた場合、 前記キャッシュ装置へ制 御データを送信し、 前記キャッシュ装置は、 前記制御データに基づいて、 複数の 送信先へアクセス結果を送信することを特徴とする請求の範囲第 1項に記載のス トレージシステム。
6 . 高速アクセス記録媒体としてのキャッシュメモリを有するキャッシュ装置と、 大容量記録媒体としてのディスクを有するディスク装置とがネットワーク上に分 散配置されているストレージシステムで用いられるストレージ制御プログラムで あって、
コンピュータを、
クライアントからのアクセス要求を受け付ける受付手段、
前記キヤッシュ装置、 前記ディスク装置へアクセス要求に応じた処理を実行さ せるための制御データを生成する生成手段、
前記キヤッシュ装置、 前記ディスク装置のうちいずれか一方へ前記制御データ を送信する送信手段、
として機能させるためのストレージ制御プログラム。
7 . 前記制御データは、 前記キャッシュ装置または前記ディスク装置に、 前記キ ャッシュメモリまたは前記ディスクへアクセスし、 前記クライアン卜へ直接、 ァ クセス結果を送信することを指示するデータであることを特徴とする請求の範囲 第 6項に記載のストレージ制御プロダラム。
8 . 前記制御データは、 前記ディスク装置に、 複数の送信先へアクセス結果を送 信することを指示するデータであることを特徴とする請求の範囲第 6項に記載の ストレージ制御プログラム。
9 . 前記制御データは、 前記キャッシュ装置に、 複数の送信先へアクセス結果を 送信することを指示するデータであることを特徴とする請求の範囲第 6項に記載 のストレージ制御プログラム。
1 0 . 高速アクセス記録媒体としてのキャッシュメモリを有するキャッシュ装置 と、 大容量記録媒体としてのディスクを有するディスク装置とがネットワーク上 に分散配置されているストレージシステムで用いられるストレージ制御方法であ つて、
クライアントからのアクセス要求を受け付ける受付工程と、
前記キャッシュ装置、 前記ディスク装置へアクセス要求に応じた処理を実行さ せるための制御データを生成する生成工程と、
前記キヤッシュ装置、 前記ディスク装置のうちいずれか一方へ前記制御データ を送信する送信工程と、
を含むことを特徴とするストレージ制御方法。
PCT/JP2002/000595 2002-01-28 2002-01-28 Systeme de stockage, programme de commande de stockage, procede de commande de stockage WO2003065195A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2002/000595 WO2003065195A1 (fr) 2002-01-28 2002-01-28 Systeme de stockage, programme de commande de stockage, procede de commande de stockage
JP2003564722A JPWO2003065195A1 (ja) 2002-01-28 2002-01-28 ストレージシステム、ストレージ制御プログラムおよびストレージ制御方法
EP02716413A EP1471416A4 (en) 2002-01-28 2002-01-28 STORAGE SYSTEM, STORAGE CONTROL PROGRAM, STORAGE CONTROL METHOD
US10/871,002 US7343448B2 (en) 2002-01-28 2004-06-21 Storage system having decentralized cache controlling device and disk controlling device, storage control program, and method of storage control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/000595 WO2003065195A1 (fr) 2002-01-28 2002-01-28 Systeme de stockage, programme de commande de stockage, procede de commande de stockage

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/871,002 Continuation US7343448B2 (en) 2001-04-10 2004-06-21 Storage system having decentralized cache controlling device and disk controlling device, storage control program, and method of storage control

Publications (1)

Publication Number Publication Date
WO2003065195A1 true WO2003065195A1 (fr) 2003-08-07

Family

ID=27639252

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/000595 WO2003065195A1 (fr) 2002-01-28 2002-01-28 Systeme de stockage, programme de commande de stockage, procede de commande de stockage

Country Status (4)

Country Link
US (1) US7343448B2 (ja)
EP (1) EP1471416A4 (ja)
JP (1) JPWO2003065195A1 (ja)
WO (1) WO2003065195A1 (ja)

Cited By (1)

* 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

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2003065195A1 (ja) * 2002-01-28 2005-05-26 富士通株式会社 ストレージシステム、ストレージ制御プログラムおよびストレージ制御方法
US8341936B2 (en) 2010-12-01 2013-01-01 Ford Global Technologies, Llc Advanced exhaust-gas sampler for exhaust sensor
US8713166B2 (en) 2011-05-31 2014-04-29 General Electric Company Systems and methods for facilitating communication with foundation fieldbus linking devices
US8769072B2 (en) 2011-05-31 2014-07-01 General Electric Company Systems and methods for identifying foundation fieldbus linking devices
US8868732B2 (en) 2011-05-31 2014-10-21 General Electric Company Systems and methods for facilitating communication with foundation fieldbus linking devices
US9130853B2 (en) 2011-05-31 2015-09-08 General Electric Company Systems and methods for identifying foundation fieldbus linking devices
US8762528B2 (en) * 2011-05-31 2014-06-24 General Electric Company Systems and methods for write protecting foundation fieldbus linking devices
US10127236B1 (en) * 2013-06-27 2018-11-13 EMC IP Holding Company Filesystem storing file data in larger units than used for metadata

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05274210A (ja) * 1992-03-26 1993-10-22 Nec Corp ネットワークファイル管理方式
JPH1173361A (ja) * 1997-08-29 1999-03-16 Sharp Corp 分散ファイルシステムならびに当該システムの放送サーバ装置およびクライアント装置
JP2001356956A (ja) * 2000-06-15 2001-12-26 Seiko Epson Corp キャッシュサーバ装置及びキャッシング方法
JP2002007304A (ja) * 2000-06-23 2002-01-11 Hitachi Ltd ストレージエリアネットワークを用いた計算機システム及びそのデータ取り扱い方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4363095A (en) * 1980-12-31 1982-12-07 Honeywell Information Systems Inc. Hit/miss logic for a cache memory
US6098128A (en) * 1995-09-18 2000-08-01 Cyberstorage Systems Corporation Universal storage management system
US7103794B2 (en) * 1998-06-08 2006-09-05 Cacheflow, Inc. Network object cache engine
JP2000089996A (ja) 1998-09-16 2000-03-31 Nec Corp 情報処理装置およびデータベースシステム
US6748540B1 (en) * 1999-06-17 2004-06-08 International Business Machines Corporation Method and apparatus for detection and notification of unauthorized access attempts in a distributed data processing system
JP2001005614A (ja) * 1999-06-25 2001-01-12 Hitachi Ltd ディスク装置およびサーバ装置
JP2001290787A (ja) 2000-04-10 2001-10-19 Ntt Communications Kk データ配信方法及びデータ配信プログラムを格納した記憶媒体
WO2001095113A2 (en) * 2000-06-06 2001-12-13 Bhavsar Shyamkant R Fabric cache
JPWO2003065195A1 (ja) * 2002-01-28 2005-05-26 富士通株式会社 ストレージシステム、ストレージ制御プログラムおよびストレージ制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05274210A (ja) * 1992-03-26 1993-10-22 Nec Corp ネットワークファイル管理方式
JPH1173361A (ja) * 1997-08-29 1999-03-16 Sharp Corp 分散ファイルシステムならびに当該システムの放送サーバ装置およびクライアント装置
JP2001356956A (ja) * 2000-06-15 2001-12-26 Seiko Epson Corp キャッシュサーバ装置及びキャッシング方法
JP2002007304A (ja) * 2000-06-23 2002-01-11 Hitachi Ltd ストレージエリアネットワークを用いた計算機システム及びそのデータ取り扱い方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1471416A4 *

Cited By (1)

* 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

Also Published As

Publication number Publication date
EP1471416A1 (en) 2004-10-27
JPWO2003065195A1 (ja) 2005-05-26
US7343448B2 (en) 2008-03-11
EP1471416A4 (en) 2007-04-11
US20040225714A1 (en) 2004-11-11

Similar Documents

Publication Publication Date Title
JP3683867B2 (ja) 透過的エミュレーティング・インターフェースを有するハード・ディスク・ドライブのライブラリ
WO2003075166A1 (fr) Systeme de stockage et procede de transfert de donnees dans ledit systeme
KR20070065261A (ko) 중재 패킷 프로토콜을 구비한 메모리 중재 시스템 및 방법
TW202016744A (zh) 主機、非揮發性記憶體快速固態驅動器及儲存服務的方法
US20050166086A1 (en) Storage control apparatus, storage control method, and computer product
US8924606B2 (en) Storage system and data transfer control method
WO2003065195A1 (fr) Systeme de stockage, programme de commande de stockage, procede de commande de stockage
JP2003084919A (ja) ディスクアレイ装置の制御方法およびディスクアレイ装置
JP2007065751A (ja) ストレージシステム及び記憶制御方法
KR20170075359A (ko) 메모리 시스템 및 메모리 콘트롤러의 동작 방법
US7600074B2 (en) Controller of redundant arrays of independent disks and operation method thereof
JP2006185000A (ja) ストレージ装置
JP2003345512A (ja) ディスク制御装置
JP2766216B2 (ja) 情報処理装置
JP4606998B2 (ja) ネットワークキャッシュ装置およびプログラム
JP5077624B2 (ja) Usbデバイス共有システム、これで用いるサーバのインタフェース装置、及びその動作方法
WO2004027625A1 (ja) ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
JP4025032B2 (ja) ディスク制御装置、および、そのデータアクセス方法
CN110221995B (zh) 一种集成智能网卡的数据管理方法及系统
US11474751B2 (en) Storage apparatus and data processing method therefor
JP3940686B2 (ja) 通信システム及び通信方法
KR100368721B1 (ko) 네트워크 가상 메모리를 위한 원격 메모리 액세스 채널 장치및방법
JP2005346426A (ja) データ共有ディスク装置
JP2017182281A (ja) デバイスサーバシステム
JP2022165569A (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

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
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: 2003564722

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 10871002

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2002716413

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002716413

Country of ref document: EP