Redundant disk storage system

Abstract: The invention provides a redundant disk storage system comprising a hard disk drive device consisting of a pair of hard disk drives having a magnetic disk which is a magnetic recording medium for recording data and a magnetic head for recording and reading data recorded on said magnetic disk and a controller for controlling said hard disk drive device so as to record data identical to data transferred from a host computer in each of said pair of hard disk drives, read data from one of said pair of drives, and transfer read data to the host computer; said controller controls said hard disk drive device so that data identical to data transferred from said host computer is recorded at different locations on the respective magnetic disks of said pair of drives.

Description: Field of the Invention The present invention relates to a redundant disk storage system and, more particularly, to a redundant disk storage system for recording data identical to data transferred from a host computer in each of a pair of hard disk drives and reading data from one of the pair of drives and transferring read data to the host computer. Background A hard disk drive for recording data on a magnetic disk (which is a magnetic recording medium) and reading data from a magnetic disk is an essential device for storing large amounts of data and programs in computer systems. Since a hard disk drive contains moving mechanical parts, there is a relatively high likelihood of failures occurring in it as compared with other system components. A failure prevents the hard disk drive from reading or storing data and programs, which may stop the entire computer system which is using the drive from operating. To prevent this, a multiplexed disk recording controller (redundant disk array) for multiplexing the hard disk drive and recording data, etc., in the multiplexed hard disk drive based on a command from a host computer and reading data, etc., from the multiplexed hard disk drive has already been proposed. The multiplexed disk controller is provided with RAID 0, RAID 3, and RAID 5, which divide data among a plurality of hard disk drives and RAID 1 records data on two hard disk drives redundantly. In the multiplexed disk recorder to which RAID 1 is applied (hereafter, redundant disk storage system) identical data and programs are stored on two hard disk drives at all times. Redundancy is given so that, if a failure occurs in one hard disk drive, data reading, etc., can be done using the remaining drive. The redundant disk storage system processes data as follows when it receives a data recording command (write command) from a host computer: That is, a write command or parameter received from a host computer is sent to the first hard disk drive, then also sent to the second hard disk drive. When both drives can transfer and record data (data-transfer-enabled), data from the host computer is simultaneously sent to the pair of drives, thereby recording sent data on both magnetic disks of the pair of drives. Moreover, the redundant disk storage system processes data in accordance with one of the following two methods when it receives a data read command (read command) from a host computer. In a first method, a read command is sent only to one of a pair of hard disk drives, and processing waits until the hard disk drive to which this read command is sent is able to read data (read-enabled). When this drive is read-enabled, information indicating that it is read-enabled is sent to the host computer and required data is transferred from the hard disk drive to the host computer. In this method, the control program is simple, but a long time is required for detecting a failure in the hard disk drive in which a read command is received, and, moreover, a read command must be sent to the remaining hard disk drive after failure detection. Therefore, if a failure occurs in either drive, a long time is required from read command receiving to the completion of magnetic disk data reading. In a second method, both of a pair of hard disk drives receive an issued read command and required data is transferred from whichever of the pair of drives becomes data-transfer-enabled first. Use of this method shortens the read time when a failure occurs in a hard disk drive compared to the first method because, even for a failure in either hard disk drive, only one of the pair of drives needs to be able to transfer data at any one time. However, in this method, if necessary data is recorded near the internal circumference on the hard disk, the read voltage of data read by the magnetic head is low and data may not be recognized in some cases. Therefore, the drive itself must repeat a retry to read data or the redundant disk storage system must retry sending a parameter or command to the drive again, if necessary. Retry by the drive itself or the redundant disk storage system eventually enables data to be read. Therefore, if required data is recorded near the internal circumference on the hard disk, the probability of not reading data rises or a long read time is needed. Moreover, in the first or second method in said redundant disk storage system, read heads of the two hard disk drives are both positioned where said data is recorded or at the first position at the end of the first data reading. Therefore, the first and the second methods do not differ greatly in the time for movement from the location of data previously recorded to that of required data. Moreover, in conventional redundant disk storage systems, it was difficult to incorporate a hard disk drive in a computer, e.g., a personal computer, because of increased scale accompanied by increased recording capacity. Therefore, the hard disk drive was connected externally. Where a hard disk drive is installed outside the computer, the interface of the hard disk drive had to be connected with a cable. In this case, to avoid malfunctioning due to noise, a small computer system interface (SCSI) suitable for an external hard disk drive was generally used to connect the redundant disk controller and a pair of hard disk drives, thereby making the capacity of tens of G bytes possible. In contrast, the AT interface was generally used for personal computer having a small built-in hard disk drive. However, an AT interface was not used in the redundant disk drive because the maximum capacity of a hard disk drive which can be used by a host with which an AT interface is connected was limited to 528M bytes due to BIOS restrictions. However, large-capacity hard disk drives have been downsized rapidly by the development of an MR head, etc., and it has become possible to manufacture even a 3.5-inch hard disk drive having a capacity exceeding G bytes which can be built into personal computers. Moreover, with the addition of ATA specifications by ANSI, it has become possible for BIOS to access a large capacity, the same level as for a SCSI, even for a hard disk drive with an AT interface. Accordingly, the necessity of mirroring is increasing rapidly even in small hard disk drives used for personal computers. In this connection, in the redundant disk controller connected to a host computer with an AT interface, internal data RAM was needed. This was because synchronization timing between the host and hard disk drive was severe and consecutive transfer of 256 words of data was needed for processing an Identify Drive command. That is, the Identify Drive command is executed once for initialization immediately after power is turned on. The command enables the host computer to receive parameter information from the hard disk drive. A parameter block consists of 256 words of data. The command requests the consecutive transfer of 256 words of data from the drive to the host computer in units of 16 bits. This parameter must be partially modified for the controller to operate a pair of hard disk drives. Therefore, data RAM for storing 256 words of data had to be incorporated into the controller. Thus, the controller circuit structure was complicated and cost increased. EP-A-0266586 discloses a method for reducing response times to input/output requests to access data stored in a plurality of storage devices. Data is duplicated on the devices and, subsequently, the access time for accessing each of the duplicated data copies is estimated and the data unit copy which was estimated to require the least time to be accessed is then accessed. Summary of the Invention In a first aspect, the present invention provides a redundant disk storage system comprising: a hard disk drive device having a pair of hard disk drives each having a magnetic disk which is a magnetic recording medium for recording data and a magnetic head assembly for recording and reading data on said magnetic disk; and a controller for controlling said hard disk drive device to record data identical to data transferred from a host computer in each of said pair of hard disk drives, to read data from one of said pair of drives, and to transfer read data to the host computer, wherein said controller is adapted to control said hard disk drive device so that data identical to data transferred from said host computer is recorded at different locations on the respective magnetic disks of said pair of drives and to control said hard disk drive device, in response to initiating a data access in the pair of hard disk drives in response to a data read request, to transfer data from whichever of the pair of drives becomes data-transfer enabled first. Thus, the invention uses an offset address for redundant disk storage such that identical data is recorded at different locations on respective disks of a pair of drives or, expressed differently, the distance between the magnetic head positions and the magnetic disk locations for reading identical data differs in the respective drives. The present invention thus provides a redundant disk storage system with a lower probability of simultaneous retry in both of a pair of hard disk drives, thus lowering the possibility of a data recognition failure in both of a pair of hard disk drives simultaneously. In a preferred embodiment of the invention, there is provided a redundant disk storage system which can shorten seek time from the time a read request is made for the hard disk drive to the movement of the head to a location where required data is recorded. In this preferred embodiment, the invention provides a redundant disk storage system comprising a hard disk drive device consisting of a pair of hard disk drives having a magnetic disk which is a magnetic recording medium for recording data and a magnetic head for recording and reading data recorded on said magnetic disk and a controller for controlling said hard disk drive device so as to record data identical to data transferred from a host computer in each of said pair of drives, reads data from one of said pair of drives, and transfer read data to the host computer; said controller controls said hard disk drive device so that, while data read from one of a pair of drives is being transferred to said host computer, the magnetic head of a drive other than that transferring said data is set at a position other than the location where data corresponding to said data being transferred on the magnetic disk of this drive is recorded. A further embodiment of the invention provides a redundant disk storage system, with a simple structure, which can transfer data between a host computer and a hard disk drive at low cost without having data RAM in the controller. According to this further embodiment of the invention, provided is a redundant disk storage system comprising a hard disk drive device consisting of a pair of hard disk drives having a magnetic disk which is a magnetic recording medium for recording data, a magnetic head for recording and reading data recorded on said magnetic disk, and a storage means for storing parameters indicating said magnetic disk and said magnetic head and a controller for controlling said hard disk drive device so as to record data identical to data transferred from a host computer in each of said pair of drives, read data from one of said pair of drives, and transfer read data to the host computer; said controller reads parameters stored in each storage means of said pair of drives, converts read parameters to parameters based on the use of the hard disk drive device of said pair of drives recording identical data, stores converted parameters in the storage means of either of said pair of drives, reads said converted parameters stored in the storage means of a drive, and sends said read converted parameters to a host computer, thereby controlling said hard disk drive device so that the host computer can receive parameters from it. According to a preferred embodiment of the invention, a control means records data identical to data transferred from a host computer on a magnetic disk which is a magnetic recording medium through a magnetic head, and reads data from one of a pair of hard disk drives through a magnetic disk and transfers read data to the host computer. Here, the controller controls the hard disk drive device so that, when recorded data is read from a pair of hard disk drives, the distance between the magnetic head positions of the pair of drives and the magnetic disk locations for reading identical data differ in the respective drives. Thus, when recorded data is read from a pair of hard disk drives, since the distance between the magnetic head positions of the pair of drives and the magnetic disk locations for reading identical data differs in the respective drives, in the case where identical data is recorded at the identical location on the magnetic disks of a pair of drives, for example, data reading on one of a pair of drives can be started prior data reading on the other drive, preventing data reading on a pair of drives from starting simultaneously. Moreover, when a retry to read data on one drive is repeated, the magnetic head in the other drive moves to the position where required data is recorded and, when said magnetic head moves to where required data is recorded, retry on one drive ends, thereby lowering the probability of a simultaneous retry on a pair of drives. Moreover, even when magnetic heads of a pair of drives are set at a near identical position, if identical data is recorded at different locations on the respective magnetic disks of a pair of drives, since, in one drive, for example, required data is recorded near the internal circumference on the hard disk, the probability of a retry with respect to the magnetic disk of said drive is low because required data is not recorded near the internal circumference on the magnetic disk of the other drive even though a retry is made. Therefore, the probability of a simultaneous retry in a pair of drives can be lowered. Since, according to the invention, data identical to data transferred from a host computer is recorded at different locations on the respective magnetic disks of a pair of hard disk drives, the recording of identical data at locations near the internal circumferences on both magnetic disks of a pair of drives can be prevented, thereby, even though data is recorded at a location near the internal circumference on the magnetic disk of one drive, enabling identical data to be recorded at a location other than near the internal circumference on the magnetic disk of the other drive and lowering the probability of a simultaneous retry on a pair of magnetic disks. Moreover, according to a preferred embodiment, a controller controls a hard disk drive device so that, while data read from one of a pair of hard disk drives is being transferred to a host computer, the magnetic head of a drive other than that transferring data is set at a position other than the location where data corresponding to data being transferred on the magnetic disk of this drive is recorded. Thus, since the magnetic head of a drive other than that transferring data is set at a position other than the location where data corresponding to data being transferred on the magnetic disk of this drive, when the next data is read, seek time can be reduced and data read immediately. Moreover it is preferred that a controller according to this embodiment of the invention controls a hard disk drive device so that data identical to data transferred from a host computer is recorded at different locations on the respective magnetic disks of a pair of hard disk drives. Thus, since data identical to data transferred from a host computer is recorded at different locations on the respective magnetic disks of a pair of drives, the recording of identical data at locations near the internal circumferences on both magnetic disks of a pair of drives can be prevented, thereby, even though data is recorded at a location near the internal circumference on the magnetic disk of one drive, allowing identical data to be recorded at a location other than near the internal circumference on the magnetic disk of the other drive and lowering the probability of a simultaneous retry on a pair of magnetic disks. Preferably a control means records data identical to data transferred from a host computer on a magnetic disk which is a magnetic recording medium through a magnetic head and reads data from one of a pair of hard disk drives through a magnetic disk and transfers read data to the host computer. Here, parameters indicating a magnetic disk and a magnetic head are stored in each storage means of a pair of drives. Then, a controller reads parameters stored in each storage means of a pair of hard disk drives, converts read parameters to parameters based on the use of the hard disk drive device of a pair of drives recording identical data, stores converted parameters in the storage means of either of a pair of drives, reads converted parameters stored in the storage means of a drive, and sends read converted parameters to a host computer, thereby controlling a hard disk drive device so that the host computer can receive parameters from it. Thus, since parameters stored in each storage means can be converted to parameters based on the use of the hard disk drive device consisting of a pair of hard disk drives and stored in either storage means, said stored converted parameters are read and sent to a host computer, and the host computer receives said parameters device, and a storage means, RAM, for example, in a control means, needed for consecutively transferring said parameters to the host computer, can be eliminated, simplifying said controller structure. Description of Preferred Embodiments The present invention will now be described in more detail, by way of example, with reference to the accompanying drawings in which: Figure 1 is a block diagram showing a redundant disk storage system of the embodiment according to the invention; Figure 2 is a detailed circuit diagram of a control circuit; Figure 3 is a flowchart showing the operation (data recording) of a redundant disk storage system; Figure 4 is a drawing showing the relationship between locations of recorded identical data when identical data is recorded at symmetrical positions with respect to the centre of the radius of the hard disk; Figure 5 is a drawing showing the direction and distance of travel in reading the next data from the magnetic disk location when some data is read when identical data was recorded at different locations; Figure 6 is a flowchart showing initialization when an ID command is received from the host computer; Figure 7 is a flowchart showing the operation (data reading) of a redundant disk storage system; and Figure 8 is a flowchart showing the interrupt processing conducted each predetermined time when the processing of reading data from a redundant disk storage system is conducted. Figure 1 shows a block diagram of a redundant disk storage system according to the embodiment. As shown in Figure 1, a redundant disk storage system is provided with a hard disk drive device 14 having a pair of hard disk drives (hereafter, HDD) 1 and HDD2. Each HDD1 and HDD2 is provided with a magnetic disk (hereafter, MD) (not shown) for recording data, a magnetic head for recording MD and reading data recorded on the MD, and RAM for recording parameters indicating the characteristics of the MD, magnetic head, and HDDs comprising them. Each HDD1 and HDD2 is connected to a controller 12 and a host computer 10 through an AT interface. The controller 12 controls each HDD1 and HDD2 to record data identical to data transferred from the host computer 10 in each MD of a pair of HDD1 and HDD2, read data from the MD of one HDD of the pair, and transfer read data to the host computer 10. The controller 12 is provided with a bidirectional buffer 16 connected to a data bus of the host computer 10 through an AT interface, as shown in Figure 2. The bidirectional buffer 16 is used to hold said data temporarily when data is transferred between the host computer 10 and HDD1 and HDD2. The bidirectional buffer 16 is connected to buffer selectors 18 and 20 through terminal A. Buffer selectors 18 and 20 are connected to a host register 22 through terminal B. The host register 22 is connected to the bidirectional buffer 16. The host register 22 is used to store parameters and commands from the host computer 10. Buffer selectors 18 and 20, connected to a bus controller 40, are used to transfer data by switching terminals A, B, and C to terminals A and C or terminals B and C based on the data transfer direction between the host computer 10 and HDD1 and HDD2 based on the signal from the bus controller 40. The controller 12 is provided with an address decoder 32 and selectors 36 and 38. The bus for the control signal of the host computer 10 is connected to the host register 22 through an AT interface and the address decoder 32. The address decoder 32 is used to specify a write address for writing a parameter or a command from the host computer 10 to the host register 22 based on the control signal from the host computer 10. Moreover, the bus for the control signal of the host computer 10 is further connected to HDD1 and HDD2 through selectors 36 and 38 and AT interfaces. Selectors 36 and 38 are connected with a drive controller 42. The drive controller 42 is used to send a control signal for specifying a write or read address of HDD1 and HDD2 to HDD1 and HDD2 through selectors 36 and 38 when data is transferred from the host computer 10 to HDD1 and HDD2 or from HDD1 or HDD2 to the host computer 10. The host register 22, buffer selectors 18 and 20, bus controller 40, and drive controller 42 are connected to an MPU 26, which has RAM and ROM. Buffer selectors 18 and 20 are connected to AT interfaces through terminal C. Selectors 36 and 38 are connected to AT interfaces, which are connected to HDD1 and HDD2. The operation of a redundant disk storage system structured like the above is explained with reference to the flowchart in Figure 3. The recording identical data is explained first. The host computer 10 sends a command for recording data, for example, data A, to the MDs of HDD1 and HDD2 and a parameter containing a data storage address of MD for recording data, for example, an address near the outer circumference C2 of MD to the controller 12 (Figure 4 (a). At this time, the host computer 10 sends a control signal to the address decoder 32, which sends a command and a parameter of the host computer 10 and a control signal for specifying a recording address to the host register 22. The host register 22 stores commands and parameters sent through the bidirectional buffer 16 at a location specified by a control signal of the host register 22. The host register 22 is read in step 102 and an offset is marked at the data storage address of parameters in step 104. A method for marking an offset at the data storage address of parameters is explained below. An offset is marked at said address so that data identical to data transferred from the host computer 10 is recorded at different locations on the respective MDs of a pair of HDD1 and HDD2. As stated above, if identical data is recorded at identical locations near the internal circumference C1 of the MDs of HDD1 and HDD2, when recorded data is read, the read voltage of data read from the magnetic head is low and, even if data is read, data may not be recognized. Therefore, an offset is marked at either data storage address of parameters so that both data recording locations of MDs are not near the internal circumference. For example, an offset is marked at either data storage address of parameters so that the data storage address of the MD of one HDD and the data storage address of the MD of the other are symmetrical with respect to the centre of the radius of the MD. The will be explained with reference to Figure 4. When the data storage address of the parameter sent from the host computer 10 is near the internal circumference C1 of the MD, an offset is not marked at the data storage address of the parameter for HDD1, but is marked only at the data storage address of the parameter for HDD2 so that it is positioned symmetrically with respect to a point near the centre of the radius of the MD, that is, it comes around the outer circumference C2. Thus, identical data, for example, the location of HDD1 where data A is recorded, is around the internal circumference C1 of MD1, and identical data, for example, the location of HDD2 where data A is recorded, is around the outer circumference C2 of MD2, preventing both data recording locations from being around the internal circumference C1. Moreover, when the data storage address of the parameter sent from the host computer 10 is near the outer circumference C2 of the MD, for example, the location of HDD1 where data B is recorded is around the outer circumference C2 of MD1 and, in HDD2, it is around the internal circumference C1 of MD2. In step 106, a controller 40 is set so that the operation of the buffer selector 18 changes from B to C. In step 108, commands and parameters stored in the host register 22 are sent to HDD1 through an AT interface. At this time, the control signal for controlling HDD1 is sent from the drive controller 42 to HDD1 through the selector 36. For HDD1, the magnetic head is moved so that data is recorded at a specified location based on the sent control signal, command, and parameter. In step 110, the controller 40 is set so that the operation of the buffer selector 20 changes from B to C. In step 112, the command stored in the host register 22 and the parameter containing the data storage address at which an offset is marked in step 104 are sent to HDD2 through an AT interface. At this time, the control signal for controlling HDD2 is sent from the drive controller 42 to HDD2 through the selector 38. For HDD2, the magnetic head is moved so that data is recorded at an offset and specified location based on the sent control signal, command, and parameter. In step 114, the controller 40 is set so that the operations of the buffer selectors 18 and 20 changes from C to B. In step 116, it is determined whether a signal representing data-transfer-enabled, in which data can be recorded, is input from both HDD1 and HDD2. It waits until said signal is input from both HDD1 and HDD2 and, when said signal is input from both HDD1 and HDD2, in step 118, the controller 40 is set so that the operations of the buffer selectors 18 and 20 change from A to C. In step 120, information representing data-transfer-enabled is written to the host register 22. Since the host computer 10 reads the host register 22 regularly to check whether information representing data-transfer-enabled is written to the host register 22, the host computer 10, upon finds that said information is written to the host register 22, transfers data through an AT interface. Transferred data is sent to both HDD1 and HDD2 through buffer selectors 18 and 20 and AT interfaces. Thus, HDD1 and HDD2 record data in a specified location through a magnetic head. That is, for example, HDD1 records data A near the internal circumference C1 of MD1, as shown in Figure 4 (a), and HDD2 records data A near the outer circumference C2 of MD2, as shown in Figure 4 (b). In step 124, the controller 40 is set so that the operations of buffer selectors 18 and 20 change from C to B. In step 126, it is determined whether a signal which represents the end of data transfer is input from both HDD1 and HDD2, and waits until said signal is input, and, when said signal is input, in step 128, information representing the end of data transfer to HDD1 and HDD2 is written to the host register 22 and processing ends. As stated above, since it is so arranged that identical data is recorded at different locations on the respective MDs of HDDs, the recording of identical data at locations near the internal circumferences on both Mds of a pair of HDDs can be prevented. Thus, even though data is recorded at a location near the internal circumference on the MD of one HDD, since identical data is recorded at a location near the outer circumference on the MD of the other HDD, the probability of reading data from the MD of the other HDD can be made high and the probability of a simultaneous retry in a pair of HDDs can be lowered, even though a retry to send a parameter and a command for reading data near the internal circumference on the MD of one HDD is repeated. In the data recording above, an offset is marked at either data storage address so that the data storage address of the MD of one HDD and the data storage address of the MD of the other HDD are symmetrical with respect to the centre of the radius of the MD, but the invention is not limited to this. An offset can also be marked at the data storage address of the MD of the other HDD so that the data storage address of the MD of the HDD is shifted for a predetermined address. Therefore, as shown in Figure 5, when identical data C is recorded, for example, on HDD1, for which no offset is marked, if data is recorded near the internal circumference C1 of MD1 (Figure 5 (a)), on HDD2, an offset is marked so that the address is shifted for a predetermined address and data is recorded near the outer circumference C2 of MD2 (Figure 5 (b)). Moreover, for example, when identical data D is recorded, on HDD1, if data is recorded near the outer circumference C2 of MD1, on HDD2, the address is shifted for a predetermined address and data is recorded at a location slightly shifted toward the internal circumference C1 side from around the outer circumference C2 of MD2. Here, for example, when data D is read after data C is read, in HDD1, the magnetic head moves to a position near the outer circumference C2 from near the internal circumference C1 as it moves from C to D on MD1. Furthermore, on HDD2, the magnetic head only moves slightly to the internal circumference C1 side from near the outer circumference C2. Thus, when the reading position moves, the travel distances of the magnetic heads vary in response to it by HDD1 and HDD2. Therefore, the time from receiving a command and reading data until reading the next data is reduced. Next, reading identical data on a redundant disk storage system will be explained. The processing executed when an ID (Identity Drive) command is sent from the host computer 10 for initialization when power is turned on is explained with reference to Figure 6. Moreover, the ID command enables the host computer 10 to receive HDD parameters. One parameter block consists of 256 words of data. It requests that 256 words be transferred consecutively from the HDD to the host computer in units of 16 bits. When power is turned on, in step 132, the address decoder 32 sends IOCS16 (a signal to change the bit width from 8 to 16) in the address decoder 32, generated in an IOCS16 generator 33, to the host computer 10. After the controller 40 is set so that the operations of the buffer selectors 18 and 20 change from B to C, the ID command is sent to HDD1 and HDD2. In step 134, parameters from HDD1 and HDD2 are stored in RAM of an MPU 26 after the controller 40 is set so that operations of the buffer selectors 18 and 20 change from C to B. In step 136, stored parameters are changed to parameters based on the use of HDD1 and HDD2 in which identical data is recorded, that is, parameters (parameters for the mirrored disk) for recording identical data on a pair of HDD1 and HDD2. In step 138, if an ID command is sent from the host computer 10 to the host register 22, the ID command is read from the host register and the host register 22 is made busy to make the host computer 10 wait. Then, in step 140, a write buffer command is sent to either HDD1 or HDD2, HDD1 for example, and the parameter, changed in step 136, for the mirrored disk is written to RAM of HDD1. In step 142, a read buffer command is sent to HDD1. In step 144, it is determined whether a signal which represents the ready state is input from HDD1 and waits until the signal is input. When the signal is input, a signal indicating that the redundant disk storage system is ready is sent to the host register 22. Then, in step 148, the parameter, changed in step 136, for the mirrored disk is read from RAM of HDD1 and sent to the host computer at the same time and processing ends. Thus, when parameters of HDD1 and HDD2 are converted to parameters based on use as a pair of HDDs in which identical data is recorded and a command enabling the host computer to receive parameters for the redundant disk storage system is received, RAM in the control means, needed to transfer parameters to the host computer consecutively in partial rewriting, is eliminated by the use of RAM in the HDD, simplifying the controller structure. Moreover, since the connection of the controller to the host computer and a pair of small HDDs with a large capacity through an AT interface is possible, mirroring can be implemented even with the small HDD used in personal computers. Moreover, since the bus for the control signal with the host computer connects the host computer and the controller through an AT interface, this can make the redundant disk storage system smaller compared to when the host computer is connected using a SCSI. Moreover, the structure of the bus for data transfer is arranged so that data can be transferred directly between the host computer and a HDD, but the control signal is generated by the drive controller in the controller to synchronize data transfer. Therefore, data can be transferred between HDDs without having RAM in the controller. Next, reading identical data on the redundant disk storage system will be explained with reference to Figures 7 and 8. When sending of an ID command from the host computer 10 ends, a command for reading data from the host computer 10 and a parameter containing a data read address for specifying the location of data to be read on the MD of the HDD are sent. When this command and parameter are received, in step 152, they are sent to HDD1 and HDD2 after the controller 40 is set so that operations of the buffer selectors 18 and 20 change from B to C. At this time, a control signal for controlling HDD1 and HDD2 is sent from the drive controller 42 to HDD1 and HDD2 through selectors 36 and 38. In step 154, after the controller 40 is set so that the operations of the buffer selectors 18 and 20 change from C to B, the magnetic head of either HDD moves to the specified data read address and it is determined whether a signal which indicates data-transfer-enabled in which recorded data can be transferred to the host computer is input, and waits until the signal is input from either HDD, and, when the signal is input from either HDD, in step 156, the controller 40 is set so that, of buffer selectors 18 and 20, the operation of the buffer selector corresponding to the HDD where the signal is input changes from C to A, thereby allowing the HDD with data transfer-enabled to be connected with the host computer 10. Thus, the HDD connected with the host computer 10 transfers data of the specified address to the host computer 10. In step 158, it is determined whether a signal representing data-transfer-enabled is input from the HDD other than that transferring data, and waits until the signal is input, and, when the signal is input, in step 160, the parameter is changed by changing data read address in the parameter sent from the host computer 10 to another data read address. In step 162, after the controller 40 is set so that, of buffer selectors 18 and 20, the operation of buffer selector corresponding to the HDD other than that transferring data changes from B to C, in step 162, a parameter containing the changed data read address is sent to the other HDD. At this time, a control signal for controlling the other HDD is sent from the drive controller 42 to the other HDD through a responsive selector. Thus, the magnetic head position of the HDD other than that transferring data starts moving to the changed data read address. In step 164, after the controller 40 is set so that, of buffer selectors 18 and 20, the operation of the buffer selector corresponding to the HDD other than that transferring data changes from C to B, it is determined whether a signal representing data-transfer-enabled is input from the other HDD, and waits till the signal is input, and, when it is input, processing ends. Here, in step 156, after the HDD which is data-transfer-enabled is connected to the host computer, during processing from step 158 to step 164, an interrupt is made each predetermined time and the interrupt processing in Figure 8 is conducted. That is, in step 166, it is determined whether a signal representing the end of transfer is input from the HDD which is data-transfer-enabled, and if the signal is not input, control returns as shown in the flowchart in Figure 7, and, if the signal is input, processing terminates. Thus, since it is so arranged that the magnetic head of the HDD other than that transferring data is set at a position other than the position where data corresponding to the data being transferred is recorded on the MD of this HDD, while data is being read from one HDD, the magnetic head in the other HDD can be set at a position other than the location where data being read is recorded, thereby shortening seek time when next data is read and allowing data to be read immediately. In the embodiment explained above, it is so arranged that, when data identical to data transferred from the host computer is recorded at different locations on the respective MDs of a pair of HDDs and data read from one of a pair of HDDs is transferred to the host computer, the magnetic head of the HDD other than that transferring data is set at a position other than the location where data corresponding to data being transferred is recorded on the MD of this HDD, but the invention is not limited to this. This can also be done as follows: That is, it is also so arranged that, when identical data is recorded on a pair of HDDs, data identical to data transferred from the host computer is recorded in different locations on respective MDs of a pair of HDDs, and, when data read from one of a pair of HDDs is transferred to the host computer, the magnetic head of the HDD other than that transferring data can be set at a position where data corresponding to data being transferred is recorded or at the initial location on the MD of this HDD. In this case, since data identical to data transferred from the host computer is recorded at different locations on the respective magnetic disks of a pair of HDDs, the recording of data at locations near the internal circumferences on both magnetic disks of a pair of HDDs can be prevented, thereby, even though data is recorded at a location near the internal circumference on the MD of one HDD, enabling identical data to be recorded at a location other than near the internal circumference on the MD of the other HDD and lowering the probability of a simultaneous retry in a pair of HDDs. Moreover, it is also so arranged that, when identical data is recorded on a pair of HDDs, data identical to data transferred from the host computer is recorded at identical locations on MDs of a pair of HDDs, and, when data read from one of a pair of HDDs is transferred to the host computer, the magnetic head of the HDD other than that transferring data can be set at a position other than the location where data corresponding to data being transferred is recorded on the MD of this HDD. In this case, since it is so arranged that the magnetic head of the HDD other than that transferring data is set at a position other than the location where data corresponding to data being transferred is recorded on the MD of this HDD, while data is being read from one HDD, the MD in the other HDD can be set at a position other than the position where data being read is recorded, thereby, when the next data is read, shortening seek time and allowing data to be read immediately. Moreover, it can also be so arranged that, when identical data is recorded at identical locations on MDs of a pair of HDDs, when recorded data is read from a pair of HDDs, the distance between the positions of the MDs of a pair of HDDs and the MD positions for reading the identical data differ in respective HDDs. Thus, while one HDD is repeating a retry to read data, the magnetic head on the other HDD moves to the location on the MD where required data is recorded and when said magnetic head is located at said location, the retry of one HDD ends, preventing a simultaneous retry on a pair of HDDs. As explained above, according to the preferred embodiment of the invention, since it is so arranged that, when data is read, the distance between the magnetic head positions and the magnetic disk locations for reading identical data on a pair of hard disk drives differs in the respective drives, a pair of drives will not start reading data simultaneously, and moreover, the probability of a simultaneous retry on a pair of hard disk drives can be lowered. According to the preferred embodiment of the invention, since data identical to data transferred from the host computer is recorded at difference locations on the magnetic disks of a pair of hard disk drives, the recording of identical data at locations near the internal circumferences on both magnetic disks of a pair of drives can be prevented thereby, even though data is recorded at a location near the internal circumference on the magnetic disk of one hard disk drive, enabling identical data to be recorded at a location other than near the internal circumference on the magnetic disk of the other drive and lowering the probability of a simultaneous retry on a pair of magnetic disks. According to the preferred embodiment of the invention, it is so arranged that the magnetic head of the hard disk drive other than that transferring data is set at a position other than the location where data corresponding to data being transferred is recorded on the magnetic disk of this hard disk drive, thereby, when the next data is read, shortening seek time and allowing data to be read immediately. According to the preferred embodiment of the invention, since data identical to data transferred from the host computer is recorded at different locations on the magnetic disks of a pair of hard disk drives, the recording of identical data at locations near the internal circumferences on both magnetic disks of a pair of drives can be prevented thereby, even though data is recorded at a location near the internal circumference on the magnetic disk of one hard disk drive, enabling identical data to be recorded at a location other than near the internal circumference on the magnetic disk of the other drive and lowering the probability of a simultaneous retry on a pair of magnetic disks. According to the preferred embodiment of the invention, since it is made possible that parameters stored in each storage means are converted to parameters based on the use of a hard disk drive device consisting of a pair of hard disk drives in which identical data is recorded and are stored in either storage means, said stored converted parameters are read and sent to a host computer, and the host computer receives parameters for the hard disk drive device, a storage means, RAM for example, in a control means, needed for consecutively transferring said parameters to the host computer, can be eliminated, allowing said controller structure to be simple and the redundant disk storage system structure to be simple and manufactured at low cost.

Claims: A redundant disk storage system comprising: a hard disk drive device (14) having a pair of hard disk drives (HDD1,HDD2) each having a magnetic disk which is a magnetic recording medium for recording data and a magnetic head assembly for recording and reading data on said magnetic disk; and a controller (12) for controlling said hard disk drive device to record data identical to data transferred from a host computer (10) in each of said pair of hard disk drives, to read data from one of said pair of drives, and to transfer read data to the host computer, wherein said controller is adapted to control said hard disk drive device so that data identical to data transferred from said host computer is recorded at different locations on the respective magnetic disks of said pair of drives and to control said hard disk drive device, in response to initiating a data access in the pair of hard disk drives in response to a data read request, to transfer data from whichever of the pair of drives becomes data-transfer-enabled first. A redundant disk storage system according to claim 1, wherein said controller is responsive to an offset marked at a data storage address of a parameter for one of said magnetic disks to control recording of said identical data at different locations on the respective magnetic disks of said pair of drives. A redundant disk storage system according to claim 2, wherein said offset is predetermined to cause the controller to record said identical data at data storage addresses of magnetic disks of the pair of hard disk drives which addresses are symmetrically located with respect to a mid point of the radius of the magnetic disks. A redundant disk storage system according to claim 2, wherein said offset is predetermined to cause the controller to record said identical data at a data storage address of a magnetic disk of one of a pair of hard disk drives which address is shifted for a predetermined address relative to the data storage address of a magnetic disk of the other one of the pair of hard disk drives. A redundant disk storage system according to any one of the preceding claims, wherein said controller is adapted to control said hard disk drive device so that, while data read from one of a pair of hard disk drives is being transferred to said host computer, the magnetic head of the drive other than that transferring said data is set at a position other than that where data corresponding to said data being transferred on the magnetic disk of this hard disk drive is recorded. A redundant disk storage system according to any one of claims 1 to 5, including: a storage means (22) for storing parameters indicating said magnetic disk and said magnetic head; and wherein said controller is adapted to read parameters stored in each storage means of said pair of hard disk drives, to convert read parameters to parameters based on the use of the hard disk drive device of said pair of drives recording identical data, to store converted parameters in the storage means of either of said pair of drives, to read said converted parameters stored in the storage means of a hard disk drive, and to send said read converted parameters to a host computer, thereby controlling said hard disk drive device so that the host computer can receive parameters from it. A method of accessing data stored in a redundant disk storage system according to any one of claims 1 to 6, including the steps of: initiating (152) a data access in the pair of hard disk drives in parallel in response to a data read request; and transferring (154,156) the required data from whichever of the pair of drives becomes data-transfer-enabled first.

Inventors: IWASA HIROYUKI, OKUMIYA HIROAKI, TAKESHITA AKIRA, TSURUMI MAKOTO, IWASA, HIROYUKI, OKUMIYA, HIROAKI, TAKESHITA, AKIRA, TSURUMI, MAKOTO
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES
Application year: 1995
Main classification: G06F11
IPC codes: G06F11, G11B20, G11C29, G06F3