US20080091899A1 - Storage system, and method for controlling the same - Google Patents
Storage system, and method for controlling the same Download PDFInfo
- Publication number
- US20080091899A1 US20080091899A1 US11/984,704 US98470407A US2008091899A1 US 20080091899 A1 US20080091899 A1 US 20080091899A1 US 98470407 A US98470407 A US 98470407A US 2008091899 A1 US2008091899 A1 US 2008091899A1
- Authority
- US
- United States
- Prior art keywords
- volume
- data
- write request
- storage controller
- data frame
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Definitions
- the present invention relates to a method for controlling a storage system, a storage controller and a storage system.
- a disk array apparatus can additionally be provided for example.
- the load of management on the host computer side is inevitably increased, which may affect running of applications on the host computer side.
- virtualization is in progress that is a technology for managing a huge storage area efficiently without making users aware of the hardware configuration as far as possible.
- the virtualization may cause an increase of the load of processing on the host computer side.
- the present invention was conceived on the basis of the above background and one object thereof is to provide a method for controlling a storage system, a storage controller and a storage system.
- a method for controlling a storage system, a storage controller and a storage system can be provided.
- FIG. 1 illustrates the configuration of a storage system according to one embodiment of the present invention
- FIG. 2 illustrates the structure of a data frame on a Fiber Channel according to one embodiment of the present invention
- FIG. 3 illustrates the structure of a frame header according to one embodiment of the present invention
- FIG. 4 illustrates the structure of FCP_CMND according to one embodiment of the present invention
- FIG. 5 is a flow chart illustrating the operation of a storage system according to one embodiment of the present invention when a data frame is transmitted from a host computer to a first storage controller;
- FIG. 6 shows an LUN management table according to one embodiment of the present invention
- FIG. 7 shows an access limit management table according to one embodiment of the present invention.
- FIG. 8 is a flowchart illustrating an access limit function according to one embodiment of the present invention.
- FIG. 9 shows a priority management table according to one embodiment of the present invention.
- FIG. 10 is a flow chart illustrating a priority control function according to one embodiment of the present invention.
- FIG. 11 shows a pair management table according to one embodiment of the present invention.
- FIG. 12 is a flow chart illustrating the processing of the storage system according to one embodiment of the present invention when a data frame is transmitted in which a data writing request for a main logic volume is described.
- a method for controlling a storage system comprises a host computer; a first storage controller connected communicably to the host computer, for receiving a data frame transmitted from the host computer and executing data input to and data output from a first storage device in response to a data input/output request described in the data frame; and a second storage controller connected communicably to the first storage controller, for receiving a data frame transmitted from the host computer to the first storage controller and relayed by the first storage controller and executing data input to and data output from a second storage device in response to a data input/output request described in the data frame, wherein when the first storage controller receives the data frame transmitted from the host computer the first storage controller relays the data frame to the second storage controller in response to information described in the data frame.
- the second storage controller is connected to the first storage controller such that the data frame transmitted from the host computer is received temporarily by the first storage controller and is transmitted by the first storage controller to the second storage controller in response to information described in the data frame.
- the host computer transmits the data frame to the first storage controller indiscriminately regardless of whether the data frame that the host computer is going to transmit is directed to the first storage controller or to the second storage controller. Therefore, the host computer has no need to communicate directly with the second storage controller when transmitting the data frame and the load of processing in the host computer can be reduced by the amount to be produced by the direct communication, compared to the scheme in which a host computer executes direct communications with the second storage controller.
- a function for relaying the data frame to the second storage controller in response to information described in the data frame when the data frame transmitted from the host computer has been received can be realized by, for example, a program that is run on the first storage controller.
- the data frame is, for example, a data frame conforming to Fiber Channel Protocol.
- the relaying is executed by a Fiber Channel switch included in the first storage controller.
- the information is at least one of information for specifying a Fiber Channel port of the source of the data frame, information for specifying a Fiber Channel port of the destination of the data frame and information for specifying a storage device.
- the information for specifying a Fiber Channel port of the source is, for example, Source_ID described later.
- the information for specifying a Fiber Channel port of the destination is, for example, Destination_ID described later.
- the information for specifying a storage device is, for example, FCP_LUN described later.
- the storage device is, for example, a logic volume organized in zones on a storage area provided by a disk drive or a physical storage area provided by a disk drive.
- the first storage controller functions rather as a network switch which either receives by itself the data frame transmitted from the host computer or relays the data frame to the second storage controller. Then, because the first storage controller functions as a network switch, an applied operation can be easily provided in which the information and the functions possessed by the first storage controller are combined with the function as a network switch. Therefore, functions such as, for example, access limit function, priority control, double management of data, described later, can be easily provided. Not limited to these functions, various functions can be easily realized which are obtained by combining the function as the network switch and the functions that the first storage controller originally has as a storage controller.
- the first storage controller and the second storage controller can be easily connected even though those storage controllers are different models or are from different manufacturers. Therefore, the storage system can be easily configured and full use of resources such as existing or obsolete storage controllers can be progressed.
- full use of a plurality of storage controllers can be progressed by connecting one storage controller provided with these functions to a plurality of storage controllers not provided with these functions.
- the first storage controller stores access limit information indicating whether an access of a Fiber Channel port of the source to a Fiber Channel port or a storage device of the destination is permitted or not permitted. Therefore, it can be arranged that, when the first storage controller receives the data frame from the host computer, the first storage controller refers to the access limit information to check whether an access of a Fiber Channel port of the source of the data frame to a Fiber Channel port of the destination or a storage device of the destination is permitted and relays the data frame to the second storage controller only when the access is permitted.
- the first storage controller judges based on the access limit information whether the first storage controller should transmit the data frame to the second storage controller and, thus, the first storage controller executes replacing the role of the second storage controller the process relating to the access limit of the data frame directed to the second storage controller. Therefore, it is enough that the function for processing an access limit is implemented only on the first storage controller, and the load of maintenance is reduced by the amount to be created by taking the trouble of providing such a mechanism to the second storage controller.
- the function of the first storage controller relating to the access limit is realized by, for example, a program that is run on the first storage controller.
- the second storage controller Since there is no need for the second storage controller to be provided with access limit function, a storage controller having lower performance than that of the first storage controller can be used as the second storage controller and, therefore, the introduction cost and the operation cost can be reduced. Furthermore, old types of storage controllers having lower performance compared to the newly introduced storage controllers can be fully used as second storage controllers. Yet furthermore, it is enough that the access limit management table is stored only in the first storage controller and, therefore, reduction of the load of maintenance created by the unified management is progressed.
- Arrangement may be as follows: in the data frame, as the information, information for specifying a Fiber Channel port of the source of the data frame and information for specifying a Fiber Channel port of the destination of the data frame are described; the first storage controller stores information indicating the priority of data input/output process corresponding to the data frame by relating to combinations of a Fiber Channel port of the source and a Fiber Channel port of the destination; when the first storage controller receives the data frame from the host computer, the apparatus executes data input to and data output from the storage device connected to a port of the destination of the data frame according to the information indicating the priority.
- the information indicating the priority is, for example, information indicating the timing for executing the data input to and data output from the storage device and, more specifically, a delay time which will be described later.
- the first storage controller executes the priority control function replacing the role of the second storage controller. That is, by only implementing the priority control function on the first storage controller, a priority control can also be executed to the data frame directed to the second storage controller and the load of operation imposed on the second storage controller can be reduced by the amount to be created by providing such a mechanism.
- the function of the first storage controller relating to the priority control is realized by, for example, a program that is run on the first storage controller.
- the second storage controller Because there is no need for the second storage controller to be provided with priority control function a storage controller having lower processing performance than that of the first storage controller can be used as the second storage controller and, therefore, the introduction cost and the operation cost can be reduced. Furthermore, old types of storage controllers having lower performance compared to the newly introduced storage controllers can be fully used as second storage controllers. Yet furthermore, it is enough that the priority management table is stored only in the first storage controller, thus achieving a reduction of the load of maintenance by the unified management.
- a method for controlling a storage system comprising a host computer; a first storage controller connected communicably to the host computer, for receiving a data frame transmitted from the host computer and executing data input to and data output from a first storage device in response to a data input/output request described in the data frame; and a second storage controller connected communicably to the first storage controller, for receiving a data frame transmitted from the host computer to the first storage controller and relayed by the first storage controller and executing data input to and data output from a second storage device in response to a data input/output request described in the data frame, wherein the first storage controller stores a copy of data stored in the first storage device which is the object of data input/output effected by the first storage controller, into the second storage device as well which is the object of data input/output effected by the second storage controller, the data frame having therein described information for specifying a Fiber Channel port connected to the first storage device or the second storage device which is the destination of the data frame and information for specifying the storage devices
- a mechanism for data copy management in which data stored in the first storage device is stored into the second storage device as well can be easily realized only by providing a mechanism for creating a data frame as described above in the first storage controller.
- the function of the first storage controller relating to the data copy management is realized by, for example, a program that is run on the first storage controller.
- FIG. 1 The configuration of a storage apparatus system (storage system) described as an embodiment of the present invention is illustrated in FIG. 1 .
- the storage system is operated in, for example, a data center.
- a host computer 5 and a first storage controller 10 are connected through first communication means 40 conforming to Fiber Channel Protocol.
- the host computer 5 is a computer such as, for example, a personal computer, a workstation and a general-purpose computer.
- the first storage controller 10 and a second storage controller 20 are connected through second communication means 50 conforming to the Fiber Channel Protocol.
- the first storage controller 10 includes a switching control unit 11 and a storage device control unit 12 .
- the switching control unit 11 and the storage device control unit 12 are connected by an internal communication path 13 such as an internal bus.
- the switching control unit 11 comprises a switching device 111 , a microprocessor 112 , and a control memory 113 such as a ROM, a RAM, etc.
- the switching device 111 is provided with functions as a Fiber Channel switch (hereinafter referred to as “FC switch”) and has a predetermined number of Fiber Channel ports.
- FC switch Fiber Channel switch
- the switching device 111 receives a data frame transmitted from the host computer 5 and relays the data frame to the storage device control unit 12 or the second storage controller 20 .
- the switching device 111 also receives a data frame transmitted from the storage device control unit 12 or the second storage controller 20 and relays the data frame to the host computer 5 .
- the microprocessor 112 provides various functions of the switching control unit 11 .
- the microprocessor 112 controls various components included in the switching control unit 11 . Furthermore, the microprocessor 112 controls transmitting/receiving of the data frame conducted at the switching device 111 .
- the control memory 113 is utilized as, for example, a work memory for processes executed by the microprocessor 112 , or a storage area for various data such as tables and variables.
- the storage device control unit 12 receives a data frame transmitted through the internal communication path 13 and executes data input to and data output from a disk drive 14 in response to a data input/output request described in the data frame.
- the data input/output processes include a data writing request and a data read-out request.
- data input and output includes the cases where it includes either a data writing request or a data read-out request and where it includes both of a data writing request and a data read-out request.
- the microprocessor 121 provides various functions of the storage device control unit 12 , and controls the various components included in the storage device control unit 12 , etc.
- a control memory 123 is utilized as, for example, a work memory for the processes executed by the microprocessor 121 and as a storage area for various data such as tables and variables.
- a cache memory 124 is used as, for example, temporary storage means for data being input to/output from the disk drive 14 .
- a drive controller 125 executes data input/output processes to the disk drive 14 .
- the drive controller 125 may operate the disk drive 14 in RAID (Redundant Array of Inexpensive Disks) scheme.
- the drive controller 125 manages a physical storage area provided by the disk drive 14 by dividing it into logic volumes that are logic storage areas organized on the physical storage area. A specific identifier called LUN (Logical Unit Number) is given to each logic volume respectively. When an LUN has been designated, one or more disk drives 14 are identified. Furthermore, at least one or more logic volumes are related to one Fiber Channel port and, by designating one Fiber Channel port, all the logic volumes related to it are identified.
- the disk drive 14 can be held in the same housing as that of the first storage controller 10 or in housing different from that of the first storage controller 10 .
- the second storage controller 20 comprises a switching device 201 , a microprocessor 202 , a control memory 203 , a cache memory 204 , a drive controller 205 and a disk drive 21 .
- the switching device 201 is provided with functions as a Fiber Channel switch (hereinafter referred to as “FC switch”) having a plurality of Fiber Channel ports and second communication means 50 is connected to the Fiber Channel ports.
- FC switch Fiber Channel switch
- the microprocessor 202 provides various functions of the second storage controller 20 and controls various components included in the second storage controller 20 , etc.
- the control memory 203 is utilized as, for example, a work memory for the processes executed by the microprocessor 202 , or a storage area for various data such as tables and variables.
- the cache memory 204 is used as, for example, temporary storage means for data input to/output from the disk drive 21 .
- the drive controller 205 executes data input/output processes to the disk drive 21 .
- the drive controller 205 may operate the disk drive 21 in RAID (Redundant Array of Inexpensive Disks) scheme.
- the drive controller 205 manages a physical storage area provided by the disk drive 21 by dividing it into logic volumes that are logic storage areas organized on the physical storage area.
- a specific identifier called LUN (Logical Unit Number) is given to each logic volume respectively. When an LUN has been designated, one or more disk drives 21 are identified.
- the disk drive 21 can be held in the same housing as that of the second storage controller 20 or in housing different from that of the second storage controller 20 .
- FIG. 2 The structure of a data frame 70 on a Fiber Channel is illustrated in FIG. 2 .
- an SOF Start of Frame
- a frame header 72
- a data field 73
- a CRC Cyclic Redundancy Check
- the structure of the frame header ( 72 ) of 24 bytes shown in FIG. 2 is illustrates in FIG. 3 .
- Destination_ID ( 81 ) is an identifier of the Fiber Channel port being the destination of the data frame and N_Port_ID, N_Port_Name or etc. is described in it.
- Source_ID ( 82 ) is an identifier of the Fiber Channel port of the source of the data frame and N_Port_ID, N_Port_Name or etc. is described in it.
- FCP_CMND Fiber Channel Protocol for SCSI Command
- FCP_LUN FCP LogicaLUNit Number
- FCP_CNTL FCP Control
- FCP_CDB FCP Command Descriptor Block
- SCSI command CDB Common Data Block
- FCP_DL FCP Data Length
- a data frame is transmitted from the host computer 5 to a Fiber Channel port of the switching device 111 of the first storage controller 10 through the first communication means 40 (S 511 ).
- the switching device 111 of the first storage controller 10 receives the data frame (S 512 )
- the switching device 111 transmits an interrupt request to the microprocessor 112 (S 513 ).
- the microprocessor 112 stores in the control memory 113 the contents of Destination_ID ( 81 ), Source_ID ( 82 ) and FCP_LUN ( 91 ) of the received data frame (S 514 ).
- a LUN management table shown in FIG. 6 in which whether the FCP_LUN ( 91 ) is directed to a logic volume of the first storage controller 10 or of the second storage controller 20 is described is stored.
- the microprocessor 112 checks whether the data frame is directed to a logic volume of the first storage controller or of the second storage controller by referring the FCP_LUN ( 91 ) of the data frame stored in the control memory 113 to the LUN management table (S 615 ).
- the first storage controller 10 transmits the data frame to the storage device control unit 12 through the internal communication path 13 (S 516 ).
- the storage device control unit 12 executes data input and output corresponding to the SCSI command described in the data frame to the logic volume identified from the contents of FCP_LUN ( 91 ) of the data frame (S 517 ).
- the first storage controller 10 transmits to the switching control unit 11 the data frame in which the result of the process and data read out from the logic volume etc. are described, when necessary (S 518 ).
- the switching device 111 receives the data frame, it transmits the data frame to the host computer 5 (S 519 ).
- the microprocessor 112 controls the switching device 111 such that the switching device 111 relays the data frame to the second storage controller 20 (S 520 ).
- the second storage controller 20 receives the data frame (S 521 ), it executes data input and output corresponding to the SCSI command described in the data frame to a logic volume identified from the contents of FCP_LUN ( 91 ) of the data frame (S 522 ).
- the second storage controller 20 transmits to the first storage controller 10 through the second communication means the data frame in which the report of completion, the result of the process or data read out from the logic volume are described, when necessary (S 523 ).
- the Destination_ID ( 81 ) of the data frame information for specifying a Fiber Channel port of the host computer 5 is described.
- the switching device 111 of the first storage controller 10 receives the data frame (S 524 ), it relays the data frame to the host computer 5 (S 55 ).
- the data frame transmitted from the host computer 5 and input into the switching device 111 of the first storage controller 10 is judged at the switching control unit 11 whether it is directed to the first storage controller 10 or the second storage controller 20 and, if it is directed to the second storage controller 20 , the data frame is relayed from the switching device 111 to the second storage controller 20 .
- the first storage controller 10 receives replacing the role of the second storage controller 20 the data frame that the host computer 5 originally has directed to the second storage controller 20 .
- the host computer 5 only has to communicate with the first storage controller 10 and the load of processing of the host computer 5 can be reduced by the amount to be created by the communication between the host computer 5 and the second storage controller 20 .
- the logic volumes of the first storage controller 10 and the second storage controller 20 can be managed being unified and, therefore, the load of maintenance imposed on work such as updating of the LUN management tables by operators etc. can be reduced.
- the disk drive 14 and disk drive 21 are operated while being virtualized, such a unified management scheme considerably contributes to more efficient operation and reduction of the load of operation.
- the disk array apparatus When a disk array apparatus is the one equipped with a very ordinary interface as the connection interface with the host computer 5 , like the switching device 201 as described above, the disk array apparatus can be used as the second storage controller 20 of the embodiment and, for example, in a storage system using a disk array apparatus having a higher performance as the first storage controller 10 and a disk array apparatus having a lower performance than the other one as the second storage controller 20 , a merit can be produced that the functions of the first storage controller 10 can be applied to the second storage controller 20 .
- the first storage controller 10 stores the access limit management table exemplified in FIG. 7 .
- the access limit management table In the access limit management table, combinations of Destination_ID, Source_ID and LUN, that do not permit any data input/output process are described.
- the access limit function is a function that does not permit any data input/output process corresponding to a data input/output request described in the data frame when the combination of Destination_ID, Source_ID and LUN described in the data frame received by the first storage controller 10 from the host computer 5 is described in the access limit management table.
- the contents of the access limit management table may be registered automatically by a function of the first storage controller 10 or may be registered in a manual operation by an operator.
- the access limit function will be described in detail referring to the flow chart shown in FIG. 8 .
- This flow chart describes the case where a data frame in which a data input/output request directed to a logic volume of the second storage controller 20 is described is transmitted from the host computer 5 to the first storage controller 10 .
- the first storage controller 10 When the first storage controller 10 receives a data frame (S 812 ) transmitted from the host computer 5 (S 811 ), the first storage controller 10 checks whether the combination of Destination_ID ( 81 ), Source_ID ( 82 ) and FCP_LUN ( 91 ) in the data frame is described in the access limit management table (S 813 , S 814 ). If the combination is not described in the access limit management table, the first storage controller 10 relays the data frame to the second storage controller 20 (S 815 ).
- the data frame is transmitted from the switching control unit 11 to the storage device control unit 12 (S 816 ).
- the storage device control unit 12 refers to the access limit management table in the control memory 113 (S 817 ). If the combination of Destination_ID ( 81 ), Source_ID ( 82 ) and FCP_LUN ( 91 ) in the data frame is a combination not to be permitted the access, the storage device control unit 12 creates a data frame directed to the host computer 5 , in which it is described that it is not permitted to access, and transmits the newly created data frame to the switching device 111 (S 818 ). Then, the newly created data frame is transmitted to the host computer 5 through the switching device 111 .
- the storage device control unit 12 transmits the data frame to the switching device 111 (S 819 ) and the switching device 111 relays the data frame to the second storage controller 20 (S 820 ).
- the second storage controller 20 When the second storage controller 20 receives the data frame (S 821 ), the second storage controller 20 executes data input and output corresponding to the SCSI command described in the FCP_CDB in the data frame to the logic volume described in the FCP_LUN in the data frame (S 822 ). After executing the data input/output process, the second storage controller 20 transmits to the first storage controller 10 the data frame in which the result of the process and data read out from the logic volume etc. are described, when necessary (S 823 ).
- the first storage controller 10 executes replacing the role of the second storage controller 20 processes relating to the access limit. Therefore, it is enough that the function for executing the access limit is implemented on the first storage controller 10 . Therefore, the load of maintenance relating to the access limit function can be reduced by the amount to be created by providing such a mechanism to the second storage controller 20 . Furthermore, because no access limit function needs to be included in the second storage controller 20 , a storage controller having a lower processing capacity than the first storage controller 10 can be used as the second storage controller 20 and, therefore, this is effective for reducing of the introduction cost and the operation cost.
- old types of storage controllers having lower performance compared to the newly introduced storage controllers can be fully used as second storage controllers 20 .
- the access limit management table is stored only in the first storage controller 10 and, therefore, reduction of the load of maintenance created by the unified management is progressed.
- the first storage controller 10 stores the priority management table shown in FIG. 9 .
- the priority management table the relations of Destination_ID, Source_ID and the delay time are described.
- the delay time is used as, for example, a parameter for determining the starting time of execution of a process that may increase the load of processing of the microprocessor 121 .
- the priority control function is a function that controls the order of execution of the data input and output corresponding to the data frame received by the first storage controller 10 from the host computer 5 , according to the delay time set in the priority management table.
- the contents of the priority management table may be registered automatically by a function of the first storage controller 10 or may be registered in a manual operation by an operator.
- the priority control function will be described in detail referring to the flow chart shown in FIG. 10 .
- the first storage controller 10 receives a data frame A (S 1012 ) transmitted from the host computer 5 (S 1011 )
- the first storage controller 10 checks whether the combination of Source_ID and Destination_ID in the data frame A exists in the priority management table or not (S 1013 , S 1014 ).
- the first storage controller 10 determines the combination as the object for the access priority when a delay time is not set in the combination (S 1015 ), executes data input and output for data frame A (S 1016 ) and, after execution, transmits to the host computer 5 the data frame in which the report of completion is described (S 1017 ).
- the first storage controller 10 checks whether another data frame B exists waiting to be processed in a queue managed by the control memory 123 in the storage device control unit 12 (S 1020 ) and, if the data frame B exists waiting, causes the starting of execution of the process for data frame A stand by for the period of the delay time set in the priority management table corresponding to the contents of the data frame A (S 1021 ).
- the starting time of which processes for the data frame should be delayed is adequately determined taking into consideration the load of processing imposed on the microprocessor 121 such that the data input/output process will be executed in an adequate order according to the needs of users.
- Arrangement may be such that the control of the order of executing processes using the delay time as a parameter can be determined automatically by the storage system or that the control of the order can be set by a user from a control terminal connected to the storage system.
- the first storage controller 10 executes data input and output for data frame A (S 1022 ) and transmits to the host computer 5 a data frame in which the report of completion is described (S 1023 ).
- the first storage controller 10 executes processes according to the ordinary procedure for data frame A described in the basic operation above. That is, if the data frame A is directed to the disk drive 14 in the first storage controller 10 , data input/output process for the disk drive 14 is executed in the first storage controller 10 and, if the data frame is directed to the disk drive 21 in the second storage controller 20 , the first storage controller 10 transmits the data frame to the second storage controller 20 , and the second storage controller 20 executes a data input/output process directed to the disk drive 21 (S 1031 ). In either cases, after the data input/output process has been completed, a report of completion is transmitted if necessary (S 1032 ).
- the first storage controller 10 checks, according to the procedure described in the above basic operation, whether the data frame A is directed to the disk drive 14 in the first storage controller 10 or to the second storage controller 20 (S 1041 ). Now, if the data frame A is directed to the first storage controller 10 , the data frame is transmitted to the storage device control unit 12 (S 1042 ) and the storage device control unit 12 executes a data input/output process for the data frame A (S 1043 ) and transmits to the host computer 5 a data frame in which a report of completion is described (S 1044 ).
- the first storage controller 10 transmits the data frame A to the second storage controller 20 (S 1051 ).
- the second storage controller 20 receives the data frame A (S 1052 )
- it executes a data input/output process directed to the disk drive 21 to the data frame A (S 1053 ) and transmits a data frame, in which a report of completion is described, to the host computer 5 through the first storage controller 10 (S 1054 ).
- the priority control of data frames in the host computer 5 is dedicatedly executed in the first storage controller 10 . That is, from another point of view, the first storage controller 10 executes replacing the role of the second storage controller 20 the priority control of the second storage controller 20 . That is, it is enough that a priority control function is implemented on the first storage controller 10 , and the second storage controller 20 can enjoy a function corresponding to the priority control function without having a mechanism for the function.
- the load of operation can be reduced for the second storage controller 20 by the amount to be created by providing a mechanism for the priority control.
- old types of storage controllers having lower performance compared to the newly introduced storage controllers can be fully used as second storage controllers and, therefore, effective uses of resource and reduction of operation cost are progressed.
- the priority management table is stored only in the first storage controller 10 and, therefore, reduction of the load of maintenance created by the unified management is progressed.
- priority control function for one LUN has been described as above, it can be arranged that a priority control is executed directing a plurality of LUNs and physical ports in a process described in one data frame.
- a copy management of data is conducted in a way in which a copy of the data stored in a logic volume (hereinafter referred to as “main logic volume”) to which the first storage controller 10 executes data input/output processes is also stored in a logic volume (hereinafter referred to as “sub-logic volume”) in the second storage controller 20 .
- the relation between the LUN in the main logic volume and the LUN in the sub-logic volume is stored in the control memory 113 in the first storage controller 10 as a pair management table.
- An example of the pair management table is shown in FIG. 11 .
- the relation may be automatically set by a function of the first storage controller 10 or may be set in a manual operation by an operator etc.
- the first storage controller 10 When the first storage controller 10 receives the data frame (S 1262 ) transmitted from the host computer 5 (S 1261 ), it checks whether an LUN described in the data frame as FCP_LUN ( 91 ) exists in the pair management table (S 1263 , S 1264 ).
- the first storage controller 10 transmits the received data frame to the storage device control unit 12 (S 1265 ).
- the storage device control unit 12 executes to the proper logic volume a data writing process corresponding to the SCSI command described in the data frame (S 1267 ) and, when necessary, transmits to the host computer 5 a data frame in which a report of completion is described (S 1268 ). Therefore, data has been written in the main logic volume.
- the first storage controller 10 creates a new data frame in which the Destination_ID ( 81 ) and the FCP_LUN ( 91 ) of the data frame is changed such that they designate the sub-logic volume being the destination of copying (S 1269 ).
- the creation of the new data frame is executed in a way in which, after the received data frame has been stored in the control memory 113 , the copy of the data frame is stored in the control memory and the Destination_ID ( 81 ) and the FCP_LUN ( 91 ) in the copy of the data frame are changed to create a new data frame.
- the first storage controller 10 transmits the created new data frame to the second storage controller 20 by controlling the switching device 111 to cause the switching device 111 to do so (S 1270 ).
- the second storage controller 20 executes a data writing process corresponding to the SCSI command described in the FCP_CDB of the data frame, to the sub-logic volume described in the FCP_LUN of the data frame (S 1272 ). In this way, data being a copy of the data described in the main logic volume has been also written in the sub-logic volume.
- the second storage controller 20 transmits to the host computer 5 a data frame in which a report of completion is described if necessary (S 1273 ). In this way, data has been written in the main logic volume and, simultaneously, the same data has been written in the sub-logic volume.
- the first storage controller 10 checks whether the data frame is directed to the disk drive 14 in the first storage controller 10 or is directed to the second storage controller 20 (S 1281 ). If the data frame is directed to the first storage controller 10 , the data frame is transmitted to the storage device control unit 12 and the data writing process about the data frame is executed ( 1282 ). A data frame in which a report of completion is described is transmitted to the host computer 5 if necessary (S 1284 ).
- the first storage controller 10 transmits the data frame to the second storage controller 20 (S 1285 ).
- the second storage controller 20 receives the data frame (S 1286 )
- it executes a data writing process directed to the disk drive 21 (S 1287 ).
- the second storage controller 20 transmits to the host computer 5 through the first storage controller 10 a data frame in which a report of completion of the data writing process is described if necessary (S 1288 ).
- the first storage controller 10 when the first storage controller 10 receives a data frame in which a data writing request directed to the main logic volume is described, the first storage controller 10 creates a data frame for copying the request and transmits it to the second storage controller 20 .
- a mechanism of data copy management in which data stored in the disk drive 14 in the first storage controller 10 is also stored in the disk drive 21 in the second storage controller 20 , can be easily realized only by providing a mechanism for creating a data frame as described above to the first storage controller 10 .
- the communication protocol used for the first communication means or the second communication means is not limited to the Fiber Channel Protocol, but instead other protocols may be used.
- a disk array apparatus has been described as an example of the storage apparatus.
- the present invention is however applicable to other storage apparatuses than the disk array apparatus, such as a semiconductor disk apparatus.
Abstract
Disclosed is a method A method for controlling a storage system including a host computer; a first storage controller connected communicably to the host computer, for receiving a data frame transmitted from the host computer and executing data input to and data output from a first storage device in response to a data input/output request described in the data frame; and a second storage controller connected communicably to the first storage controller, comprising relaying by the first storage controller, upon receipt of the data frame transmitted from the host computer, the data frame to the second storage controller in response to information described in the data frame.
Description
- The present application is a continuation of application Ser. No. 11/259,855, filed Oct. 26, 2005; which is a continuation of application Ser. No. 10/661,154, filed Sep. 12, 2003, now U.S. Pat. No. 7,231,465; which claims priority upon Japanese Patent Application No. 2002-271595 filed on Sep. 8, 2002 in Japan, which is herein incorporated by reference.
- 1. Field of the Invention
- The present invention relates to a method for controlling a storage system, a storage controller and a storage system.
- 2. Description of the Related Art
- The environment surrounding information systems is rapidly changing such as the progress of IT technology and shifting to broadband. Along with this, measures against the rapid increase of the amount of data handled are seriously required. Therefore, the storage systems operating in data centers are being subjected to prompt shifting to larger capacities and higher performances of the storage controllers such as disk array apparatuses.
- To increase the storage area, a disk array apparatus can additionally be provided for example. However, accordingly as the number of the disk array apparatuses installed increases the load of management on the host computer side is inevitably increased, which may affect running of applications on the host computer side. Furthermore, recently, so-called “virtualization” is in progress that is a technology for managing a huge storage area efficiently without making users aware of the hardware configuration as far as possible. However, the virtualization may cause an increase of the load of processing on the host computer side.
- In view of such circumstances, it is expected that the need for the technology for reducing the load of processing on the host computer side will become greater and greater. A technology is thus being sought that ensures larger capacities and higher performances of storage controllers without increasing the load of processing on the host computer side.
- The present invention was conceived on the basis of the above background and one object thereof is to provide a method for controlling a storage system, a storage controller and a storage system.
- A storage system according to one aspect of the present invention to achieve the above and other objects comprises a host computer; a first storage controller connected communicably to the host computer, for receiving a data frame transmitted from the host computer and executing data input to and data output from a first storage device in response to a data input/output request described in the data frame; and a second storage controller connected communicably to the first storage controller, for receiving a data frame transmitted from the host computer to the first storage controller and relayed by the first storage controller and executing data input to and data output from a second storage device in response to a data input/output request described in the data frame, wherein when the first storage controller receives the data frame transmitted from the host computer the first storage controller relays the data frame to the second storage controller in response to information described in the data frame.
- According to the present invention there can be provided a method for controlling a storage system, a storage controller and a storage system.
- Features and objects of the present invention other than the above will become clear by reading the description of the present specification with reference to the accompanying drawings.
- For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings wherein:
-
FIG. 1 illustrates the configuration of a storage system according to one embodiment of the present invention; -
FIG. 2 illustrates the structure of a data frame on a Fiber Channel according to one embodiment of the present invention; -
FIG. 3 illustrates the structure of a frame header according to one embodiment of the present invention; -
FIG. 4 illustrates the structure of FCP_CMND according to one embodiment of the present invention; -
FIG. 5 is a flow chart illustrating the operation of a storage system according to one embodiment of the present invention when a data frame is transmitted from a host computer to a first storage controller; -
FIG. 6 shows an LUN management table according to one embodiment of the present invention; -
FIG. 7 shows an access limit management table according to one embodiment of the present invention; -
FIG. 8 is a flowchart illustrating an access limit function according to one embodiment of the present invention; -
FIG. 9 shows a priority management table according to one embodiment of the present invention; -
FIG. 10 is a flow chart illustrating a priority control function according to one embodiment of the present invention; -
FIG. 11 shows a pair management table according to one embodiment of the present invention; and -
FIG. 12 is a flow chart illustrating the processing of the storage system according to one embodiment of the present invention when a data frame is transmitted in which a data writing request for a main logic volume is described. - At least the following matters will be made clear by the explanation in the present specification and the description of the accompanying drawings.
- A method for controlling a storage system, the storage system comprises a host computer; a first storage controller connected communicably to the host computer, for receiving a data frame transmitted from the host computer and executing data input to and data output from a first storage device in response to a data input/output request described in the data frame; and a second storage controller connected communicably to the first storage controller, for receiving a data frame transmitted from the host computer to the first storage controller and relayed by the first storage controller and executing data input to and data output from a second storage device in response to a data input/output request described in the data frame, wherein when the first storage controller receives the data frame transmitted from the host computer the first storage controller relays the data frame to the second storage controller in response to information described in the data frame.
- In this method, the second storage controller is connected to the first storage controller such that the data frame transmitted from the host computer is received temporarily by the first storage controller and is transmitted by the first storage controller to the second storage controller in response to information described in the data frame. In this configuration, the host computer transmits the data frame to the first storage controller indiscriminately regardless of whether the data frame that the host computer is going to transmit is directed to the first storage controller or to the second storage controller. Therefore, the host computer has no need to communicate directly with the second storage controller when transmitting the data frame and the load of processing in the host computer can be reduced by the amount to be produced by the direct communication, compared to the scheme in which a host computer executes direct communications with the second storage controller.
- A function for relaying the data frame to the second storage controller in response to information described in the data frame when the data frame transmitted from the host computer has been received can be realized by, for example, a program that is run on the first storage controller.
- The data frame is, for example, a data frame conforming to Fiber Channel Protocol. The relaying is executed by a Fiber Channel switch included in the first storage controller.
- The information is at least one of information for specifying a Fiber Channel port of the source of the data frame, information for specifying a Fiber Channel port of the destination of the data frame and information for specifying a storage device. Among these, the information for specifying a Fiber Channel port of the source is, for example, Source_ID described later. The information for specifying a Fiber Channel port of the destination is, for example, Destination_ID described later. The information for specifying a storage device is, for example, FCP_LUN described later.
- The storage device is, for example, a logic volume organized in zones on a storage area provided by a disk drive or a physical storage area provided by a disk drive.
- In this method, the first storage controller functions rather as a network switch which either receives by itself the data frame transmitted from the host computer or relays the data frame to the second storage controller. Then, because the first storage controller functions as a network switch, an applied operation can be easily provided in which the information and the functions possessed by the first storage controller are combined with the function as a network switch. Therefore, functions such as, for example, access limit function, priority control, double management of data, described later, can be easily provided. Not limited to these functions, various functions can be easily realized which are obtained by combining the function as the network switch and the functions that the first storage controller originally has as a storage controller.
- Furthermore, when the virtualization technology is applied to the storage system, a plurality of storage devices are managed virtually unitarily as one device and/or management/operation of functions such as remote copy and data copy management are consolidated. By being provided with such functions, influence on the resource consumption and the processing rate on the host computer side becomes inevitable. However, by making available the provision of the functions formed by combining the functions that the first storage controller originally has as a storage controller and the function as that of a network switch by providing the first storage controller with the function as that of a network switch as described above, it is possible to provide the functions that have been originally included in the host computer, to the side of the first storage controller, to minimize the resource consumption and the load of processing on the host computer side and to provide a system supporting the virtualization.
- Furthermore, when a general-purpose switch such as a Fiber Channel switch is used as the network switch, the first storage controller and the second storage controller can be easily connected even though those storage controllers are different models or are from different manufacturers. Therefore, the storage system can be easily configured and full use of resources such as existing or obsolete storage controllers can be progressed. In addition, in embodiments of (i) basic operations, (ii) access limit function, (iii) priority control and (iv) data copy management, full use of a plurality of storage controllers can be progressed by connecting one storage controller provided with these functions to a plurality of storage controllers not provided with these functions.
- In the data frame, as the information, at least one of information for specifying a Fiber Channel port of the source of the data frame, information for specifying a Fiber Channel port of the destination of the data frame and information for specifying a storage device, is described. The first storage controller stores access limit information indicating whether an access of a Fiber Channel port of the source to a Fiber Channel port or a storage device of the destination is permitted or not permitted. Therefore, it can be arranged that, when the first storage controller receives the data frame from the host computer, the first storage controller refers to the access limit information to check whether an access of a Fiber Channel port of the source of the data frame to a Fiber Channel port of the destination or a storage device of the destination is permitted and relays the data frame to the second storage controller only when the access is permitted.
- In this manner, the first storage controller judges based on the access limit information whether the first storage controller should transmit the data frame to the second storage controller and, thus, the first storage controller executes replacing the role of the second storage controller the process relating to the access limit of the data frame directed to the second storage controller. Therefore, it is enough that the function for processing an access limit is implemented only on the first storage controller, and the load of maintenance is reduced by the amount to be created by taking the trouble of providing such a mechanism to the second storage controller. The function of the first storage controller relating to the access limit is realized by, for example, a program that is run on the first storage controller.
- Since there is no need for the second storage controller to be provided with access limit function, a storage controller having lower performance than that of the first storage controller can be used as the second storage controller and, therefore, the introduction cost and the operation cost can be reduced. Furthermore, old types of storage controllers having lower performance compared to the newly introduced storage controllers can be fully used as second storage controllers. Yet furthermore, it is enough that the access limit management table is stored only in the first storage controller and, therefore, reduction of the load of maintenance created by the unified management is progressed.
- Arrangement may be as follows: in the data frame, as the information, information for specifying a Fiber Channel port of the source of the data frame and information for specifying a Fiber Channel port of the destination of the data frame are described; the first storage controller stores information indicating the priority of data input/output process corresponding to the data frame by relating to combinations of a Fiber Channel port of the source and a Fiber Channel port of the destination; when the first storage controller receives the data frame from the host computer, the apparatus executes data input to and data output from the storage device connected to a port of the destination of the data frame according to the information indicating the priority. The information indicating the priority is, for example, information indicating the timing for executing the data input to and data output from the storage device and, more specifically, a delay time which will be described later.
- In this mechanism, it can be considered that the first storage controller executes the priority control function replacing the role of the second storage controller. That is, by only implementing the priority control function on the first storage controller, a priority control can also be executed to the data frame directed to the second storage controller and the load of operation imposed on the second storage controller can be reduced by the amount to be created by providing such a mechanism.
- The function of the first storage controller relating to the priority control is realized by, for example, a program that is run on the first storage controller.
- Because there is no need for the second storage controller to be provided with priority control function a storage controller having lower processing performance than that of the first storage controller can be used as the second storage controller and, therefore, the introduction cost and the operation cost can be reduced. Furthermore, old types of storage controllers having lower performance compared to the newly introduced storage controllers can be fully used as second storage controllers. Yet furthermore, it is enough that the priority management table is stored only in the first storage controller, thus achieving a reduction of the load of maintenance by the unified management.
- A method for controlling a storage system, the storage system comprising a host computer; a first storage controller connected communicably to the host computer, for receiving a data frame transmitted from the host computer and executing data input to and data output from a first storage device in response to a data input/output request described in the data frame; and a second storage controller connected communicably to the first storage controller, for receiving a data frame transmitted from the host computer to the first storage controller and relayed by the first storage controller and executing data input to and data output from a second storage device in response to a data input/output request described in the data frame, wherein the first storage controller stores a copy of data stored in the first storage device which is the object of data input/output effected by the first storage controller, into the second storage device as well which is the object of data input/output effected by the second storage controller, the data frame having therein described information for specifying a Fiber Channel port connected to the first storage device or the second storage device which is the destination of the data frame and information for specifying the storage devices, wherein when the first storage controller receives the data frame in which is described a data writing request for the first storage device the first storage controller executes writing of data on that data frame to the first storage device while simultaneously the first storage controller creates a data frame in which the information for specifying the Fiber Channel port and the information for specifying the storage devices described in the data frame are rewritten such that the object is the second storage device, the first storage controller transmitting the created data frame to the second storage controller, and wherein the second storage controller receives the data frame and executes writing of data on that data frame to the second storage device, to thereby store a copy of the data stored in the first storage device into the second storage device as well that is the object of data input/output effected by the second storage controller.
- According to this method, a mechanism for data copy management in which data stored in the first storage device is stored into the second storage device as well can be easily realized only by providing a mechanism for creating a data frame as described above in the first storage controller.
- It is to be noted that the function of the first storage controller relating to the data copy management is realized by, for example, a program that is run on the first storage controller.
- The Configuration of the Storage System
- The configuration of a storage apparatus system (storage system) described as an embodiment of the present invention is illustrated in
FIG. 1 . The storage system is operated in, for example, a data center. Ahost computer 5 and afirst storage controller 10 are connected through first communication means 40 conforming to Fiber Channel Protocol. Thehost computer 5 is a computer such as, for example, a personal computer, a workstation and a general-purpose computer. Thefirst storage controller 10 and asecond storage controller 20 are connected through second communication means 50 conforming to the Fiber Channel Protocol. - The
first storage controller 10 includes a switchingcontrol unit 11 and a storagedevice control unit 12. The switchingcontrol unit 11 and the storagedevice control unit 12 are connected by aninternal communication path 13 such as an internal bus. - The switching
control unit 11 comprises aswitching device 111, amicroprocessor 112, and acontrol memory 113 such as a ROM, a RAM, etc. Theswitching device 111 is provided with functions as a Fiber Channel switch (hereinafter referred to as “FC switch”) and has a predetermined number of Fiber Channel ports. Theswitching device 111 receives a data frame transmitted from thehost computer 5 and relays the data frame to the storagedevice control unit 12 or thesecond storage controller 20. In addition, theswitching device 111 also receives a data frame transmitted from the storagedevice control unit 12 or thesecond storage controller 20 and relays the data frame to thehost computer 5. Themicroprocessor 112 provides various functions of the switchingcontrol unit 11. In addition, themicroprocessor 112 controls various components included in the switchingcontrol unit 11. Furthermore, themicroprocessor 112 controls transmitting/receiving of the data frame conducted at theswitching device 111. Thecontrol memory 113 is utilized as, for example, a work memory for processes executed by themicroprocessor 112, or a storage area for various data such as tables and variables. - The storage
device control unit 12 receives a data frame transmitted through theinternal communication path 13 and executes data input to and data output from adisk drive 14 in response to a data input/output request described in the data frame. The data input/output processes include a data writing request and a data read-out request. In the following description, data input and output includes the cases where it includes either a data writing request or a data read-out request and where it includes both of a data writing request and a data read-out request. - The
microprocessor 121 provides various functions of the storagedevice control unit 12, and controls the various components included in the storagedevice control unit 12, etc. Acontrol memory 123 is utilized as, for example, a work memory for the processes executed by themicroprocessor 121 and as a storage area for various data such as tables and variables. Acache memory 124 is used as, for example, temporary storage means for data being input to/output from thedisk drive 14. Adrive controller 125 executes data input/output processes to thedisk drive 14. Thedrive controller 125 may operate thedisk drive 14 in RAID (Redundant Array of Inexpensive Disks) scheme. Thedrive controller 125 manages a physical storage area provided by thedisk drive 14 by dividing it into logic volumes that are logic storage areas organized on the physical storage area. A specific identifier called LUN (Logical Unit Number) is given to each logic volume respectively. When an LUN has been designated, one ormore disk drives 14 are identified. Furthermore, at least one or more logic volumes are related to one Fiber Channel port and, by designating one Fiber Channel port, all the logic volumes related to it are identified. Thedisk drive 14 can be held in the same housing as that of thefirst storage controller 10 or in housing different from that of thefirst storage controller 10. - The
second storage controller 20 comprises aswitching device 201, amicroprocessor 202, acontrol memory 203, acache memory 204, adrive controller 205 and adisk drive 21. Theswitching device 201 is provided with functions as a Fiber Channel switch (hereinafter referred to as “FC switch”) having a plurality of Fiber Channel ports and second communication means 50 is connected to the Fiber Channel ports. - The
microprocessor 202 provides various functions of thesecond storage controller 20 and controls various components included in thesecond storage controller 20, etc. Thecontrol memory 203 is utilized as, for example, a work memory for the processes executed by themicroprocessor 202, or a storage area for various data such as tables and variables. Thecache memory 204 is used as, for example, temporary storage means for data input to/output from thedisk drive 21. Thedrive controller 205 executes data input/output processes to thedisk drive 21. - The
drive controller 205 may operate thedisk drive 21 in RAID (Redundant Array of Inexpensive Disks) scheme. Thedrive controller 205 manages a physical storage area provided by thedisk drive 21 by dividing it into logic volumes that are logic storage areas organized on the physical storage area. A specific identifier called LUN (Logical Unit Number) is given to each logic volume respectively. When an LUN has been designated, one ormore disk drives 21 are identified. - The
disk drive 21 can be held in the same housing as that of thesecond storage controller 20 or in housing different from that of thesecond storage controller 20. - Data Frame
- Next, it will be described the structure of data frames conforming to the Fiber Channel Protocol, that is transmitted and received between the
host computer 5, thefirst storage controller 10 and thesecond storage controller 20. The details of the Fiber Channel Protocol and data frames conforming to it are described in, for example, “Technical Instruction on Fiber Channel” edited by the Fiber Channel Technical Association, Ronso-sha, etc. - The structure of a
data frame 70 on a Fiber Channel is illustrated inFIG. 2 . At the head of thedata frame 70, an SOF (Start of Frame) (71) of four bytes is placed and, following the SOF, a frame header (72) of 24 bytes, a data field (73) of 2112 bytes and a CRC (Cyclic Redundancy Check) (74) of four bytes are provided. At the tail of the data frame, an EOF (75) of four bytes is placed. - The structure of the frame header (72) of 24 bytes shown in
FIG. 2 is illustrates inFIG. 3 . Destination_ID (81) is an identifier of the Fiber Channel port being the destination of the data frame and N_Port_ID, N_Port_Name or etc. is described in it. Source_ID (82) is an identifier of the Fiber Channel port of the source of the data frame and N_Port_ID, N_Port_Name or etc. is described in it. - The structure of FCP_CMND (Fiber Channel Protocol for SCSI Command) being one of the payloads of the data field shown in
FIG. 2 is illustrated inFIG. 4 . In FCP_LUN (FCP LogicaLUNit Number) (91), a LUN of the logic volume to which a SCSI command described in the payload is to be applied. In FCP_CNTL (FCP Control) (92), a command control parameter is described. In FCP_CDB (FCP Command Descriptor Block) (93), a SCSI command CDB (Command Data Block) is described. In FCP_DL (FCP Data Length) (94), the upper limit of the data size that can be converted between an initiator and a target is described. - Basic Operation
- Next, the operation of the storage system while a data frame is transmitted from the
host computer 5 to thefirst storage controller 10 will be described referring to a flow chart shown inFIG. 5 . - First, a data frame is transmitted from the
host computer 5 to a Fiber Channel port of theswitching device 111 of thefirst storage controller 10 through the first communication means 40 (S511). When theswitching device 111 of thefirst storage controller 10 receives the data frame (S512), theswitching device 111 transmits an interrupt request to the microprocessor 112 (S513). When themicroprocessor 112 receives the interrupt request, themicroprocessor 112 stores in thecontrol memory 113 the contents of Destination_ID (81), Source_ID (82) and FCP_LUN (91) of the received data frame (S514). - In the
control memory 113 of thefirst storage controller 10, a LUN management table shown inFIG. 6 , in which whether the FCP_LUN (91) is directed to a logic volume of thefirst storage controller 10 or of thesecond storage controller 20 is described is stored. Themicroprocessor 112 checks whether the data frame is directed to a logic volume of the first storage controller or of the second storage controller by referring the FCP_LUN (91) of the data frame stored in thecontrol memory 113 to the LUN management table (S615). - Now, if the data frame is directed to a logic volume of the
first storage controller 10, thefirst storage controller 10 transmits the data frame to the storagedevice control unit 12 through the internal communication path 13 (S516). When the storagedevice control unit 12 receives the data frame, the storagedevice control unit 12 executes data input and output corresponding to the SCSI command described in the data frame to the logic volume identified from the contents of FCP_LUN (91) of the data frame (S517). After executing the data input/output process, thefirst storage controller 10 transmits to the switchingcontrol unit 11 the data frame in which the result of the process and data read out from the logic volume etc. are described, when necessary (S518). Then, when theswitching device 111 receives the data frame, it transmits the data frame to the host computer 5 (S519). - On the other hand, in (S515), if the data frame received from the
host computer 5 is directed to a logic volume of thesecond storage controller 20, themicroprocessor 112 controls theswitching device 111 such that theswitching device 111 relays the data frame to the second storage controller 20 (S520). When thesecond storage controller 20 receives the data frame (S521), it executes data input and output corresponding to the SCSI command described in the data frame to a logic volume identified from the contents of FCP_LUN (91) of the data frame (S522). - After executing the data input/output process, the
second storage controller 20 transmits to thefirst storage controller 10 through the second communication means the data frame in which the report of completion, the result of the process or data read out from the logic volume are described, when necessary (S523). In the Destination_ID (81) of the data frame, information for specifying a Fiber Channel port of thehost computer 5 is described. When theswitching device 111 of thefirst storage controller 10 receives the data frame (S524), it relays the data frame to the host computer 5 (S55). - As described above, the data frame transmitted from the
host computer 5 and input into theswitching device 111 of thefirst storage controller 10, is judged at the switchingcontrol unit 11 whether it is directed to thefirst storage controller 10 or thesecond storage controller 20 and, if it is directed to thesecond storage controller 20, the data frame is relayed from theswitching device 111 to thesecond storage controller 20. In other words, thefirst storage controller 10 receives replacing the role of thesecond storage controller 20 the data frame that thehost computer 5 originally has directed to thesecond storage controller 20. - Furthermore, by receiving the data frame by the
first storage controller 10 replacing the role of thesecond storage controller 20, thehost computer 5 only has to communicate with thefirst storage controller 10 and the load of processing of thehost computer 5 can be reduced by the amount to be created by the communication between thehost computer 5 and thesecond storage controller 20. - Yet furthermore, by managing the LUN management tables unifying at the
first storage controller 10, the logic volumes of thefirst storage controller 10 and thesecond storage controller 20 can be managed being unified and, therefore, the load of maintenance imposed on work such as updating of the LUN management tables by operators etc. can be reduced. Especially when thedisk drive 14 anddisk drive 21 are operated while being virtualized, such a unified management scheme considerably contributes to more efficient operation and reduction of the load of operation. - When a disk array apparatus is the one equipped with a very ordinary interface as the connection interface with the
host computer 5, like theswitching device 201 as described above, the disk array apparatus can be used as thesecond storage controller 20 of the embodiment and, for example, in a storage system using a disk array apparatus having a higher performance as thefirst storage controller 10 and a disk array apparatus having a lower performance than the other one as thesecond storage controller 20, a merit can be produced that the functions of thefirst storage controller 10 can be applied to thesecond storage controller 20. - Access Limit Function
- Next, the access function included in the
first storage controller 10 will be described. Thefirst storage controller 10 stores the access limit management table exemplified inFIG. 7 . In the access limit management table, combinations of Destination_ID, Source_ID and LUN, that do not permit any data input/output process are described. The access limit function is a function that does not permit any data input/output process corresponding to a data input/output request described in the data frame when the combination of Destination_ID, Source_ID and LUN described in the data frame received by thefirst storage controller 10 from thehost computer 5 is described in the access limit management table. The contents of the access limit management table may be registered automatically by a function of thefirst storage controller 10 or may be registered in a manual operation by an operator. - The access limit function will be described in detail referring to the flow chart shown in
FIG. 8 . This flow chart describes the case where a data frame in which a data input/output request directed to a logic volume of thesecond storage controller 20 is described is transmitted from thehost computer 5 to thefirst storage controller 10. - When the
first storage controller 10 receives a data frame (S812) transmitted from the host computer 5 (S811), thefirst storage controller 10 checks whether the combination of Destination_ID (81), Source_ID (82) and FCP_LUN (91) in the data frame is described in the access limit management table (S813, S814). If the combination is not described in the access limit management table, thefirst storage controller 10 relays the data frame to the second storage controller 20 (S815). - On the other hand, If the combination is described, the data frame is transmitted from the switching
control unit 11 to the storage device control unit 12 (S816). When the storagedevice control unit 12 receives the data frame, the storagedevice control unit 12 refers to the access limit management table in the control memory 113 (S817). If the combination of Destination_ID (81), Source_ID (82) and FCP_LUN (91) in the data frame is a combination not to be permitted the access, the storagedevice control unit 12 creates a data frame directed to thehost computer 5, in which it is described that it is not permitted to access, and transmits the newly created data frame to the switching device 111 (S818). Then, the newly created data frame is transmitted to thehost computer 5 through theswitching device 111. - On the other hand, if the received data frame is a data frame to be permitted the access, the storage
device control unit 12 transmits the data frame to the switching device 111 (S819) and theswitching device 111 relays the data frame to the second storage controller 20 (S820). - When the
second storage controller 20 receives the data frame (S821), thesecond storage controller 20 executes data input and output corresponding to the SCSI command described in the FCP_CDB in the data frame to the logic volume described in the FCP_LUN in the data frame (S822). After executing the data input/output process, thesecond storage controller 20 transmits to thefirst storage controller 10 the data frame in which the result of the process and data read out from the logic volume etc. are described, when necessary (S823). - In this embodiment, combinations of Source_ID, Destination_ID and LUN that do not permit any data input/output process are described in the access limit management table, but instead, combinations of Source_ID, Destination_ID and LUN that permit data input/output processes may be described in the table. The access limit can be set in various forms including not only the case where access limit is executed for all the combinations of Source_ID, Destination_ID and LUN but also the case where it is executed for any one of Source_ID, Destination_ID and LUN or for a combination of any two or more of these.
- As described above, the
first storage controller 10 executes replacing the role of thesecond storage controller 20 processes relating to the access limit. Therefore, it is enough that the function for executing the access limit is implemented on thefirst storage controller 10. Therefore, the load of maintenance relating to the access limit function can be reduced by the amount to be created by providing such a mechanism to thesecond storage controller 20. Furthermore, because no access limit function needs to be included in thesecond storage controller 20, a storage controller having a lower processing capacity than thefirst storage controller 10 can be used as thesecond storage controller 20 and, therefore, this is effective for reducing of the introduction cost and the operation cost. - Furthermore, old types of storage controllers having lower performance compared to the newly introduced storage controllers can be fully used as
second storage controllers 20. Yet furthermore, it is enough that the access limit management table is stored only in thefirst storage controller 10 and, therefore, reduction of the load of maintenance created by the unified management is progressed. - Priority Control
- Next, the priority control function included in the
first storage controller 10 will be described. Thefirst storage controller 10 stores the priority management table shown inFIG. 9 . In the priority management table, the relations of Destination_ID, Source_ID and the delay time are described. The delay time is used as, for example, a parameter for determining the starting time of execution of a process that may increase the load of processing of themicroprocessor 121. The priority control function is a function that controls the order of execution of the data input and output corresponding to the data frame received by thefirst storage controller 10 from thehost computer 5, according to the delay time set in the priority management table. The contents of the priority management table may be registered automatically by a function of thefirst storage controller 10 or may be registered in a manual operation by an operator. - The priority control function will be described in detail referring to the flow chart shown in
FIG. 10 . When thefirst storage controller 10 receives a data frame A (S1012) transmitted from the host computer 5 (S1011), thefirst storage controller 10 checks whether the combination of Source_ID and Destination_ID in the data frame A exists in the priority management table or not (S1013, S1014). - If the combination exists, the
first storage controller 10 determines the combination as the object for the access priority when a delay time is not set in the combination (S1015), executes data input and output for data frame A (S1016) and, after execution, transmits to thehost computer 5 the data frame in which the report of completion is described (S1017). - If a delay time is set in (S1015), the
first storage controller 10 checks whether another data frame B exists waiting to be processed in a queue managed by thecontrol memory 123 in the storage device control unit 12 (S1020) and, if the data frame B exists waiting, causes the starting of execution of the process for data frame A stand by for the period of the delay time set in the priority management table corresponding to the contents of the data frame A (S1021). The starting time of which processes for the data frame should be delayed is adequately determined taking into consideration the load of processing imposed on themicroprocessor 121 such that the data input/output process will be executed in an adequate order according to the needs of users. Arrangement may be such that the control of the order of executing processes using the delay time as a parameter can be determined automatically by the storage system or that the control of the order can be set by a user from a control terminal connected to the storage system. After the delay time has passed, thefirst storage controller 10 executes data input and output for data frame A (S1022) and transmits to the host computer 5 a data frame in which the report of completion is described (S1023). - On the other hand, in (S1020), if another data frame B does not exist waiting in the queue, the
first storage controller 10 executes processes according to the ordinary procedure for data frame A described in the basic operation above. That is, if the data frame A is directed to thedisk drive 14 in thefirst storage controller 10, data input/output process for thedisk drive 14 is executed in thefirst storage controller 10 and, if the data frame is directed to thedisk drive 21 in thesecond storage controller 20, thefirst storage controller 10 transmits the data frame to thesecond storage controller 20, and thesecond storage controller 20 executes a data input/output process directed to the disk drive 21 (S1031). In either cases, after the data input/output process has been completed, a report of completion is transmitted if necessary (S1032). - In (S1014), if the combination of Source_ID, Destination_ID of the data frame A does not exist in the priority management table, the
first storage controller 10 checks, according to the procedure described in the above basic operation, whether the data frame A is directed to thedisk drive 14 in thefirst storage controller 10 or to the second storage controller 20 (S1041). Now, if the data frame A is directed to thefirst storage controller 10, the data frame is transmitted to the storage device control unit 12 (S1042) and the storagedevice control unit 12 executes a data input/output process for the data frame A (S1043) and transmits to the host computer 5 a data frame in which a report of completion is described (S1044). - On the other hand, if the data frame A is directed to the
disk drive 21 in thesecond storage controller 20, thefirst storage controller 10 transmits the data frame A to the second storage controller 20 (S1051). When thesecond storage controller 20 receives the data frame A (S1052), it executes a data input/output process directed to thedisk drive 21 to the data frame A (S1053) and transmits a data frame, in which a report of completion is described, to thehost computer 5 through the first storage controller 10 (S1054). - As understood from the above description, the priority control of data frames in the
host computer 5 is dedicatedly executed in thefirst storage controller 10. That is, from another point of view, thefirst storage controller 10 executes replacing the role of thesecond storage controller 20 the priority control of thesecond storage controller 20. That is, it is enough that a priority control function is implemented on thefirst storage controller 10, and thesecond storage controller 20 can enjoy a function corresponding to the priority control function without having a mechanism for the function. - Furthermore, the load of operation can be reduced for the
second storage controller 20 by the amount to be created by providing a mechanism for the priority control. Yet furthermore, it becomes possible to provide a function of priority control in the forms including thedisk drive 21 in thesecond storage controller 20 even if a storage controller having a lower process capacity than that of thefirst storage controller 10 is used as thesecond storage controller 20 and, therefore, the introduction cost and the operation cost can be reduced. - Yet furthermore, old types of storage controllers having lower performance compared to the newly introduced storage controllers can be fully used as second storage controllers and, therefore, effective uses of resource and reduction of operation cost are progressed. In addition, it is enough that the priority management table is stored only in the
first storage controller 10 and, therefore, reduction of the load of maintenance created by the unified management is progressed. - Though the priority control function for one LUN has been described as above, it can be arranged that a priority control is executed directing a plurality of LUNs and physical ports in a process described in one data frame.
- Data Copy Control
- In a storage system of the present invention, a copy management of data is conducted in a way in which a copy of the data stored in a logic volume (hereinafter referred to as “main logic volume”) to which the
first storage controller 10 executes data input/output processes is also stored in a logic volume (hereinafter referred to as “sub-logic volume”) in thesecond storage controller 20. The relation between the LUN in the main logic volume and the LUN in the sub-logic volume is stored in thecontrol memory 113 in thefirst storage controller 10 as a pair management table. An example of the pair management table is shown inFIG. 11 . However, the relation may be automatically set by a function of thefirst storage controller 10 or may be set in a manual operation by an operator etc. - Now, a process of the storage system while a data frame in which a data writing request directed to the main logic volume is described is transmitted from the
host computer 5 to thefirst storage controller 10 will be described referring to a flow chart shown inFIG. 12 . - When the
first storage controller 10 receives the data frame (S1262) transmitted from the host computer 5 (S1261), it checks whether an LUN described in the data frame as FCP_LUN (91) exists in the pair management table (S1263, S1264). - If the LUN described in the data frame as FCP_LUN (91) does not exist in the pair management table, the
first storage controller 10 transmits the received data frame to the storage device control unit 12 (S1265). When the storagedevice control unit 12 receives the data frame (S1266), it executes to the proper logic volume a data writing process corresponding to the SCSI command described in the data frame (S1267) and, when necessary, transmits to the host computer 5 a data frame in which a report of completion is described (S1268). Therefore, data has been written in the main logic volume. - In (S1264), if the LUN exists in the pair management table, the
first storage controller 10 creates a new data frame in which the Destination_ID (81) and the FCP_LUN (91) of the data frame is changed such that they designate the sub-logic volume being the destination of copying (S1269). The creation of the new data frame is executed in a way in which, after the received data frame has been stored in thecontrol memory 113, the copy of the data frame is stored in the control memory and the Destination_ID (81) and the FCP_LUN (91) in the copy of the data frame are changed to create a new data frame. - Next, the
first storage controller 10 transmits the created new data frame to thesecond storage controller 20 by controlling theswitching device 111 to cause theswitching device 111 to do so (S1270). When thesecond storage controller 20 receives the data frame (S1271), it executes a data writing process corresponding to the SCSI command described in the FCP_CDB of the data frame, to the sub-logic volume described in the FCP_LUN of the data frame (S1272). In this way, data being a copy of the data described in the main logic volume has been also written in the sub-logic volume. After the data writing process has been executed, thesecond storage controller 20 transmits to the host computer 5 a data frame in which a report of completion is described if necessary (S1273). In this way, data has been written in the main logic volume and, simultaneously, the same data has been written in the sub-logic volume. - On the other hand, in (S1264), if the LUN described in the data frame as the FCP_LUN (91) does not exist in the pair management table, the
first storage controller 10, following the procedure described in the above basic operation, checks whether the data frame is directed to thedisk drive 14 in thefirst storage controller 10 or is directed to the second storage controller 20 (S1281). If the data frame is directed to thefirst storage controller 10, the data frame is transmitted to the storagedevice control unit 12 and the data writing process about the data frame is executed (1282). A data frame in which a report of completion is described is transmitted to thehost computer 5 if necessary (S1284). - If the data frame is directed to the
disk drive 21 in thesecond storage controller 20, thefirst storage controller 10 transmits the data frame to the second storage controller 20 (S1285). When thesecond storage controller 20 receives the data frame (S1286), it executes a data writing process directed to the disk drive 21 (S1287). Then, thesecond storage controller 20 transmits to thehost computer 5 through the first storage controller 10 a data frame in which a report of completion of the data writing process is described if necessary (S1288). - In the above processes, when the
first storage controller 10 receives a data frame in which a data writing request directed to the main logic volume is described, thefirst storage controller 10 creates a data frame for copying the request and transmits it to thesecond storage controller 20. - According to this method, a mechanism of data copy management, in which data stored in the
disk drive 14 in thefirst storage controller 10 is also stored in thedisk drive 21 in thesecond storage controller 20, can be easily realized only by providing a mechanism for creating a data frame as described above to thefirst storage controller 10. - There are two schemes for data copy management known such as so-called “synchronized scheme” in which the
first storage controller 10 having received the data frame notifies thehost computer 5 of a report of completion after confirming the completion of the writing processes for both of the main logic volume and the sub-logic volume, and so-called “non-synchronized scheme” in which thefirst storage controller 10 notifies thehost computer 5 of the report of completion only when the writing process to the main logic volume has been completed regardless of whether the writing process to the sub-logic volume has been completed or not. However, the mechanism of the above-described embodiment can be applied to the case operated in either the “synchronized scheme” or the “non-synchronized scheme”. - Although the storage system control method, etc., according to the present invention have been set forth by way of several embodiments, the above embodiments are only to facilitate the understanding of the present invention but are not intended to limit the present invention. It will be appreciated that the present invention can be variously changed or improved without departing from the spirit thereof and that the present invention covers equivalents thereof. Only one of the functions of access limit, priority, data copy control described above may be applied or any combination of two or more of these may be applied.
- The communication protocol used for the first communication means or the second communication means is not limited to the Fiber Channel Protocol, but instead other protocols may be used.
- In the above embodiments, a disk array apparatus has been described as an example of the storage apparatus. The present invention is however applicable to other storage apparatuses than the disk array apparatus, such as a semiconductor disk apparatus.
- Although the present invention has been described above based on the embodiments, it is to be noted that the present invention shall not be limited to the embodiments stated herein, and that various modifications can be made without departing from spirit of the invention.
Claims (16)
1. A method of controlling to data access in a virtualization system coupled to a plurality of host systems and at least one storage system, at least one of the host systems sending a write request to a volume in the virtualization system, the storage system having a plurality of disk drives and a plurality of logical volumes related to the disk drives, the method comprising:
receiving a first write request, the first write request being sent from a first host system of the host systems and being targeted to a first volume;
transferring data of the first write request to the first volume;
copying data of the first write request to a second volume, the second volume being a pair volume of the first volume and being a virtual volume for being used to transfer the copy of data of the first write request to a first logical volume of the storage system;
transferring the copy of data of the first write request to the storage system based on a first relationship information between the second volume and the first logical volume;
receiving a second write request, the second write request being sent from a second host system of the host systems and being targeted to the second volume;
restricting to transfer data of the second write request to the second volume, if the second host system is not allowed to access to the second volume; and
transferring the data of the second write request to the second volume, if the second host system is allowed to access to the second volume.
2. The method of controlling data access as recited in claim 1 , wherein storing the first relationship information between the second volume and the first logical volume.
3. The method of controlling data access as recited in claim 1 , further comprising:
storing a second relationship information between a specified host system of the host systems and the second volume,
wherein the virtualization system performs the restricting step or the transferring step of the data of the second write request to the second volume, based on the second relationship information including a relationship between the second host system and, the second volume.
4. The method of controlling data access as recited in claim 1 , further comprising:
storing a second relationship information between a specified host system of the host systems and the second volume; and
determining whether or not the second host system is allowed to access to the second volume, based on the second relationship information including a relationship between the second host system and the second volume.
5. The method of controlling data access as recited in claim 1 , further comprising:
storing a third relationship information for identifying a pair relationship between the first volume and the second volume,
wherein the virtualization system performs the copying step based on the third relationship information.
6. The method of controlling data access as recited in claim 1 , wherein each of the first volume, the second volume and the first logical volume is identified by using a Logical Unit Number (LUN).
7. The method of controlling data access as recited in claim 1 , wherein the first relationship information relates the second volume to both the first logical volume and a second logical volume of the storage system.
8. The method of controlling data transfer as recited in claim 1 , wherein the virtualization system includes a data switching part and a control part, and
wherein the data switching part conducts the receiving step for receiving the first write request, the transferring step for transferring data of the first write request to the first volume, the transferring step for transferring the copy of data of the first write request to the storage system, the receiving step for receiving the second write request, the restricting step for restricting to transfer data of the second write request to the second volume, and the transferring step for transferring the data of the second write request to the second volume.
9. A virtualization system coupled to a plurality of host systems and at least one storage system, at least one of the host systems sending a write request to a volume in the virtualization system, the storage system having a plurality of disk drives and a plurality of logical volumes related to the disk drives, the virtualizations system comprising:
a plurality ports coupled to the host systems and the storage system;
a data switching part; and
a control part;
wherein the data switching part and/or the control part perform a plurality of steps of:
receiving a first write request, the first write request being sent from a first host system of the host systems and being targeted to a first volume,
transferring data of the first write request to the first volume,
copying data of the first write request to a second volume, the second volume being a pair volume of the first volume and being a virtual volume for being used to transfer the copy of data of the first write request to a first logical volume of the storage system,
transferring the copy of data of the first write request to the storage system based on a first relationship information between the second volume and the first logical volume,
receiving a second write request, the second write request being sent from a second host system of the host systems and being targeted to the second volume,
restricting to transfer data of the second write request to the second volume, if the second host system is not allowed to access to the second volume, and
transferring the data of the second write request to the second volume, if the second host system is allowed to access to the second volume.
10. The virtualization system as recited in claim 9 , wherein storing the first relationship information between the second volume and the first logical volume.
11. The virtualization system as recited in claim 9 , wherein the data switching part and/or the control part further perform a step of:
storing a second relationship information between a specified host system of the host systems and the second volume,
wherein the virtualization system performs the restricting step or the transferring step of the data of the second write request to the second volume, based on the second relationship information including a relationship between the second host system and the second volume.
12. The virtualization system as recited in claim 9 , wherein the data switching part and/or the control part further perform a plurality of steps of:
storing a second relationship information between a specified host system of the host systems and the second volume; and
determining whether or not the second host system is allowed to access to the second volume, based on the second relationship information including a relationship between the second host system and the second volume.
13. The virtualization system as recited in claim 9 , wherein the data switching part and/or the control part further perform a step of:
storing a third relationship information for identifying a pair relationship between the first volume and the second volume,
wherein the virtualization system performs the copying step based on the third relationship information.
14. The virtualization system as recited in claim 9 , wherein each of the first volume, the second volume and the first logical volume is identified by using a Logical Unit Number (LUN).
15. The virtualization system as recited in claim 9 , wherein the first relationship information relates the second volume to both the first logical volume and a second logical volume of the storage system.
16. The virtualization system as recited in claim 9 , wherein the data switching part performs the receiving step for receiving the first write request, the transferring step for transferring data of the first write request to the first volume, the transferring step for transferring the copy of data of the first write request to the storage system, the receiving step for receiving the second write request, the restricting step for restricting to transfer data of the second write request to the second volume, and the transferring step for transferring the data of the second write request to the second volume.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/984,704 US20080091899A1 (en) | 2002-09-18 | 2007-11-21 | Storage system, and method for controlling the same |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002271595A JP2004110367A (en) | 2002-09-18 | 2002-09-18 | Storage system control method, storage control device, and storage system |
JP2002-271595 | 2002-09-18 | ||
US10/661,154 US7231465B2 (en) | 2002-09-18 | 2003-09-12 | Storage system, and method for controlling the same |
US11/259,855 US7380032B2 (en) | 2002-09-18 | 2005-10-26 | Storage system, and method for controlling the same |
US11/984,704 US20080091899A1 (en) | 2002-09-18 | 2007-11-21 | Storage system, and method for controlling the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/259,855 Continuation US7380032B2 (en) | 2002-09-18 | 2005-10-26 | Storage system, and method for controlling the same |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080091899A1 true US20080091899A1 (en) | 2008-04-17 |
Family
ID=31944554
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/661,154 Expired - Fee Related US7231465B2 (en) | 2002-09-18 | 2003-09-12 | Storage system, and method for controlling the same |
US11/259,855 Expired - Fee Related US7380032B2 (en) | 2002-09-18 | 2005-10-26 | Storage system, and method for controlling the same |
US11/984,704 Abandoned US20080091899A1 (en) | 2002-09-18 | 2007-11-21 | Storage system, and method for controlling the same |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/661,154 Expired - Fee Related US7231465B2 (en) | 2002-09-18 | 2003-09-12 | Storage system, and method for controlling the same |
US11/259,855 Expired - Fee Related US7380032B2 (en) | 2002-09-18 | 2005-10-26 | Storage system, and method for controlling the same |
Country Status (5)
Country | Link |
---|---|
US (3) | US7231465B2 (en) |
EP (2) | EP1400893B1 (en) |
JP (1) | JP2004110367A (en) |
CN (3) | CN100461085C (en) |
DE (2) | DE60315102T2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080172537A1 (en) * | 2003-09-17 | 2008-07-17 | Hitachi, Ltd. | Remote storage disk control device and method for controlling the same |
US20100042752A1 (en) * | 2008-08-15 | 2010-02-18 | International Business Machines Corporation | Remote management of storage controllers |
US20100057949A1 (en) * | 2008-08-28 | 2010-03-04 | Weber Bret S | Circuits, systems, and methods to integrate storage virtualization in a storage controller |
US20100106911A1 (en) * | 2008-10-27 | 2010-04-29 | Day Brian A | Methods and systems for communication between storage controllers |
TWI602115B (en) * | 2016-06-23 | 2017-10-11 | 慧榮科技股份有限公司 | Data storage method of data storage device |
CN107665091A (en) * | 2016-07-28 | 2018-02-06 | 大心电子股份有限公司 | Method for reading data, method for writing data and its storage control |
US10972542B2 (en) | 2017-03-29 | 2021-04-06 | Huawei Technologies Co., Ltd. | Data storage method and apparatus |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004110367A (en) * | 2002-09-18 | 2004-04-08 | Hitachi Ltd | Storage system control method, storage control device, and storage system |
JP2004302713A (en) | 2003-03-31 | 2004-10-28 | Hitachi Ltd | Storage system and its control method |
JP4598387B2 (en) * | 2003-09-17 | 2010-12-15 | 株式会社日立製作所 | Storage system |
TWI306241B (en) * | 2004-07-12 | 2009-02-11 | Infortrend Technology Inc | A controller capable of self-monitoring, a redundant storage system having the same, and its method |
JP4640770B2 (en) | 2004-10-15 | 2011-03-02 | 株式会社日立製作所 | Control device connected to external device |
JP4737089B2 (en) * | 2004-10-19 | 2011-07-27 | 日本電気株式会社 | VPN gateway device and hosting system |
JP4476108B2 (en) * | 2004-11-24 | 2010-06-09 | 株式会社日立製作所 | Storage system, computer system, and storage information acquisition method |
JP2006178811A (en) * | 2004-12-24 | 2006-07-06 | Hitachi Ltd | Storage system, and path control method for the system |
US7401260B2 (en) * | 2005-01-28 | 2008-07-15 | International Business Machines Corporation | Apparatus, system, and method for performing storage device maintenance |
JP4810930B2 (en) * | 2005-03-25 | 2011-11-09 | 株式会社日立製作所 | Information processing system |
US7853741B2 (en) * | 2005-04-11 | 2010-12-14 | Emulex Design & Manufacturing Corporation | Tunneling SATA targets through fibre channel |
JP4733431B2 (en) * | 2005-06-01 | 2011-07-27 | 株式会社日立製作所 | Remote copy initial copy system, initial copy method, and storage device |
US20070005813A1 (en) * | 2005-07-04 | 2007-01-04 | Jih-Liang Juang | Peripheral device and method for interpreting redefined frame information structure |
JP4413184B2 (en) * | 2005-11-28 | 2010-02-10 | 富士通株式会社 | Data storage system and data storage control device |
JP4842720B2 (en) * | 2006-06-29 | 2011-12-21 | 株式会社日立製作所 | Storage system and data replication method |
JP2008090747A (en) * | 2006-10-04 | 2008-04-17 | Sony Corp | Communication system, communication equipment, program, and communication method |
JP4639223B2 (en) * | 2007-12-27 | 2011-02-23 | 株式会社日立製作所 | Storage subsystem |
JP5159353B2 (en) * | 2008-02-08 | 2013-03-06 | 株式会社日立製作所 | Storage system, release method, and secondary storage device |
US20100070722A1 (en) * | 2008-09-16 | 2010-03-18 | Toshio Otani | Method and apparatus for storage migration |
US8650328B1 (en) * | 2008-12-15 | 2014-02-11 | American Megatrends, Inc. | Bi-directional communication between redundant storage controllers |
CN101702114A (en) * | 2009-11-18 | 2010-05-05 | 成都市华为赛门铁克科技有限公司 | Memory module, memory device, memory system and data-processing method |
JP5614133B2 (en) | 2010-07-02 | 2014-10-29 | 富士通株式会社 | Access control device, access control method, and storage system |
CN103080909A (en) * | 2011-02-24 | 2013-05-01 | 株式会社日立制作所 | Computer system, method for managing same, and program |
US8799523B2 (en) * | 2011-09-21 | 2014-08-05 | Kevin Mark Klughart | Data storage architecture extension system and method |
US9460110B2 (en) | 2011-09-21 | 2016-10-04 | Kevin Mark Klughart | File system extension system and method |
US8943227B2 (en) | 2011-09-21 | 2015-01-27 | Kevin Mark Klughart | Data storage architecture extension system and method |
US9870373B2 (en) | 2011-09-21 | 2018-01-16 | Kevin Mark Klughart | Daisy-chain storage synchronization system and method |
US9652343B2 (en) | 2011-09-21 | 2017-05-16 | Kevin Mark Klughart | Raid hot spare system and method |
CN102650932A (en) * | 2012-04-05 | 2012-08-29 | 华为技术有限公司 | Method, equipment and system for accessing data |
US10691344B2 (en) | 2013-05-30 | 2020-06-23 | Hewlett Packard Enterprise Development Lp | Separate memory controllers to access data in memory |
US9442672B2 (en) * | 2013-11-08 | 2016-09-13 | Globalfoundries Inc. | Replicating data across controllers |
US9736241B2 (en) | 2014-06-27 | 2017-08-15 | International Business Machines Corporation | Maintenance of a fabric priority among operations within a fibre channel exchange |
US9614910B2 (en) | 2014-06-27 | 2017-04-04 | International Business Machines Corporation | Maintenance of a fabric priority among operations in related fibre channel exchanges |
US9491240B2 (en) * | 2014-06-27 | 2016-11-08 | International Business Machines Corporation | Maintenance of a fabric priority during synchronous copy operations |
CN111176559B (en) * | 2015-12-04 | 2023-07-11 | 成都华为技术有限公司 | Data writing method and device and dual-activity system |
TWI705374B (en) * | 2017-01-23 | 2020-09-21 | 威鋒電子股份有限公司 | Electronic apparatus and operation method thereof |
US11240540B2 (en) * | 2020-06-11 | 2022-02-01 | Western Digital Technologies, Inc. | Storage system and method for frame trimming to optimize network bandwidth |
US11915047B2 (en) | 2020-06-30 | 2024-02-27 | Western Digital Technologies, Inc. | Managing storage device compute operations |
US11681466B2 (en) * | 2020-06-30 | 2023-06-20 | Western Digital Technologies, Inc. | Proactive storage operation management |
CN112596673B (en) * | 2020-12-18 | 2023-08-18 | 南京道熵信息技术有限公司 | Multiple-active multiple-control storage system with dual RAID data protection |
Citations (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US79019A (en) * | 1868-06-16 | Improved oonneotiefg-eod adjustment | ||
US79018A (en) * | 1868-06-16 | smith | ||
US87751A (en) * | 1869-03-16 | bachelder | ||
US93567A (en) * | 1869-08-10 | Improvement in copying-presses | ||
US93541A (en) * | 1869-08-10 | Improvement in can-openers | ||
US4710868A (en) * | 1984-06-29 | 1987-12-01 | International Business Machines Corporation | Interconnect scheme for shared memory local networks |
US5459957A (en) * | 1994-06-09 | 1995-10-24 | Winer; Guy T. | Gun security and safety system |
US5504982A (en) * | 1994-06-27 | 1996-04-09 | Sharp; Jason W. | Embedded arrowhead removing tool |
US5574950A (en) * | 1994-03-01 | 1996-11-12 | International Business Machines Corporation | Remote data shadowing using a multimode interface to dynamically reconfigure control link-level and communication link-level |
US5680590A (en) * | 1990-09-21 | 1997-10-21 | Parti; Michael | Simulation system and method of using same |
US5870537A (en) * | 1996-03-13 | 1999-02-09 | International Business Machines Corporation | Concurrent switch to shadowed device for storage controller and device errors |
US5895495A (en) * | 1997-03-13 | 1999-04-20 | International Business Machines Corporation | Demand-based larx-reserve protocol for SMP system buses |
US5917723A (en) * | 1995-05-22 | 1999-06-29 | Lsi Logic Corporation | Method and apparatus for transferring data between two devices with reduced microprocessor overhead |
US5930823A (en) * | 1996-09-09 | 1999-07-27 | Mitsubishi Denki Kabushiki Kaisha | Shared data storage for two hosts with a storage manager that permits each host to exclusively read operating system |
US6012123A (en) * | 1997-06-10 | 2000-01-04 | Adaptec Inc | External I/O controller system for an independent access parity disk array |
US6173374B1 (en) * | 1998-02-11 | 2001-01-09 | Lsi Logic Corporation | System and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer network |
US6195730B1 (en) * | 1998-07-24 | 2001-02-27 | Storage Technology Corporation | Computer system with storage device mapping input/output processor |
US6247099B1 (en) * | 1999-06-03 | 2001-06-12 | International Business Machines Corporation | System and method for maintaining cache coherency and data synchronization in a computer system having multiple active controllers |
US6247103B1 (en) * | 1998-01-06 | 2001-06-12 | International Business Machines Corporation | Host storage management control of outboard data movement using push-pull operations |
USRE37305E1 (en) * | 1982-12-30 | 2001-07-31 | International Business Machines Corporation | Virtual memory address translation mechanism with controlled data persistence |
US20010054133A1 (en) * | 2000-05-24 | 2001-12-20 | Akira Murotani | Data storage system and method of hierarchical control thereof |
US6341329B1 (en) * | 1998-04-02 | 2002-01-22 | Emc Corporation | Virtual tape system |
US20020019908A1 (en) * | 2000-06-02 | 2002-02-14 | Reuter James M. | System and method for managing virtual storage |
US20020019923A1 (en) * | 2000-06-02 | 2002-02-14 | Reuter James M. | Distributed fine-grained enhancements for distributed table driven I/O mapping |
US6363462B1 (en) * | 1997-03-31 | 2002-03-26 | Lsi Logic Corporation | Storage controller providing automatic retention and deletion of synchronous back-up data |
US20020065864A1 (en) * | 2000-03-03 | 2002-05-30 | Hartsell Neal D. | Systems and method for resource tracking in information management environments |
US20020087544A1 (en) * | 2000-06-20 | 2002-07-04 | Selkirk Stephen S. | Dynamically changeable virtual mapping scheme |
US20020103889A1 (en) * | 2000-02-11 | 2002-08-01 | Thomas Markson | Virtual storage layer approach for dynamically associating computer storage with processing hosts |
US20020112113A1 (en) * | 2001-01-11 | 2002-08-15 | Yotta Yotta, Inc. | Storage virtualization system and methods |
US6446141B1 (en) * | 1999-03-25 | 2002-09-03 | Dell Products, L.P. | Storage server system including ranking of data source |
US6446175B1 (en) * | 1999-07-28 | 2002-09-03 | Storage Technology Corporation | Storing and retrieving data on tape backup system located at remote storage system site |
US20020124108A1 (en) * | 2001-01-04 | 2002-09-05 | Terrell William C. | Secure multiprotocol interface |
US20020133735A1 (en) * | 2001-01-16 | 2002-09-19 | International Business Machines Corporation | System and method for efficient failover/failback techniques for fault-tolerant data storage system |
US20020156984A1 (en) * | 2001-02-20 | 2002-10-24 | Storageapps Inc. | System and method for accessing a storage area network as network attached storage |
US20020156987A1 (en) * | 2001-02-13 | 2002-10-24 | Confluence Neworks, Inc. | Storage virtualization and storage management to provide higher level storage services |
US20020178335A1 (en) * | 2000-06-19 | 2002-11-28 | Storage Technology Corporation | Apparatus and method for dynamically changeable virtual mapping scheme |
US6490659B1 (en) * | 2000-03-31 | 2002-12-03 | International Business Machines Corporation | Warm start cache recovery in a dual active controller with cache coherency using stripe locks for implied storage volume reservations |
US20020188592A1 (en) * | 2001-06-11 | 2002-12-12 | Storage Technology Corporation | Outboard data storage management system and method |
US20030037071A1 (en) * | 2001-08-03 | 2003-02-20 | International Business Machines Corporation | Quiesce system storage device and method in a dual active controller with cache coherency using stripe locks for implied storage volume reservations |
US6529976B1 (en) * | 1997-04-01 | 2003-03-04 | Hitachi, Ltd. | Heterogeneous computer system, heterogeneous input output system and data back-up method for the systems |
US20030051109A1 (en) * | 2001-06-28 | 2003-03-13 | Cochran Robert A. | Method and system for providing logically consistent logical unit backup snapshots within one or more data storage devices |
US20030056038A1 (en) * | 2001-06-28 | 2003-03-20 | Cochran Robert A. | Method and system for providing advanced warning to a data stage device in order to decrease the time for a mirror split operation without starving host I/O request processsing |
US20030097607A1 (en) * | 2001-11-21 | 2003-05-22 | Bessire Michael L. | System and method for ensuring the availability of a storage system |
US20030101228A1 (en) * | 2001-11-02 | 2003-05-29 | Busser Richard W. | Data mirroring between controllers in an active-active controller pair |
US20030115218A1 (en) * | 2001-12-19 | 2003-06-19 | Bobbitt Jared E. | Virtual file system |
US20030115432A1 (en) * | 2001-12-14 | 2003-06-19 | Biessener Gaston R. | Data backup and restoration using dynamic virtual storage |
US20030145168A1 (en) * | 2001-10-16 | 2003-07-31 | Lecrone Douglas E. | Method and apparatus for maintaining data coherency |
US20030158999A1 (en) * | 2002-02-21 | 2003-08-21 | International Business Machines Corporation | Method and apparatus for maintaining cache coherency in a storage system |
US20030167419A1 (en) * | 1993-04-23 | 2003-09-04 | Moshe Yanai | Remote data mirroring system having a remote link adapter |
US6622220B2 (en) * | 2001-03-15 | 2003-09-16 | Hewlett-Packard Development Company, L.P. | Security-enhanced network attached storage device |
US20030189936A1 (en) * | 2001-10-18 | 2003-10-09 | Terrell William C. | Router with routing processors and methods for virtualization |
US20030200387A1 (en) * | 2000-05-25 | 2003-10-23 | Hitachi, Ltd. | Storage system making possible data synchronization confirmation at time of asynchronous remote copy |
US20030204700A1 (en) * | 2002-04-26 | 2003-10-30 | Biessener David W. | Virtual physical drives |
US6647387B1 (en) * | 2000-04-27 | 2003-11-11 | International Business Machine Corporation | System, apparatus, and method for enhancing storage management in a storage area network |
US6647414B1 (en) * | 1998-08-26 | 2003-11-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for automatic information transmission in an IP network |
US20030212860A1 (en) * | 2002-03-01 | 2003-11-13 | Hitachi, Ltd. | System and method for storage system |
US6654831B1 (en) * | 2000-03-07 | 2003-11-25 | International Business Machine Corporation | Using multiple controllers together to create data spans |
US20030229645A1 (en) * | 2002-06-06 | 2003-12-11 | Hitachi, Ltd. | Data mapping management apparatus |
US6675258B1 (en) * | 2000-06-30 | 2004-01-06 | Lsi Logic Corporation | Methods and apparatus for seamless firmware update and propagation in a dual raid controller system |
US6675268B1 (en) * | 2000-12-11 | 2004-01-06 | Lsi Logic Corporation | Method and apparatus for handling transfers of data volumes between controllers in a storage environment having multiple paths to the data volumes |
US20040028043A1 (en) * | 2002-07-31 | 2004-02-12 | Brocade Communications Systems, Inc. | Method and apparatus for virtualizing storage devices inside a storage area network fabric |
US20040054866A1 (en) * | 1998-06-29 | 2004-03-18 | Blumenau Steven M. | Mapping of hosts to logical storage units and data storage ports in a data processing system |
US20040064641A1 (en) * | 2001-07-13 | 2004-04-01 | Hitachi, Ltd. | Storage device with I/O counter for partial data reallocation |
US20040068637A1 (en) * | 2002-10-03 | 2004-04-08 | Nelson Lee L. | Virtual storage systems and virtual storage system operational methods |
US6745303B2 (en) * | 2002-01-03 | 2004-06-01 | Hitachi, Ltd. | Data synchronization of multiple remote storage |
US20040111485A1 (en) * | 2002-12-09 | 2004-06-10 | Yasuyuki Mimatsu | Connecting device of storage device and computer system including the same connecting device |
US20040139237A1 (en) * | 2002-06-28 | 2004-07-15 | Venkat Rangan | Apparatus and method for data migration in a storage processing device |
US6772315B1 (en) * | 2001-05-24 | 2004-08-03 | Rambus Inc | Translation lookaside buffer extended to provide physical and main-memory addresses |
US20050010734A1 (en) * | 2003-07-09 | 2005-01-13 | Kenichi Soejima | Data processing method with restricted data arrangement, storage area management method, and data processing system |
US20050033878A1 (en) * | 2002-06-28 | 2005-02-10 | Gururaj Pangal | Apparatus and method for data virtualization in a storage processing device |
US20050138184A1 (en) * | 2003-12-19 | 2005-06-23 | Sanrad Ltd. | Efficient method for sharing data between independent clusters of virtualization switches |
US6922761B2 (en) * | 2002-03-25 | 2005-07-26 | Emc Corporation | Method and system for migrating data |
US6973549B1 (en) * | 2001-12-10 | 2005-12-06 | Incipient, Inc. | Locking technique for control and synchronization |
US6976103B1 (en) * | 2000-03-03 | 2005-12-13 | Hitachi, Ltd. | Data migration method using storage area network |
US6976134B1 (en) * | 2001-09-28 | 2005-12-13 | Emc Corporation | Pooling and provisioning storage resources in a storage network |
US7181578B1 (en) * | 2002-09-12 | 2007-02-20 | Copan Systems, Inc. | Method and apparatus for efficient scalable storage management |
US7231465B2 (en) * | 2002-09-18 | 2007-06-12 | Hitachi, Ltd. | Storage system, and method for controlling the same |
Family Cites Families (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3771137A (en) | 1971-09-10 | 1973-11-06 | Ibm | Memory control in a multipurpose system utilizing a broadcast |
US4025904A (en) | 1973-10-19 | 1977-05-24 | Texas Instruments Incorporated | Programmed allocation of computer memory workspace |
US5155845A (en) | 1990-06-15 | 1992-10-13 | Storage Technology Corporation | Data storage system for providing redundant copies of data on different disk drives |
US5459857A (en) | 1992-05-15 | 1995-10-17 | Storage Technology Corporation | Fault tolerant disk array data storage subsystem |
US5408465A (en) | 1993-06-21 | 1995-04-18 | Hewlett-Packard Company | Flexible scheme for admission control of multimedia streams on integrated networks |
US5408485A (en) * | 1994-05-11 | 1995-04-18 | Alcatel Network Systems, Inc. | Laser modulation controller using NRZ electrical modulation level control |
US5504882A (en) | 1994-06-20 | 1996-04-02 | International Business Machines Corporation | Fault tolerant data storage subsystem employing hierarchically arranged controllers |
US5548712A (en) | 1995-01-19 | 1996-08-20 | Hewlett-Packard Company | Data storage system and method for managing asynchronous attachment and detachment of storage disks |
US5680580A (en) | 1995-02-28 | 1997-10-21 | International Business Machines Corporation | Remote copy system for setting request interconnect bit in each adapter within storage controller and initiating request connect frame in response to the setting bit |
US5680640A (en) * | 1995-09-01 | 1997-10-21 | Emc Corporation | System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state |
US5758118A (en) | 1995-12-08 | 1998-05-26 | International Business Machines Corporation | Methods and data storage devices for RAID expansion by on-line addition of new DASDs |
US5809285A (en) | 1995-12-21 | 1998-09-15 | Compaq Computer Corporation | Computer system having a virtual drive array controller |
JP3287203B2 (en) | 1996-01-10 | 2002-06-04 | 株式会社日立製作所 | External storage controller and data transfer method between external storage controllers |
JP3641872B2 (en) | 1996-04-08 | 2005-04-27 | 株式会社日立製作所 | Storage system |
GB2312319B (en) | 1996-04-15 | 1998-12-09 | Discreet Logic Inc | Video storage |
US6044444A (en) * | 1996-05-28 | 2000-03-28 | Emc Corporation | Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected |
US6477627B1 (en) | 1996-05-31 | 2002-11-05 | Emc Corporation | Method and apparatus for mirroring data in a remote data storage system |
US6101497A (en) | 1996-05-31 | 2000-08-08 | Emc Corporation | Method and apparatus for independent and simultaneous access to a common data set |
US5835954A (en) | 1996-09-12 | 1998-11-10 | International Business Machines Corporation | Target DASD controlled data migration move |
JP3193880B2 (en) | 1996-12-11 | 2001-07-30 | 株式会社日立製作所 | Data migration method |
JP3410010B2 (en) | 1997-12-24 | 2003-05-26 | 株式会社日立製作所 | Subsystem migration method and information processing system |
US5895485A (en) | 1997-02-24 | 1999-04-20 | Eccs, Inc. | Method and device using a redundant cache for preventing the loss of dirty data |
JP3228182B2 (en) | 1997-05-29 | 2001-11-12 | 株式会社日立製作所 | Storage system and method for accessing storage system |
AU4321799A (en) * | 1998-06-22 | 2000-01-10 | Colin Constable | Virtual data storage (vds) system |
US6260120B1 (en) | 1998-06-29 | 2001-07-10 | Emc Corporation | Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement |
EP0981091B1 (en) | 1998-08-20 | 2008-03-19 | Hitachi, Ltd. | Data copying in storage systems |
JP4412685B2 (en) | 1998-09-28 | 2010-02-10 | 株式会社日立製作所 | Storage controller and method of handling data storage system using the same |
US6718457B2 (en) * | 1998-12-03 | 2004-04-06 | Sun Microsystems, Inc. | Multiple-thread processor for threaded software applications |
US6542961B1 (en) * | 1998-12-22 | 2003-04-01 | Hitachi, Ltd. | Disk storage system including a switch |
US6457139B1 (en) | 1998-12-30 | 2002-09-24 | Emc Corporation | Method and apparatus for providing a host computer with information relating to the mapping of logical volumes within an intelligent storage system |
US7107395B1 (en) * | 1998-12-31 | 2006-09-12 | Emc Corporation | Apparatus and methods for operating a computer storage system |
US6209002B1 (en) | 1999-02-17 | 2001-03-27 | Emc Corporation | Method and apparatus for cascading data through redundant data storage units |
US6453354B1 (en) | 1999-03-03 | 2002-09-17 | Emc Corporation | File server system using connection-oriented protocol and sharing data sets among data movers |
US6370605B1 (en) * | 1999-03-04 | 2002-04-09 | Sun Microsystems, Inc. | Switch based scalable performance storage architecture |
US6553408B1 (en) | 1999-03-25 | 2003-04-22 | Dell Products L.P. | Virtual device architecture having memory for storing lists of driver modules |
US6654830B1 (en) | 1999-03-25 | 2003-11-25 | Dell Products L.P. | Method and system for managing data migration for a storage system |
US6640278B1 (en) | 1999-03-25 | 2003-10-28 | Dell Products L.P. | Method for configuration and management of storage resources in a storage network |
US6219753B1 (en) | 1999-06-04 | 2001-04-17 | International Business Machines Corporation | Fiber channel topological structure and method including structure and method for raid devices and controllers |
JP3853540B2 (en) | 1999-06-30 | 2006-12-06 | 日本電気株式会社 | Fiber channel-connected magnetic disk device and fiber channel-connected magnetic disk controller |
US6983350B1 (en) * | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US6484173B1 (en) | 2000-02-07 | 2002-11-19 | Emc Corporation | Controlling access to a storage device |
JP4776804B2 (en) | 2000-06-12 | 2011-09-21 | キヤノン株式会社 | Network device, control method therefor, and computer program |
US6697367B1 (en) | 2000-06-12 | 2004-02-24 | Emc Corporation | Multihop system calls |
JP2002007201A (en) * | 2000-06-21 | 2002-01-11 | Nec Corp | Memory system, memory interface, and memory chip |
JP2002014777A (en) | 2000-06-29 | 2002-01-18 | Hitachi Ltd | Data moving method and protocol converting device, and switching device using the same |
US6766430B2 (en) | 2000-07-06 | 2004-07-20 | Hitachi, Ltd. | Data reallocation among storage systems |
JP3998405B2 (en) | 2000-07-28 | 2007-10-24 | 富士通株式会社 | Access control method and storage device using the same |
US6553406B1 (en) * | 2000-08-03 | 2003-04-22 | Prelude Systems, Inc. | Process thread system receiving request packet from server thread, initiating process thread in response to request packet, synchronizing thread process between clients-servers. |
US6457109B1 (en) | 2000-08-18 | 2002-09-24 | Storage Technology Corporation | Method and apparatus for copying data from one storage system to another storage system |
US6560673B2 (en) | 2001-01-31 | 2003-05-06 | Hewlett Packard Development Company, L.P. | Fibre channel upgrade path |
JP4041656B2 (en) | 2001-03-02 | 2008-01-30 | 株式会社日立製作所 | Storage system and data transmission / reception method in storage system |
JP4009434B2 (en) | 2001-04-18 | 2007-11-14 | 株式会社日立製作所 | Magnetic disk unit coupling device |
JP2003044230A (en) | 2001-05-23 | 2003-02-14 | Hitachi Ltd | Storage system |
US6876656B2 (en) | 2001-06-15 | 2005-04-05 | Broadcom Corporation | Switch assisted frame aliasing for storage virtualization |
JP4032670B2 (en) | 2001-06-21 | 2008-01-16 | 株式会社日立製作所 | Storage device system for authenticating host computer |
FR2828623B1 (en) * | 2001-08-10 | 2003-09-26 | Radiotelephone Sfr | METHOD FOR ESTABLISHING A RADIO COVERAGE CARD |
US6640291B2 (en) | 2001-08-10 | 2003-10-28 | Hitachi, Ltd. | Apparatus and method for online data migration with remote copy |
US7185062B2 (en) * | 2001-09-28 | 2007-02-27 | Emc Corporation | Switch-based storage services |
US20030079018A1 (en) * | 2001-09-28 | 2003-04-24 | Lolayekar Santosh C. | Load balancing in a storage network |
US7404000B2 (en) * | 2001-09-28 | 2008-07-22 | Emc Corporation | Protocol translation in a storage system |
US7421509B2 (en) * | 2001-09-28 | 2008-09-02 | Emc Corporation | Enforcing quality of service in a storage network |
JP2003140837A (en) | 2001-10-30 | 2003-05-16 | Hitachi Ltd | Disk array control device |
US20030105931A1 (en) * | 2001-11-30 | 2003-06-05 | Weber Bret S. | Architecture for transparent mirroring |
US7007152B2 (en) * | 2001-12-28 | 2006-02-28 | Storage Technology Corporation | Volume translation apparatus and method |
KR100659428B1 (en) * | 2002-02-04 | 2006-12-19 | 에프. 호프만-라 로슈 아게 | Quinoline derivatives as npy antagonists |
JP2003248605A (en) * | 2002-02-26 | 2003-09-05 | Hitachi Ltd | Storage system, main storing system, sub-storing system, and its data copying method |
US20040003022A1 (en) * | 2002-06-27 | 2004-01-01 | International Business Machines Corporation | Method and system for using modulo arithmetic to distribute processing over multiple processors |
JP2004102374A (en) * | 2002-09-05 | 2004-04-02 | Hitachi Ltd | Information processing system having data transition device |
US7020758B2 (en) * | 2002-09-18 | 2006-03-28 | Ortera Inc. | Context sensitive storage management |
JP4325843B2 (en) * | 2002-12-20 | 2009-09-02 | 株式会社日立製作所 | Logical volume copy destination performance adjustment method and apparatus |
JP2004220450A (en) * | 2003-01-16 | 2004-08-05 | Hitachi Ltd | Storage device, its introduction method and its introduction program |
JP4322511B2 (en) * | 2003-01-27 | 2009-09-02 | 株式会社日立製作所 | Information processing system control method and information processing system |
US7484050B2 (en) * | 2003-09-08 | 2009-01-27 | Copan Systems Inc. | High-density storage systems using hierarchical interconnect |
US8788764B2 (en) * | 2003-10-08 | 2014-07-22 | Oracle International Corporation | Access controller for storage devices |
-
2002
- 2002-09-18 JP JP2002271595A patent/JP2004110367A/en active Pending
-
2003
- 2003-09-05 DE DE60315102T patent/DE60315102T2/en not_active Expired - Lifetime
- 2003-09-05 EP EP03020209A patent/EP1400893B1/en not_active Expired - Fee Related
- 2003-09-05 DE DE60326663T patent/DE60326663D1/en not_active Expired - Lifetime
- 2003-09-05 EP EP06022857A patent/EP1760577B1/en not_active Expired - Fee Related
- 2003-09-12 US US10/661,154 patent/US7231465B2/en not_active Expired - Fee Related
- 2003-09-18 CN CNB200510125562XA patent/CN100461085C/en not_active Expired - Fee Related
- 2003-09-18 CN CNB2006101031252A patent/CN100476711C/en not_active Expired - Fee Related
- 2003-09-18 CN CN03164885.1A patent/CN1273900C/en not_active Expired - Fee Related
-
2005
- 2005-10-26 US US11/259,855 patent/US7380032B2/en not_active Expired - Fee Related
-
2007
- 2007-11-21 US US11/984,704 patent/US20080091899A1/en not_active Abandoned
Patent Citations (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US79018A (en) * | 1868-06-16 | smith | ||
US87751A (en) * | 1869-03-16 | bachelder | ||
US93567A (en) * | 1869-08-10 | Improvement in copying-presses | ||
US93541A (en) * | 1869-08-10 | Improvement in can-openers | ||
US79019A (en) * | 1868-06-16 | Improved oonneotiefg-eod adjustment | ||
USRE37305E1 (en) * | 1982-12-30 | 2001-07-31 | International Business Machines Corporation | Virtual memory address translation mechanism with controlled data persistence |
US4710868A (en) * | 1984-06-29 | 1987-12-01 | International Business Machines Corporation | Interconnect scheme for shared memory local networks |
US5680590A (en) * | 1990-09-21 | 1997-10-21 | Parti; Michael | Simulation system and method of using same |
US20030167419A1 (en) * | 1993-04-23 | 2003-09-04 | Moshe Yanai | Remote data mirroring system having a remote link adapter |
US5574950A (en) * | 1994-03-01 | 1996-11-12 | International Business Machines Corporation | Remote data shadowing using a multimode interface to dynamically reconfigure control link-level and communication link-level |
US5459957A (en) * | 1994-06-09 | 1995-10-24 | Winer; Guy T. | Gun security and safety system |
US5504982A (en) * | 1994-06-27 | 1996-04-09 | Sharp; Jason W. | Embedded arrowhead removing tool |
US5917723A (en) * | 1995-05-22 | 1999-06-29 | Lsi Logic Corporation | Method and apparatus for transferring data between two devices with reduced microprocessor overhead |
US5870537A (en) * | 1996-03-13 | 1999-02-09 | International Business Machines Corporation | Concurrent switch to shadowed device for storage controller and device errors |
US5930823A (en) * | 1996-09-09 | 1999-07-27 | Mitsubishi Denki Kabushiki Kaisha | Shared data storage for two hosts with a storage manager that permits each host to exclusively read operating system |
US5895495A (en) * | 1997-03-13 | 1999-04-20 | International Business Machines Corporation | Demand-based larx-reserve protocol for SMP system buses |
US6363462B1 (en) * | 1997-03-31 | 2002-03-26 | Lsi Logic Corporation | Storage controller providing automatic retention and deletion of synchronous back-up data |
US6529976B1 (en) * | 1997-04-01 | 2003-03-04 | Hitachi, Ltd. | Heterogeneous computer system, heterogeneous input output system and data back-up method for the systems |
US20040064610A1 (en) * | 1997-04-01 | 2004-04-01 | Yasuko Fukuzawa | Heterogeneous computer system, heterogeneous input/output system and data back-up method for the systems |
US6012123A (en) * | 1997-06-10 | 2000-01-04 | Adaptec Inc | External I/O controller system for an independent access parity disk array |
US6247103B1 (en) * | 1998-01-06 | 2001-06-12 | International Business Machines Corporation | Host storage management control of outboard data movement using push-pull operations |
US6173374B1 (en) * | 1998-02-11 | 2001-01-09 | Lsi Logic Corporation | System and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer network |
US6341329B1 (en) * | 1998-04-02 | 2002-01-22 | Emc Corporation | Virtual tape system |
US20040054866A1 (en) * | 1998-06-29 | 2004-03-18 | Blumenau Steven M. | Mapping of hosts to logical storage units and data storage ports in a data processing system |
US6195730B1 (en) * | 1998-07-24 | 2001-02-27 | Storage Technology Corporation | Computer system with storage device mapping input/output processor |
US6647414B1 (en) * | 1998-08-26 | 2003-11-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for automatic information transmission in an IP network |
US6446141B1 (en) * | 1999-03-25 | 2002-09-03 | Dell Products, L.P. | Storage server system including ranking of data source |
US6247099B1 (en) * | 1999-06-03 | 2001-06-12 | International Business Machines Corporation | System and method for maintaining cache coherency and data synchronization in a computer system having multiple active controllers |
US6446175B1 (en) * | 1999-07-28 | 2002-09-03 | Storage Technology Corporation | Storing and retrieving data on tape backup system located at remote storage system site |
US20020103889A1 (en) * | 2000-02-11 | 2002-08-01 | Thomas Markson | Virtual storage layer approach for dynamically associating computer storage with processing hosts |
US6976103B1 (en) * | 2000-03-03 | 2005-12-13 | Hitachi, Ltd. | Data migration method using storage area network |
US20020065864A1 (en) * | 2000-03-03 | 2002-05-30 | Hartsell Neal D. | Systems and method for resource tracking in information management environments |
US6654831B1 (en) * | 2000-03-07 | 2003-11-25 | International Business Machine Corporation | Using multiple controllers together to create data spans |
US6490659B1 (en) * | 2000-03-31 | 2002-12-03 | International Business Machines Corporation | Warm start cache recovery in a dual active controller with cache coherency using stripe locks for implied storage volume reservations |
US6647387B1 (en) * | 2000-04-27 | 2003-11-11 | International Business Machine Corporation | System, apparatus, and method for enhancing storage management in a storage area network |
US20010054133A1 (en) * | 2000-05-24 | 2001-12-20 | Akira Murotani | Data storage system and method of hierarchical control thereof |
US20030200387A1 (en) * | 2000-05-25 | 2003-10-23 | Hitachi, Ltd. | Storage system making possible data synchronization confirmation at time of asynchronous remote copy |
US20020019920A1 (en) * | 2000-06-02 | 2002-02-14 | Reuter James M. | Process for fast, space-efficient disk copies using parallel distributed table driven I/O mapping |
US6718404B2 (en) * | 2000-06-02 | 2004-04-06 | Hewlett-Packard Development Company, L.P. | Data migration using parallel, distributed table driven I/O mapping |
US6961838B2 (en) * | 2000-06-02 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Generating updated virtual disks using distributed mapping tables accessible by mapping agents and managed by a centralized controller |
US20020029326A1 (en) * | 2000-06-02 | 2002-03-07 | Reuter James M. | Centralized fine-grained enhancements for distributed table driven I/O mapping |
US20020026558A1 (en) * | 2000-06-02 | 2002-02-28 | Reuter James M. | Architecture for parallel distributed table driven I/O mapping |
US20020019922A1 (en) * | 2000-06-02 | 2002-02-14 | Reuter James M. | Data migration using parallel, distributed table driven I/O mapping |
US20020019923A1 (en) * | 2000-06-02 | 2002-02-14 | Reuter James M. | Distributed fine-grained enhancements for distributed table driven I/O mapping |
US20020019908A1 (en) * | 2000-06-02 | 2002-02-14 | Reuter James M. | System and method for managing virtual storage |
US20020178335A1 (en) * | 2000-06-19 | 2002-11-28 | Storage Technology Corporation | Apparatus and method for dynamically changeable virtual mapping scheme |
US20020087544A1 (en) * | 2000-06-20 | 2002-07-04 | Selkirk Stephen S. | Dynamically changeable virtual mapping scheme |
US6675258B1 (en) * | 2000-06-30 | 2004-01-06 | Lsi Logic Corporation | Methods and apparatus for seamless firmware update and propagation in a dual raid controller system |
US6675268B1 (en) * | 2000-12-11 | 2004-01-06 | Lsi Logic Corporation | Method and apparatus for handling transfers of data volumes between controllers in a storage environment having multiple paths to the data volumes |
US20020124108A1 (en) * | 2001-01-04 | 2002-09-05 | Terrell William C. | Secure multiprotocol interface |
US20020112113A1 (en) * | 2001-01-11 | 2002-08-15 | Yotta Yotta, Inc. | Storage virtualization system and methods |
US20020133735A1 (en) * | 2001-01-16 | 2002-09-19 | International Business Machines Corporation | System and method for efficient failover/failback techniques for fault-tolerant data storage system |
US6681339B2 (en) * | 2001-01-16 | 2004-01-20 | International Business Machines Corporation | System and method for efficient failover/failback techniques for fault-tolerant data storage system |
US20020156987A1 (en) * | 2001-02-13 | 2002-10-24 | Confluence Neworks, Inc. | Storage virtualization and storage management to provide higher level storage services |
US20020156984A1 (en) * | 2001-02-20 | 2002-10-24 | Storageapps Inc. | System and method for accessing a storage area network as network attached storage |
US6622220B2 (en) * | 2001-03-15 | 2003-09-16 | Hewlett-Packard Development Company, L.P. | Security-enhanced network attached storage device |
US6772315B1 (en) * | 2001-05-24 | 2004-08-03 | Rambus Inc | Translation lookaside buffer extended to provide physical and main-memory addresses |
US20020188592A1 (en) * | 2001-06-11 | 2002-12-12 | Storage Technology Corporation | Outboard data storage management system and method |
US20030051109A1 (en) * | 2001-06-28 | 2003-03-13 | Cochran Robert A. | Method and system for providing logically consistent logical unit backup snapshots within one or more data storage devices |
US20030056038A1 (en) * | 2001-06-28 | 2003-03-20 | Cochran Robert A. | Method and system for providing advanced warning to a data stage device in order to decrease the time for a mirror split operation without starving host I/O request processsing |
US20040064641A1 (en) * | 2001-07-13 | 2004-04-01 | Hitachi, Ltd. | Storage device with I/O counter for partial data reallocation |
US20030037071A1 (en) * | 2001-08-03 | 2003-02-20 | International Business Machines Corporation | Quiesce system storage device and method in a dual active controller with cache coherency using stripe locks for implied storage volume reservations |
US6976134B1 (en) * | 2001-09-28 | 2005-12-13 | Emc Corporation | Pooling and provisioning storage resources in a storage network |
US20030145168A1 (en) * | 2001-10-16 | 2003-07-31 | Lecrone Douglas E. | Method and apparatus for maintaining data coherency |
US20030189936A1 (en) * | 2001-10-18 | 2003-10-09 | Terrell William C. | Router with routing processors and methods for virtualization |
US20030101228A1 (en) * | 2001-11-02 | 2003-05-29 | Busser Richard W. | Data mirroring between controllers in an active-active controller pair |
US20030097607A1 (en) * | 2001-11-21 | 2003-05-22 | Bessire Michael L. | System and method for ensuring the availability of a storage system |
US6973549B1 (en) * | 2001-12-10 | 2005-12-06 | Incipient, Inc. | Locking technique for control and synchronization |
US20030115432A1 (en) * | 2001-12-14 | 2003-06-19 | Biessener Gaston R. | Data backup and restoration using dynamic virtual storage |
US20030115218A1 (en) * | 2001-12-19 | 2003-06-19 | Bobbitt Jared E. | Virtual file system |
US6745303B2 (en) * | 2002-01-03 | 2004-06-01 | Hitachi, Ltd. | Data synchronization of multiple remote storage |
US20030158999A1 (en) * | 2002-02-21 | 2003-08-21 | International Business Machines Corporation | Method and apparatus for maintaining cache coherency in a storage system |
US20030212860A1 (en) * | 2002-03-01 | 2003-11-13 | Hitachi, Ltd. | System and method for storage system |
US6922761B2 (en) * | 2002-03-25 | 2005-07-26 | Emc Corporation | Method and system for migrating data |
US20030204700A1 (en) * | 2002-04-26 | 2003-10-30 | Biessener David W. | Virtual physical drives |
US20030229645A1 (en) * | 2002-06-06 | 2003-12-11 | Hitachi, Ltd. | Data mapping management apparatus |
US20040139237A1 (en) * | 2002-06-28 | 2004-07-15 | Venkat Rangan | Apparatus and method for data migration in a storage processing device |
US20050033878A1 (en) * | 2002-06-28 | 2005-02-10 | Gururaj Pangal | Apparatus and method for data virtualization in a storage processing device |
US20040028043A1 (en) * | 2002-07-31 | 2004-02-12 | Brocade Communications Systems, Inc. | Method and apparatus for virtualizing storage devices inside a storage area network fabric |
US7181578B1 (en) * | 2002-09-12 | 2007-02-20 | Copan Systems, Inc. | Method and apparatus for efficient scalable storage management |
US7231465B2 (en) * | 2002-09-18 | 2007-06-12 | Hitachi, Ltd. | Storage system, and method for controlling the same |
US6857057B2 (en) * | 2002-10-03 | 2005-02-15 | Hewlett-Packard Development Company, L.P. | Virtual storage systems and virtual storage system operational methods |
US20040068637A1 (en) * | 2002-10-03 | 2004-04-08 | Nelson Lee L. | Virtual storage systems and virtual storage system operational methods |
US20040111485A1 (en) * | 2002-12-09 | 2004-06-10 | Yasuyuki Mimatsu | Connecting device of storage device and computer system including the same connecting device |
US20050010734A1 (en) * | 2003-07-09 | 2005-01-13 | Kenichi Soejima | Data processing method with restricted data arrangement, storage area management method, and data processing system |
US20050138184A1 (en) * | 2003-12-19 | 2005-06-23 | Sanrad Ltd. | Efficient method for sharing data between independent clusters of virtualization switches |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8255652B2 (en) | 2003-09-17 | 2012-08-28 | Hitachi, Ltd. | Remote storage disk control device and method for controlling the same |
US7707377B2 (en) * | 2003-09-17 | 2010-04-27 | Hitachi, Ltd. | Remote storage disk control device and method for controlling the same |
US7975116B2 (en) | 2003-09-17 | 2011-07-05 | Hitachi, Ltd. | Remote storage disk control device and method for controlling the same |
US20080172537A1 (en) * | 2003-09-17 | 2008-07-17 | Hitachi, Ltd. | Remote storage disk control device and method for controlling the same |
US20100042752A1 (en) * | 2008-08-15 | 2010-02-18 | International Business Machines Corporation | Remote management of storage controllers |
WO2010018025A1 (en) * | 2008-08-15 | 2010-02-18 | International Business Machines Corporation | Remote management of storage controllers |
US7870300B2 (en) * | 2008-08-15 | 2011-01-11 | International Business Machines Corporation | Remote management of storage controllers |
US20100057949A1 (en) * | 2008-08-28 | 2010-03-04 | Weber Bret S | Circuits, systems, and methods to integrate storage virtualization in a storage controller |
US8307044B2 (en) * | 2008-08-28 | 2012-11-06 | Netapp, Inc. | Circuits, systems, and methods to integrate storage virtualization in a storage controller |
US8131933B2 (en) * | 2008-10-27 | 2012-03-06 | Lsi Corporation | Methods and systems for communication between storage controllers |
US20100106911A1 (en) * | 2008-10-27 | 2010-04-29 | Day Brian A | Methods and systems for communication between storage controllers |
TWI602115B (en) * | 2016-06-23 | 2017-10-11 | 慧榮科技股份有限公司 | Data storage method of data storage device |
US10324645B2 (en) * | 2016-06-23 | 2019-06-18 | Silicon Motion, Inc. | Data storage device and data storage method thereof |
US10592143B2 (en) | 2016-06-23 | 2020-03-17 | Silicon Motion, Inc. | Data storage device and data storage method thereof |
CN107665091A (en) * | 2016-07-28 | 2018-02-06 | 大心电子股份有限公司 | Method for reading data, method for writing data and its storage control |
US10972542B2 (en) | 2017-03-29 | 2021-04-06 | Huawei Technologies Co., Ltd. | Data storage method and apparatus |
US11575748B2 (en) | 2017-03-29 | 2023-02-07 | Huawei Technologies Co., Ltd. | Data storage method and apparatus for combining different data distribution policies |
Also Published As
Publication number | Publication date |
---|---|
CN1790250A (en) | 2006-06-21 |
CN1495619A (en) | 2004-05-12 |
CN1881169A (en) | 2006-12-20 |
CN1273900C (en) | 2006-09-06 |
CN100461085C (en) | 2009-02-11 |
EP1400893A3 (en) | 2005-11-02 |
EP1400893B1 (en) | 2007-07-25 |
DE60326663D1 (en) | 2009-04-23 |
CN100476711C (en) | 2009-04-08 |
US20050102479A1 (en) | 2005-05-12 |
US7380032B2 (en) | 2008-05-27 |
DE60315102T2 (en) | 2008-04-03 |
US7231465B2 (en) | 2007-06-12 |
JP2004110367A (en) | 2004-04-08 |
EP1760577A1 (en) | 2007-03-07 |
DE60315102D1 (en) | 2007-09-06 |
EP1400893A2 (en) | 2004-03-24 |
EP1760577B1 (en) | 2009-03-11 |
US20060036777A1 (en) | 2006-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7231465B2 (en) | Storage system, and method for controlling the same | |
US7366853B2 (en) | Virtualization controller and data transfer control method | |
US7363446B2 (en) | Storage system and storage control device | |
US7937542B2 (en) | Storage controller and storage control method for accessing storage devices in sub-block units | |
US7346754B2 (en) | Control method for storage device controller system, and storage device controller system | |
US6985994B2 (en) | Storage control apparatus and method thereof | |
US8127077B2 (en) | Virtual path storage system and control method for the same | |
JP4500057B2 (en) | Data migration method | |
US7426588B2 (en) | Storage apparatus | |
JP4786255B2 (en) | Storage system and storage control method | |
US20090006735A1 (en) | Storage unit and disk control method | |
US7418530B2 (en) | Storage device and method for controlling storage device packet size | |
KR100347527B1 (en) | RAID system with single fibre channel arbitrated loop |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |