Storage control device and storage system

Abstract
The present invention enables to update a program in a storage control device while processing access requests, without imposing any burden on a host. When execution of updating of a program is commanded from a management terminal, an update control unit starts within the controller which is the object of updating. After a host I/F unit has been connected to an access request processing unit within another controller by a connection control unit, the update control unit updates a program which is stored in a program memory or a boot disk. When this updating is completed, the update control unit reconnects the host I/F unit to its access processing unit by the connection control unit. Since the stored contents of data memories are synchronized, the other access request processing unit can continue processing access requests from the host in place one access request processing unit.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is an explanatory figure showing the overall concept of a storage system according to an embodiment of the present invention;



FIG. 2 is an explanatory figure showing the overall structure of this storage system;



FIG. 3 is an explanatory figure showing the storage structure of a cache memory;



FIG. 4 is an explanatory figure showing the storage structure of a memory and a storage unit;



FIG. 5 is a block diagram showing the structure of a controller;



FIG. 6 is a block diagram showing the state of connection when a bus switch is in a normal mode;



FIG. 7 is a block diagram showing the state of connection when, on the other hand, the bus switch is in an updating mode;



FIG. 8 is a flow chart for the processing of a command from a host;



FIG. 9 is a flow chart showing the processing for synchronizing the storage contents of the cache memory;



FIG. 10 is a flow chart showing the processing when updating a program;



FIG. 11 is a flow chart showing the updating processing in FIG. 10;



FIG. 12 is an explanatory figure showing the overall structure of a storage system according to the second embodiment;



FIG. 13 is a flow chart showing the processing when updating the program;



FIG. 14 is a an explanatory figure showing the overall structure of a storage system according to the third embodiment;



FIG. 15 is an explanatory figure showing the overall structure of a storage system according to the fourth embodiment;



FIG. 16 is a flow chart showing the processing for deciding on update execution timing; and



FIG. 17 is an explanatory figure showing the overall structure of a storage system according to the fifth embodiment.


