Abstract:
A storage system storing data sending/receiving data to/from a plurality of external devices via a common network. The storage system controls access from the plurality of external devices. The storage system accepts accesses according to different protocols from the plurality of external devices via the common network. The storage system analyzes the protocol from the external devices which accessed through the external interface. The storage system sends/receives data based on the analysis result.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
         [0001]    The present application claims priority upon Japanese Patent Application No. 2002-36258 filed on Feb. 14, 2002, which is herein incorporated by reference.  
         BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The present invention relates generally to disk array technology, and more particularly, to a storage control device, a storage system, and a method of controlling the same that can be applied to different storage management procedures.  
           [0004]    2. Description of the Related Art  
           [0005]    Recently, Storage Area Network (hereafter, abbreviated as SAN) environments are becoming well developed. In a SAN environment, storages with increased capacity and performance are constructed on networks. Also, as various host computers are connected, means for interoperable data interchanging becomes necessary, and the need is increasing for Network Attached Storage (hereafter, abbreviated as NAS) in SAN environments. As a result, a manager which manages and controls a storage in a SAN environment becomes essential.  
           [0006]    Connection between a storage and a host computer in a current SAN environment is carried out through Block Storage access of SCSI (Small Computer System Interface) according to Fibre Channel. On the other hand, in a NAS environment, connection is realized through network protocols such as Network File System (hereafter, abbreviated as NFS) over Ethernet. These connections are respectively structured by dedicated networks for connection.  
           [0007]    References where such storage management technology is disclosed are found in these documents: Japanese Patent Application Laid-open Publication Nos. 9-265355, 9-152944, 10-199136, and 2000-348005.  
           [0008]    Further, among present storage management procedures, there are known the in-band mode and the out-of-band mode. The in-band mode uses a storage interface for connecting with a host computer. The out-of-band mode uses an interface physically and logically different from an interface for acquiring storage data from a host computer.  
           [0009]    The mode to be used is determined in order to conform to different purposes and in accordance with the arrangement of host applications and installed interfaces.  
           [0010]    Where a storage and a host computer (external device) are connected by Fibre Channel, systems using optical fiber as a medium are largely used. Even with a NAS, connection with optical fiber as a medium is employed for backbone components of an Ethernet.  
           [0011]    However, even if the optical fibers are physically the same medium, each is connected with a different purpose. Therefore, since the features, including switches and/or hubs involved, differ, identical media cannot be used.  
           [0012]    As regards storage management interface, in the instance of the in-band mode using a host-computer connection interface, there are advantages such as fast acquisition of information via a data transfer interface from a host computer and capability to easily cooperate with an application. However, unless the host computer is in operation, storage management cannot be carried out. In the instance of the out-of-band mode using, for example, a network interface separately from a host-computer connection interface, management can be carried out independently of the host computer, so maintenance can be carried out easily. However, it is necessary to provide a dedicated line separate from the host-computer connection interface. Further, as the acquirable information differs among each of the modes, the manageable information with a cooperating application is limited.  
         SUMMARY OF THE INVENTION  
         [0013]    The present invention has been contrived in view of the above and other problems, and one object is to provide a storage system, storage control device, and a control method therefor that can be applied to different storage management procedures.  
           [0014]    To fulfill this object, one aspect of the present invention relates to controlling a storage system that carries out sending/receiving of data to/from a plurality of external devices via a common network so as to control access from the plurality of external devices to a storage apparatus for storing the data, comprising the steps of: accepting access according to different types of protocols from the plurality of external devices via the common network; analyzing the protocol used for the access from the external device accessing through the external interface; and carrying out the sending/receiving of data based on a result of the analysis.  
           [0015]    According to one example of the present invention, it is possible to, for example, carry out management of storage and storage data with a single connection network. Thus, by sharing information equipment and the connection network having different purposes, increased efficiency can be achieved in terms of management and resources. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]    Preferred embodiments of the present invention will now be described in conjunction with the accompanying drawings, in which:  
         [0017]    [0017]FIG. 1 is a block diagram showing an example of a configuration of a storage system which is an embodiment of the present invention;  
         [0018]    [0018]FIG. 2 is a flow chart showing the first-half procedures of an example of operations of a storage system, which is an embodiment of the present invention, in view of access requests from clients;  
         [0019]    [0019]FIG. 3 is a flow chart showing the second-half procedures of an example of operations of a storage system, which is an embodiment of the present invention, in view of access requests from clients;  
         [0020]    [0020]FIG. 4 is a diagram showing a management-information database in a storage system, being an embodiment of the present invention;  
         [0021]    [0021]FIG. 5 is a diagram showing a SCSI command structure of control with the in-band mode in a storage system, being an embodiment of the present invention;  
         [0022]    [0022]FIG. 6 is a diagram showing settings of information areas in the SCSI command structure in FIG. 5;  
         [0023]    [0023]FIG. 7 is a diagram showing header information of a response in view of a SCSI command request with the in-band mode in a storage system, being an embodiment of the present invention;  
         [0024]    [0024]FIG. 8 is a diagram showing trace data becoming the result of a response in a storage system, being an embodiment of the present invention;  
         [0025]    [0025]FIG. 9 is a diagram showing a protocol structure of TCP on the network in a storage system, being an embodiment of the present invention;  
         [0026]    [0026]FIG. 10 is a diagram showing port settings of TCP protocol in a storage system, being an embodiment of the present invention; and  
         [0027]    [0027]FIG. 11 is a diagram showing an example of another management-information database in a storage system, being an embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS  
       [0028]    Below, referring to the drawings, the embodiments of the present invention are explained in detail.  
         [0029]    According to an embodiment of a storage system in accordance with one aspect the present invention, access can be made from the same interface in view of different storage interfaces and different storage management interfaces. As an example, the present system may be especially effective for remote management, among management practices relating to storage systems.  
         [0030]    Specific explanation will be made of such a storage system. As shown by the block diagram in FIG. 1, the storage system in accordance with the present embodiment comprises: a disk control device  101  as a storage control device; and a disk drive device  102  as a storage apparatus (or storage). Various clients  117  and  119 , a management terminal  118 , and other entities are connected to this disk control device  101  via a common equipment network (which is physically the same medium)  122 . Networks such as a SAN and/or a LAN may coexist in this common equipment network. A client terminal  120  possessing the functions of the various clients  117 ,  119  and/or the management terminal  118  is also connected to the disk control device  101  via the common equipment network  122 .  
         [0031]    The client  117  carries out, to the storage system, block storage access (including management with the in-band mode). The management terminal  118  carries out management with the out-of-band mode from the network. The client  119  accesses the network file system.  
         [0032]    The configuration of the storage system  101 ,  102  is explained specifically. An external interface  121  connected to the common equipment network  122  is attached to the disk control device  101 . The disk control device  101  comprises a management section  111  as a data-transfer control section. A shared memory  105 , a cache memory  106 , and a disk controller  107  are connected to this management section  111  via an internal common bus  110 . The disk drive device  102  comprising a plurality of known multiple disk devices is connected to the disk controller  107 .  
         [0033]    The external interface  121  may comprise: a storage interface provided as a SAN environment; and an Ethernet protocol interface used for network file access for the NAS. The external interface  121  is provided by a physically same connector. Also, the external interface  121  can conform to the block storage access for the storage and for management with the in-band mode, as well as the network access carrying out network file access and management with the out-of-band mode.  
         [0034]    The management section  111  comprises: an interface controller  112 ; a device driver  114 ; a management processor  115 ; and a device driver  116 . The interface controller  112  conforms to the block storage and network protocols. Also, the device driver  114  conforms to both the block storage and network protocols.  
         [0035]    The management section  111  manages and controls the disk drive device  102  and the disk control device  101 , and comprises a management section where access is possible from both the in-band mode with SCSI commands which uses the storage interface, and the out-of-band mode by the network protocol.  
         [0036]    Here, an example of a data structure of a SCSI command is shown in FIG. 5. As shown in the figure, the data structure comprises, in bits (“ 7 ” through “ 0 ”) of each of the bytes (“ 0 ” through “ 9 ”), data areas such as: Operation Code 28h Read); LUN; and an information area including LBA or control information. The specific information areas upon setting the above-mentioned control information is as shown in FIG. 6; a control code and parameters  1 - 3 , which respectively indicate a processor number, a data item, and a value, are respectively set on a byte-by-byte basis in view of items such as initialization, set, read, and write.  
         [0037]    Further, the interface controller  112  comprises the device driver  114 . The device driver  114  enables access from the various information processing devices  117  through  120  as a block storage interface and an Ethernet interface.  
         [0038]    The various information processing devices  117  through  120  connected to a connector of the external interface  121  via the equipment network  122  conform to the aforementioned various types of access via the external interface  121 , the interface controller  112 , and the device driver  114 .  
         [0039]    Information specific to each interface acquired from the block storage interface and the Ethernet interface is processed by the management processor  115 , and held as a management database in its memory.  
         [0040]    The disk drive device  102  in the storage system is recognized as the target disk device in Linux through the disk controller  107  by an operating system (hereafter referred to as OS, Linux (registered trademark) being installed in the present embodiment) operating by the management processor  115  of the management section  111 , an initiator controller  113 , and the device driver  116 .  
         [0041]    The OS of the management processor  115  normally has a function of structuring a file system. Thus, it is possible to make disk volumes in the disk drive device  102  be recognized as a local file system. Also, the management processor  115  is able to use a network file system, which is standard to the OS. Therefore, it is possible to carry out file access from the access client  119  connected to the equipment network  122  by the interface controller  112  and its device driver  114 .  
         [0042]    Further, according to protocols such as SNMP (Simple Network Message Protocol) or JAVA RMI (Remote Method Invocation), which are generally used as a management interface in the out-of-band mode, configuration information of storage system can be accessed via an SNMP service and/or JAVA RMI server incorporated as an OS application when accessed from the management terminal  118 .  
         [0043]    Further, as regards an access request from the client  117 , the OS accesses a disk volume on the initiator controller  113  with the requested SCSI command by block storage protocol iSCSI (Internet SCSI) on the equipment network  122  through the interface controller  112  and a block storage access driver  123 .  
         [0044]    In addition, in managing with the in-band mode, a vendor-specific SCSI command prepared in beforehand according to the iSCSI protocol is used, and with block storage access, it is possible to refer to and update the management information.  
         [0045]    The management-information database is accessible in the same manner as other information from each of the aforementioned management interfaces. This management-information database, as shown in FIG. 11, comprises data such as: information name including such as “subsystem information 01”; data No.; data name; value; and function.  
         [0046]    As an example of operation in the above-mentioned storage system shown in FIG. 1, operations for network access and block storage access will be explained referring to the flow charts in FIG. 2 and FIG. 3.  
         [0047]    The device driver  114  determines whether the access from the information processing devices  117 - 120  such as the client is according to the network interface or the block storage interface.  
         [0048]    Specifically, when a command from an accessing client is received (Steps  201 → 202 ), the TCP header of the network protocol of the command is analyzed, and a destination port number (hereafter referred to as “port No.”) is referred to (Step  203 ).  
         [0049]    Here, an example of a structure of a TCP header to be analyzed is shown in FIG. 9. As shown in the figure, the source port and destination port of request, as well as the data type are included in the TCP header. An example of the setting of the destination ports is shown in FIG. 10. As shown in the figure, for each of the port Nos., there may be set items such as: interface indicating network or block storage; types of protocols; and types of access.  
         [0050]    If it has been judged that the access is a network-interface access by referring to the port No., the device driver  114  operates as a standard network application program interface (hereafter referred to as API).  
         [0051]    The management processor  115  determines whether the received command is a normal network access or a management request through analysis of the protocol (Step  205 ). If the referred-to port No. indicates that the access is a normal network access (Step  205 : No), for example, if the access is a file access from the NAS client  119 , the OS of the management processor  115  provides access to the network file system (Step  207 ).  
         [0052]    If the referred-to port No. indicates that the access is a management-interface access according to the out-of-band mode (Step  205 : Yes), a management-application program for a general-purpose interface used for management, such as SNMP or JAVA (registered trademark) RMI installed in the OS of the management processor  115 , is accessed (Step  205 ). The OS (Linux) of the management processor  115  having server applications, such as SNMP or JAVA RMI, processes the request from the client  118  and/or  120  (Step  206 ). That is, in response to this request, the processor  115  refers to and updates the management-information database. In other words, the management processor  115  responds to the clients  118  and/or  120  by referring to and updating the information in the shared memory  105  connected to the common bus  110 , or, by acquiring a result for a normal network access, and ends the process (Steps  208 → 209 )  
         [0053]    Explanation will be made of an example employing JAVA RMI. By giving a data No. as an argument to the functions shown in FIG. 11 implemented in the RMI interface installed in the OS, the necessary information can be acquired. For example, if GetInfo (03) is called, a value (“01-01-00/00”) of “Firm Ver.” (firmware version) is acquired as its response value.  
         [0054]    In contrast, if the port No. indicates the block-storage-interface access according to iSCSI in Step  203  of FIG. 2, a device driver provides block storage API as shown in FIG. 3 (Step  210 ). Further, the SCSI command of the block storage access refers to a command code and CDB (Step  211 ) to determine whether it is a normal data access or management according to the in-band mode.  
         [0055]    In case the access is a of normal API, that is, if the access is a block-device access as a storage (Step  211 : No), the device driver  114  of the interface controller  112  carries out block-device access to a disk volume in accordance with the SCSI command shown in the “0 byte field” in the SCSI command structure shown in FIG. 5 (Step  215 ).  
         [0056]    On the contrary, if the SCSI command shown in 0 byte field in FIG. 5 is “Read (10) Operation Code=28h”, processing is carried out to decide whether the access is for management (Steps  211 → 212 ).  
         [0057]    In addition, in case of a management-interface access according to the in-band mode, vendor-specific commands are prepared in beforehand by setting dedicated information in CDB (Command Descriptor Block) which is a description style of the SCSI command. That is, although the field shown in the second byte ( 2 ) through the fifth byte ( 5 ) in FIG. 5 is an area which normally designates a device address (LBA) in a Read (10) command, in case a specific address is entered in this field, an identifier for management is registered in the device driver.  
         [0058]    The management information processor  115  specifies to which location of the management-information database the access request is accessing (Steps  211 ,  212 ), and based on the request, the management information in the shared memory  105  connected to the common bus  110  is referred to and updated (Step  215 ). That is, in Step  211 , if a control code shown in FIG. 6 is entered in the second byte ( 2 )-fifth byte ( 5 ) field shown in FIG. 5, the processor  115  carries out management of items corresponding to the control code (Step  212  and after). For example, it is possible to refer to the management-information database in the shared memory  105  by issuing a SCSI command including a “processor number” for specifying the contents of request in order to indicate the external interface from which information is to be obtained, and a data item to be obtained from the management-information database, as shown in FIG. 6, besides “Operation Code=28h and LBA=0xF3” as in the above example (Steps  212 → 213 → 214 ).  
         [0059]    In contrast, in case of normal access to the storage system (Step  212 : NO), the device driver  116  of the interface controller  113  carries out block-device access to a disk volume in accordance with the SCSI command (Step  215 ).  
         [0060]    Upon access response, in case of a normal access, the requested SCSI data is responded, and the process is ended (Steps  215 → 216 → 217 ). The structure of the responded SCSI-data header is as shown in FIG. 7, and the items regarding Length, Processor, Reserved, Date, and Length, are respectively indicated by a two-byte unit data. Also, a trace structure of SCSI data is as shown in FIG. 8, and the trace is comprised of trace ID, time stamp, and various other trace information. In case of management, the requested data is responded in a format with the header information of FIG. 7 and trace data of FIG. 8, and the process is ended (Steps  214 → 216 → 217 ).  
         [0061]    As for the responded data, data with a necessary trace length is responded in accordance with the length of the data registered to the management-information database as well as the transmission length (Length) of the header shown in FIG. 7.  
         [0062]    In order to describe an example of operations of the storage system according to the present embodiment, a conceptual diagram is shown in FIG. 4 in which a storage management interface is shared among the in-band mode and the out-of-band mode.  
         [0063]    All management information carrying out storage management is constructed in the shared memory  105  connected to the common bus  110 . In case of management access according to the in-band mode, the OS in the management processor  115  refers to and updates the shared memory  105  connected to the common bus  110 .  
         [0064]    In case of the out-of-band mode, the management-information database provided in the OS of the management processor  115  is referred to and updated via general-purpose management interfaces such as SNMP or JAVA RMI. In case of the out-of-band mode, all information is carried out via the operating system of the management processor  115 .  
         [0065]    The management-information database, as shown in FIG. 4, has the information acquirable per each interface in a list. In addition to information such as the names of acquirable information ( 301 ) and obtained information ( 302 ), other information such as information specifying which interface, i.e. either the in-band or the out-of-band, can be used for obtaining information ( 303 ), means for obtaining information ( 304 ), and other necessary information are managed in a centralized manner.  
         [0066]    If information is already registered in the management-information database, a response with held information is resultingly processed through the requested interface.  
         [0067]    If no information is registered in the management-information database, information that is obtainable from the requested interface is updated in the management-information database in accordance with the method shown in FIG. 2, and a result will be responded.  
         [0068]    In order to cope with a case where the requested information is not in the management-information database and cannot be obtained from the requested interface, means can be provided for using a command registered in beforehand in the management-information database and obtaining information from the interface which is capable of obtaining the information, to thereby refer to and update the requested information and send a response.  
         [0069]    In case of an out-of-band information request according to the in-band mode, the operating system obtains information according to an out-of-band command, and provides the result of table updating as a result-of-request according to the in-band mode.  
         [0070]    On the other hand, in case of an in-band information request according to the out-of-band mode, the operating system obtains information according to an in-band command, and provides the result of table updating as a result-of-request according to the out-of-band mode.  
         [0071]    The present invention has been explained specifically based on some of its embodiments. However, the present invention is not limited to those embodiments, and various modifications can be made without departing from the scope of the invention.  
         [0072]    According to the present embodiment, a storage system employs an interface controller that uses a block-storage protocol via a network, and comprises means to switch interfaces. Accordingly, it is possible to conform to accesses according to both normal network interface and block-storage interface. Further, since management information is managed in a centralized manner and since means for providing mutual reference and update is employed, it is possible to carry out management from both interfaces with no difference. By enabling handling of logically different interfaces over a physically same medium, such as the equipment network  122 , costs in view of system equipment can be reduced. Further, by integrating the storage management interface, management costs can also be reduced.  
         [0073]    By unifying the connection manner of the storage system by means of the storage-access interface and the management interface, cost reduction in connection devices and improvement in connectivity with applications can be realized.