Claims
  • 1. A storage control device comprising a plurality of controllers, wherein each of said controller comprises:a host communication control unit for performing communication with a host device;a subordinate communication control unit for performing communication with a storage device;a program storage unit which stores a predetermined program;an access request processing unit which, when an access request has been received from said host device via said host communication control unit, processes said access request by accessing said storage device via said subordinate communication control unit, and by executing predetermined data processing based on said predetermined program; anda data storage unit which stores data which is used in said predetermined data processing,said storage control device further comprising:a mutual communication path for connecting said controllers;an update control unit for updating said predetermined program which is stored in said program storage unit; anda processing path changeover unit which, based on a command from said update control unit, processes an access request received by said host communication control unit of one of said controllers by means of said access request processing unit of another one of said controllers, by connecting said host communication control unit of one controller, of said controllers, to said access request processing unit of other controller, of said controllers, by means of said mutual communication path.
  • 2. The storage control device according to claim 1, wherein said processing path changeover unit is capable of changing over between:(1) a normal mode in which, during normal operation, said host communication control unit and said access request processing unit are connected in each said controller; and(2) an updating mode in which, during updating of said predetermined program, said host communication control unit of said one controller is connected via said mutual communication path to said access request processing unit of said other controller.
  • 3. The storage control device according to claim 1, further comprising a data synchronization unit which synchronizes stored contents in said data storage unit of said one controller and stored contents in said data storage unit of said other controller.
  • 4. The storage control device according to claim 1, wherein, when the stored contents in said data storage unit of said one controller and the stored contents in said data storage unit of said other controller have been synchronized, said update control unit connects said host communication control unit of said one controller to said access request processing unit of said other controller via said mutual communication path by said processing path changeover unit.
  • 5. The storage control device according to claim 1, wherein said update control unit updates said predetermined program which is stored in said program storage unit of said one controller, when said host communication control unit of said one controller is connected, by said processing path changeover unit, to said access request processing unit of said other controller via said mutual communication path.
  • 6. The storage control device according to claim 5, wherein when the updating of said predetermined program has been completed, said update control unit reconnects said host communication control unit of said one controller to said access request processing unit comprised in said one controller by said processing path changeover unit, after resynchronizing the stored contents in said data storage unit of said one controller and the stored contents in said data storage unit of said other controller.
  • 7. The storage control device according to claim 1, wherein said processing path changeover unit and said update control unit operate within said one controller in which the updating of said predetermined program is performed.
  • 8. The storage control device according to claim 1, further comprising an update program storage unit for storing a program for updating, which is used for updating said predetermined program.
  • 9. The storage control device according to claim 1, wherein said update control unit updates said predetermined program when execution of updating has been commanded.
  • 10. The storage control device according to claim 1, wherein, when the execution of updating has been commanded, said update control unit receives and stores a program for updating which is used for updating said predetermined program, after connecting, by said processing path changeover unit, said host communication control unit of said one controller to said access request processing unit of said other controller via said mutual communication path.
  • 11. The storage control device according to claim 1, wherein, when the execution of updating has been commanded, said update control unit receives and stores a program for updating which is used for updating said predetermined program, before connecting, by said processing path changeover unit, said host communication control unit of said one controller to said access request processing unit of said other controller via said mutual communication path.
  • 12. The storage control device according to claim 1, wherein said update control unit updates said predetermined program immediately if the priority level set for a program for updating to update said predetermined program is higher than a predetermined threshold value, while updating said predetermined program based on the states of said controllers if the priority level set for said program for updating is equal to or less than said predetermined threshold value.
  • 13. The storage control device according to claim 1, wherein said update control unit is commanded to execute updating from said host device, or from a management device which is different from said host device.
  • 14. The storage control device according to claim 1, wherein said controllers are all provided within the same casing and constitute a redundant structure, and said mutual communication path is provided within said casing.
  • 15. A storage system comprising: a host device which issues access requests;a storage control device which is connected to said host device via a network for data input and output; anda management device which is connected to said storage control device via a network for management, wherein,said storage control device comprises a plurality of controllers which are connected by a mutual communication path, and a storage device which is connected to said plurality of controllers, and(1) each of said controllers comprises:a host communication circuit for performing communication with said host device;a subordinate communication circuit for performing communication with said storage device;a processor which, when an access request has been received via said host communication circuit from said host device, accesses said storage device via said subordinate communication circuit, and performs predetermined data processing;a data memory which stores data used in said predetermined data processing;a bus for connecting together said host communication circuit, said subordinate communication circuit, said data memory, and said processor; anda bus changeover switch which is provided on said bus and is positioned between said host communication circuit and said processor, for, when the normal mode has been commanded, connecting said host communication circuit to said processor within the same controller, and, when the updating mode has been commanded, connecting said host communication circuit within the controller which is the origin of changing over to the processor within the controller which is the destination of changing over via said mutual communication path;(2) said processor of said controller which is the origin of changing over, on receipt of a command for execution of updating from said management device or said host device, operates said update control unit for updating a predetermined program which is used by said processor; and(3) said update control unit executes:(3-1) a step of synchronizing stored contents in said data memory of said controller which is the origin of changing over and stored contents in said data memory of said controller which is the destination of changing over;(3-2) a step of changing over said bus changeover switch from said normal mode to said updating mode;(3-3) a step of updating said predetermined program by a program for updating which has been received from said management device or said host device;(3-4) a step of, when updating of said predetermined program has been completed, copying the stored contents in said data memory of said controller which is the destination of changing over to said data memory of said controller which is the origin of changing over, thus re-synchronizing both said stored contents; and(3-5) a step of, when said re-synchronizing has been completed, changing over said bus changeover switch from said updating mode to said normal mode.
Priority Claims (1)
Number Date Country Kind
2006-035953 Feb 2006 JP national