附图说明
图1给出了第一个传统示例的存储器系统的结构方框图;
图2给出了第二个传统示例的存储器系统的结构方框图;
图3给出了第三个传统示例的存储器系统的结构方框图;
图4给出了本发明第一实施例的存储器系统的结构方框图;
图5给出了图4所示的存储器系统中的缓冲器单元的结构方框图;
图6A给出了图4所示的第一存储控制器的结构方框图;
图6B给出了图4所示的第二存储控制器的结构方框图;
图7给出了在图4所示的存储器系统中的存储模块中出现了故障的情况下总线操作的方框图;
图8给出了本发明第一实施例的存储器系统的操作流程图;
图9给出了本发明第二实施例的存储器系统的结构方框图;
图10给出了本发明第三实施例的存储器系统的结构方框图;
图11给出了本发明第四实施例的存储器系统的结构方框图;
图12给出了本发明第五实施例的存储器系统的结构方框图;
图13A给出了图12所示的存储模块中的缓冲器单元的结构电路图;
图13B给出了图12所示的存储模块中的缓冲器单元的结构电路图;
图14给出了图12所示的第一存储控制器的结构电路图;
图15给出了本发明第五实施例的存储器系统的操作流程图;
图16给出了本发明第六实施例的存储器系统的结构方框图;
图17给出了图16所示的第一存储控制器的结构方框图;
图18给出了本发明第六实施例的存储器系统的操作流程图;
图19给出了本发明第七实施例的存储器系统的结构方框图;
图20给出了本发明第八实施例的存储器系统的结构方框图;
图21给出了图20所示的连接器的结构的主要部件放大图;
图22给出了本发明第八实施例的存储器系统的操作流程图。
具体实施方式
(第一实施例)
如图4所示,第一实施例的存储器系统包括多个(图中有四个)存储模块2(21至24)、用于控制CPU1对存储模块2的存取操作的第一存储控制器3、将所有存储模块2中的数据拷贝(镜像)到其上的硬盘设备4、以及用于控制CPU1对硬盘设备4的存取操作的第二存储控制器5,并且该存储器系统具有这样的结构,即多个存储模块2和第一存储控制器3串行连接成环形。存储模块2包括多个其上存储有数据的半导体存储器200、以及用于在总线与半导体存储器之间发送并接收信号的缓冲器单元300。尽管图4给出了包括有4个存储模块21至24的存储器系统,但是存储模块的数量并不局限于四个,并且可提供任意数量的存储模块。此外,不需要提供独立的缓冲器单元300,但是缓冲器单元300可位于半导体存储器200中。
如图5所示,缓冲器单元300具有三组其输入端与其输出端彼此相连的两缓冲器电路,并且将该缓冲器单元300构造成可双向的将一信号分别发送到该缓冲器单元300所属存储模块中的半导体存储器200上及相邻存储模块2上或第一存储控制器3上,并可接收来自其的一信号。
如图6A所示,第一存储控制器3具有两组其输入端与其输出端彼此相连的两缓冲器电路,并将该第一存储控制器3构造成可双向的将一信号发送到该相邻的存储模块2上并可接收来自其的一信号。此外,如图6B所示,第二存储控制器5具有驱动电路51和接收电路52,并且将第二存储控制器5构造成可将一信号发送到硬盘设备4上并可接收来自其的一信号。
在该实施例中,当如图4所示的正常操作时,连接多个存储模块2和第一存储控制器3的总线被用作一单向总线,并且当如图7所示的任意存储模块(图7中的存储模块22)的热交换时,该总线被用作一双向总线。通过根据CPU1通过第一控制器3将其发送到每个存储模块2的缓冲器单元300上的一控制信号,来对每个缓冲器单元300的缓冲电路31和32的操作进行转换,而实现了这些总线系统的转换操作。
此外,在请求CPU1对由于故障而更换的存储模块2(以下称为有故障的存储模块)进行存取的情况下,CPU1通过第二存储控制器5来存取硬盘设备4而不是有故障的存储模块。因为所有存储模块2中的数据已镜像到硬盘设备4中,因此有故障的存储模块的热交换成为可能。
接下来,参考图8对该实施例的存储系统进行详细的描述。
值得注意的是,在下述的存储器系统的操作中,对这样一个示例进行了详细的描述,即在该示例中存储模块2、第一存储控制器3、及第二存储控制器5是由信息处理设备中的CPU1控制的。然而,也可由第一存储控制器3和第二存储控制器5对存储器系统的操作进行控制。在这种情况下,第一存储控制器3及第二存储控制器5是由一DSP等等构成的,该DSP根据来自CPU1的一命令来执行下述处理。
如图8所示,当正常操作时,CPU1在每个预定时段将存储在存储器系统的每个存储模块2中的数据拷贝(镜像)到硬盘设备4上(步骤A1)。随后,CPU1观察在存储模块2中是否出现了故障(步骤A2),并且如果未出现故障,则返回步骤A1的处理以继续进行将数据镜像到硬盘设备4的处理。
在任意的存储模块2中出现了故障的情况下,CPU1开始执行热交换处理以使得有可能移走有故障的存储模块(步骤A3)。例如,在通过信息处理设备中的输入设备(键盘、鼠标等等)而提供了一预定命令的情况下,或在通过网络等等而发送了一预定命令的情况下,开始执行热交换处理。
在执行热交换处理中,首先,CPU1检测有故障的存储模块的地址空间(存储区域)(步骤A4),并在请求对有故障的存储模块进行存取的情况下,将其控制转换到通过第二存储控制器5的存储控制,以便可对硬盘设备4中的镜像数据进行存取(步骤A5)。此外,CPU1通过第一存储控制器3将一控制信号发送到每个存储模块2上(步骤A6),该控制信号用于将总线操作从单向操作转换到双向操作。此后,如图7所示,第一存储控制器3和各个存储模块2利用其绕过有故障存储模块的一总线路径来执行数据的传输和接收。
当移走了有故障的存储模块时,为响应对存储模块进行存取的请求,CPU1通过第二存储控制器5来存取硬盘设备4而不是存取有故障的存储模块。另外,在请求对任一个其他存储模块进行存取的情况下,CPU1像往常一样利用可到达存储模块的一总线路径来执行数据的传输和接收(步骤A7)。
接下来,为了插入从故障中恢复的存储模块(或一新的存储模块),CPU1确定是否请求开始执行热交换插入处理以能够插入一存储模块(步骤A8)。例如,在通过信息处理设备中的输入设备(键盘、鼠标等等)而提供了一预定命令的情况下,或在通过网络等等而发送了一预定命令的情况下,开始执行热交换插入处理。在未请求热交换插入处理的情况下,CPU1返回步骤A7的处理以继续执行上述热交换时的处理。
在请求开始执行热交换插入处理的情况下,CPU1首先将被转换成以可存取硬盘设备4的控制转换成用于存取原始存储模块2的控制(步骤A9)。此外,CPU1将一控制信号发送至第一存储控制器3(步骤A10),该控制信号用于将总线操作从双向总线转换到单向总线。此后,当插入了从故障中恢复的存储模块(或新的存储模块)时,CPU1将与有故障的存储模块相对应的硬盘设备4中的数据拷贝到所插入的存储模块2中(步骤A11)并转换到正常操作。
根据该实施例的结构,即使在其内的存储控制器和多个存储模块串行连接成一环形的存储器系统中,无需增加存储模块的数量即可实现热交换功能。
(第二实施例)
如图9所示,第二实施例的存储器系统包括用于对有故障存储模块中的数据进行拷贝的镜像存储模块6以及如图4所示的第一实施例的存储器系统。
在该实施例中的存储器系统中,当检测到有故障的存储模块的地址空间时,将与所检测到的地址空间相对应的硬盘设备中的镜像数据拷贝到镜像存储模块6。此后,在请求对有故障模块进行存取的情况下,通过第一存储控制器来存取镜像存储模块6。另外,在插入新的存储模块时,将镜像存储模块6中的数据分别拷贝到硬盘设备及所插入的存储模块中。因为其他部件和操作与第一实施例的存储器系统相同,因此省去了对该部件及操作的描述。
根据该实施例的存储器系统,可实现热交换功能。此外,因为当请求对有故障的存储模块进行存取时,能够以比存取硬盘设备更高的速度来存取镜像存储模块6,因此与第一实施例相比可进一步减小对与有故障的存储模块相对应的一存储区域进行存取的时间。
(第三实施例)
如图10所示,第三实施例的存储器系统包括用于对有故障的存储模块中的数据进行拷贝的图形存储器7以及如图4所示的第一实施例的存储器系统。作为图形存储器7,可足以使用预先装配在信息处理设备中的一个图形存储器7。将有故障存储模块中的数据拷贝到图形存储器7的空闲存储区。
在该实施例的存储器系统中,当检测到有故障存储模块的地址空间时,将与所检测到的地址空间相对应的磁盘设备中的镜像数据拷贝到图形存储器7。此后,在请求对有故障的存储模块进行存取的情况下,通过第一存储控制器来存取图形存储器7。另外,当插入了新的存储模块时,将与有故障模块相对应的图形存储器7中的数据分别拷贝到硬盘设备及所插入的存储模块中。因为其他部件和操作与第一实施例的存储器系统相同,因此省去了对该部件及操作的描述。
在该实施例中,与第二实施例一样,可实现热交换功能。此外,因为当请求对有故障的存储模块进行存取时,能够以比存取硬盘设备更高的速度来存取图形存储器7,因此与第一实施例相比可进一步减小对与有故障的存储模块相对应的一存储区域进行存取的时间。
(第四实施例)
如图11所示,在第四实施例的存储器系统中,将有故障的存储模块中的数据拷贝到半导体存储器的空闲存储区8中,其中该半导体存储器位于其内未出现故障的其他存储模块中。
在该实施例的存储器系统中,当检测到有故障的存储模块的地址空间时,将与所检测到的地址空间相对应的磁盘设备中的镜像数据分散的拷贝到其内未出现故障的存储模块的空闲存储区8中。此后,在请求对有故障的存储模块进行存取的情况下,通过第一存储控制器来存取其内未出现故障的存储模块的空闲存储区8。另外,当插入了新的存储模块时,将与有故障模块相对应的空闲存储区中的数据分别拷贝到硬盘设备及所插入的存储模块中。因为其他部件和操作与第一实施例的存储器系统相同,因此省去了对该部件及操作的描述。
在该实施例中,与第二实施例一样,可实现热交换功能。此外,当请求对有故障的存储模块进行存取时,能够以比存取硬盘设备更高的速度来存取存储模块的空闲存储区8,因此与第一实施例相比可进一步减小对与有故障存储模块相对应的一存储区域进行存取的时间。
(第五实施例)
在第一至第四实施例中,因为在热交换时由双向总线来操作存储器系统,因此总线的利用率下降了。另外,因为其上的存储模块被移走的那部分成为了总线末端,因此很可能在热交换时不得不降低信号的传输速度。
将第五实施例的存储器系统构造成可实现热交换功能并且即使在热交换时也可由单向总线操作。
如图12所示,第五实施例的存储器系统包括多个(图中有三个)存储模块12(121、123、124)、用于控制CPU11对存储模块121进行存取的操作的第一存储控制器13、将所有存储模块12中的数据拷贝(镜像)到其上的硬盘设备14、以及用于控制CPU12对硬盘设备14进行存取的操作的第二存储控制器15,并且在该存储器系统中多个存储模块12和第一存储控制器13串行连接成环形。
存储模块12包括多个其上存储有数据的半导体存储器210以及用于在总线与半导体存储器210之间发送并接收信号的缓冲器单元310。此外,在该实施例的存储器系统中,提供了其插入在存储器系统中的伪模块16以代替有故障的存储模块(未示出的存储模块122)。图12给出了这样一个结构,即在该结构中存储器系统具有四个存储模块12并且插入了一伪模块16以代替未示出的存储模块122。然而,存储模块12的数量并不局限于四个,并且可提供任意数量的存储模块12。另外,不需要提供独立的缓冲器单元310,但是缓冲器单元310可位于半导体存储器210中。
如图12所示,伪模块16具有一个可使相邻两个存储模块12(或存储模块12和第一存储控制器13)彼此相连的短路线。将有故障存储模块122中的数据从镜像硬盘设备14分开拷贝到例如其内未出现故障的其他存储模块121、123、和124的空闲存储区中。值得注意的是按照与第二实施例或第三实施例相同的方式,可将有故障存储模块中的数据从硬盘设备拷贝到镜像存储模块或图形存储器中。
如图13A和13B所示,该实施例的缓冲器单元310具有三个缓冲器电路,并将其构造成可单向的将一信号分别发送到该缓冲器单元310所属存储模块中的半导体存储器210上、及相邻存储模块2上或第一存储控制器3上,并可接收来自其的一信号。图13A给出了在存储模块121、123和124的方向上对来自第一存储控制器13的信号进行传送的情况下的每个存储器单元310的结构。图13B给出了在第一存储控制器13的方向上对来自121、123和124的信号进行传送的情况下的每个缓冲单元310的结构。
存储器系统仅具有在图13A所示的缓冲器单元310中相连的一单向总线及在图13B所示的缓冲器单元310中相连的一单向总线中的一个,或者具有这两个单向总线。在具有该实施例的伪模块16的结构中,总线的利用率下降了。然而,该结构还可适用于这样一种情况,即与第一至第四实施例一样由双向总线来操作该存储器系统。通过这种结构也可实现热交换功能。
如图14所示,该实施例的第一存储控制器13包括用于将数据发送到相邻存储模块12上的驱动电路131以及用于接收来自相邻存储模块12的数据的接收电路132。与第一实施例一样,第二存储控制器15具有一驱动电路以及其输入端与其输出端彼此相连的一接收电路,并且将该第二存储控制器构造成可双向的将一信号发送到硬盘设备14并接收来自其的一信号(图6A和6B)。
接下来,参考附图15对该实施例的存储器系统的操作进行详细的说明。
值得注意的是,在下述的存储器系统的操作中,对这样一个示例进行了详细的描述,即在该示例中存储模块12、第一存储控制器13、及第二存储控制器15是由信息处理设备中的CPU11控制的。然而,也可由第一存储控制器13和第二存储控制器15对存储器系统的操作进行控制。在这种情况下,第一存储控制器13及第二存储控制器15是由一DSP等等构成的,该DSP根据来自CPU11的一预定命令来执行下述处理。
如图15所示,当正常操作时,CPU11在每个预定时段将存储在存储器系统的每个存储模块12中的数据拷贝(镜像)到硬盘设备14上(步骤B1)。随后,CPU1观察在存储模块12中是否出现了故障(步骤B2),并且如果未出现故障,则返回步骤B1的处理以继续进行将数据镜像到硬盘设备14的处理。
在任意的存储模块12中出现了故障的情况下,CPU11开始执行热交换处理以使得有可能移走有故障的存储模块(步骤B3)。在通过信息处理设备中的输入设备(键盘、鼠标等等)而提供了一预定命令的情况下,或在通过网络等等而发送了一预定命令的情况下,开始执行热交换处理。
在执行热交换处理的过程中,首先,检测有故障的存储模块12的地址空间(存储区域)(步骤B4),并且分散的将与地址空间相对应的硬盘设备14中的数据拷贝到其内未出现故障的各个存储模块12的空闲存储空间18上(步骤B5)。
此外,为响应对有故障的存储模块12进行存取的请求,CPU11转换存储控制以便存取其他存储模块12中的镜像数据(步骤B6)。
当移走了有故障的存储模块12并且插入了伪模块16以代替有故障的存储模块12时,此后,在请求对有故障的存储模块12进行存取的情况下,CPU11使用单向总线存取没有发生故障的对应存储模块的空隙存储空间18。另外,在请求对没有故障的存储模块进行存取的情况下,CPU11像往常一样利用单向总线来将数据发送到存储模块并接收来自其的数据(步骤B7)。
接下来,为了插入从故障中恢复的存储模块(或新的存储模块),CPU11确定是否请求开始进行热交换插入处理以能够插入存储模块(步骤B8)。例如,在通过信息处理设备中的输入设备而提供了一预定命令的情况下,或在通过网络等等而发送了一预定命令的情况下,开始热交换插入处理。在没有请求热交换插入处理的情况下,CPU11返回到步骤B7的处理以继续进行热交换时的上述处理。
在请求开始进行热交换插入处理的情况下,首先,CPU11将被转换以可存取存储模块12的空闲存储区18的控制转换成用于存取原始存储模块12的控制(步骤B9)。此后,当移走了伪模块16并插入了从故障中恢复的存储模块(或新的存储模块)时,CPU11将与有故障存储模块的地址空间相对应的每个存储模块中的数据拷贝到所插入的存储模块12中(步骤B10),并转换到正常操作。
根据该实施例的结构,可实现热交换功能。此外,因为当请求对有故障的存储模块进行存取时,能够以比存取硬盘设备更高的速度来存取其内未出现故障的存储模块的空闲存储区,因此与第一实施例相比进一步减小了对与有故障的存储模块相对应的一存储区进行存取的时间。此外,因为即使在热交换时也由单向总线来操作存储器系统,因此防止了总线利用率的下降。
(第六实施例)
如图16所示,第六实施例的存储器系统包括分别位于各个存储模块与总线的相连部分上的FET转换器19以代替上述第五实施例中的伪模块,该转换器用于连接或断开相邻两个存储模块(或是存储模块和第一存储控制器)的总线。
与第五实施例一样,将有故障存储模块中的数据从硬盘设备拷贝例如其内未出现故障的其他存储模块的空闲存储区中。与第二和第三实施例一样,可将有故障存储模块中的数据从硬盘设备拷贝到镜像存储模块或图形存储器中。
此外,与第五实施例一样,该实施例的存储器系统只具有在图13A所示的缓冲器单元310中相连的一单向总线及在图13B所示的缓冲器单元310中相连的一单向总线中的一个,或者可具有这两个单向总线。在具有该实施例的FET转换器19的结构中,总线的利用率下降了。然而,该结构还可适用于这样一种情况,即与第一至第四实施例一样由双向总线来操作该存储器系统。利用这种结构,也可实现热交换功能。此外,不需要提供独立的缓冲器单元,但是缓冲器单元可位于半导体存储器中。
如图17所示,该实施例的第一存储控制器23具有一解码器24,该解码器对从CPU发送来的一FET控制信号进行解码并开启/断开每个存储模块的FET转换器。该解码器24根据FET控制信号来开启与有故障的存储模块相对应的FET转换器19,并断开与其内未出现故障的存储模块相对应的FET转换器19。图17给出了这样一个例子,该例子中的存储器系统包括四个存储模块并对CPU发送来的三位FET控制信号C[2∶0]进行解码以由此控制四个FET转换器S0至S4的开启/断开。根据存储模块的数量来适当的设置FET控制信号的位数及解码数就足以了。
接下来,参照附图18对当该实施例的存储器系统进行热交换时的操作进行详细的说明。
值得注意的是,在作为一示例的存储模块和第一及第二存储控制器是由信息处理设备中的CPU所控制的情况下,对上述存储器系统的操作进行详细的说明。然而,还可由第一和第二存储控制器对存储系统的操作进行控制。在这种情况下,第一存储控制器及第二存储控制器是由一DSP等等构成的,该DSP根据的一预定命令来执行下述处理。
如图18所示,当正常操作时,CPU在每个预定时段将存储在存储器系统的每个存储模块中的数据拷贝(镜像)到硬盘设备上(步骤C1)。随后,CPU观察在每个存储模块中是否出现了故障(步骤C2),并且如果未出现故障,则返回步骤C1的处理以继续进行将每个存储模块中的数据镜像到硬盘设备的处理。
在任意的存储模块中出现了故障的情况下,CPU开始执行热交换处理以能够移走有故障的存储模块(步骤C3)。例如,在通过信息处理设备中的输入设备(键盘、鼠标等等)而提供了一预定命令的情况下,或在通过网络等等而发送了一预定命令的情况下,开始执行热交换处理。
在执行热交换处理的过程中,首先,CPU检测有故障存储模块的地址空间(存储区域)(步骤C4),并且分散的将与存储区相对应的硬盘设备中的数据拷贝到其内未出现故障的各个存储模块的空闲存储空间上(步骤C5)。此外,为响应对有故障的存储模块进行存取的请求,CPU转换存储控制以便存取其他存储模块中的镜像数据(步骤C6)。
此外,CPU将一FET控制信号发送到第一存储控制器(步骤C7),该FET控制信号用于开启与有故障存储模块相对应的FET转换器19并且用于断开与其内未出现故障的存储模块相对应的FET转换器19(步骤C7)。
当移走了有故障的存储模块时,此后,在请求对有故障的存储模块进行存取的情况下,CPU利用单向总线来对其内未出现故障的对应存储模块的空闲存储区进行存取。另外,在请求对其内未出现故障的存储模块进行存取的情况下,CPU像往常一样利用单向总线来将数据发送到存储模块并接收来自其的数据(步骤C8)。
接下来,为了插入从故障中恢复的存储模块(或新的存储模块),CPU11确定是否请求开始进行热交换插入处理以能够插入存储模块(步骤C9)。例如,在通过信息处理设备中的输入设备而提供了一预定命令的情况下,或在通过网络等等而发送了一预定命令的情况下,开始热交换插入处理。在没有请求热交换插入处理的情况下,CPU返回到步骤C8的处理以继续进行热交换时的上述处理。
在请求了开始进行热交换插入处理的情况下,首先,CPU将被转换以可存取存储模块的空闲存储区的控制转换成用于存取原始存储模块的控制(步骤C10)。此外,CPU将一FET控制信号发送至第一存储控制器23(步骤C11),该控制信号用于断开与所有的存储模块相对应的FET转换器19。此后,当插入了从故障中恢复的存储模块(或新的存储模块)时,CPU将与其内检测到有故障的地址空间相对应的每个存储模块的空闲存储区中的数据拷贝到所插入的存储模块中(步骤C12),并转换到正常操作。
根据该实施例的结构,如第五实施例一样,可实现热交换功能。此外,因为当请求对有故障的存储模块进行存取时,能够以比存取硬盘设备更高的速度来存取其内未出现故障的存储模块的空闲存储区,因此与第一实施例相比进一步减小了对与有故障存储模块相对应的一存储区进行存取的时间。此外,因为即使在热交换时也由单向总线来操作存储器系统,因此防止了总线利用率的下降。
(第七实施例)
如图19所示,第七实施例的存储器系统具有这样的结构,即在该结构中断开第六实施例中所描述的使第一存储控制器和多个存储模块相连的环形总线并且总线末端终结于终端电阻60等等中。图19给出了具有存储模块方向上的单向总线的结构,在该单向总线中对来自第一存储控制器的数据进行传送。然而,也可提供第一存储控制器方向上的一单向总线,在该单向总线上对来自存储模块的数据进行传送,或者可分别提供这两类单向总线。另外,在具有该实施例的FET转换器的结构中,总线的利用率下降了。然而,该结构还可适用于这样一种情况,即与第一至第四实施例一样由双向总线来操作该存储器系统。因为其他部件和操作与第六实施例的存储器系统相同,因此省去了对该部件及操作的描述。
根据该实施例,即使利用了这样一个存储器系统,即在该存储器系统中存储控制器和多个存储模块并未连接成环形而是如图19所示通过一总线串行相连,也可实现热交换功能,并且与第五实施例一样可减小在热交换时对与有故障的存储模块相对应的一存储区域进行存取的时间。另外,因为即使在热交换时也可由单向总线来操作存储器系统,因此可防止总线利用率的降低。
(第八实施例)
如图20所示,第八实施例的存储器系统包括具有短插脚71的连接器70以代替上述第七和第八实施例中所描述的FET转换器,该连接器在移走了存储模块时用于短路相邻的两个存储模块(或是存储模块和第一存储控制器)。
短插脚71被装配在相对的连接器70上以当如图21A所示在短插脚之间不存在有存储模块时使其彼此短路。当如图21B所示在短插脚之间插入了存储模块时由存储模块来解除短路。
将有故障存储模块中的数据从硬盘设备拷贝到例如其内未出现故障的其他存储模块的空闲存储区中。按照与第二实施例或第三实施例相同的方式,可将有故障存储模块中的数据从硬盘设备拷贝到镜像存储模块或图形存储器中。
此外,与第五实施例一样,该实施例的存储器系统只具有在图13A所示的缓冲器单元310中相连的一单向总线及在图13B所示的缓冲器单元310中相连的一单向总线中的一个,或者具有这两个单向总线。此外,在具有该实施例的短插脚71的结构中,总线的利用率下降了。然而,该结构还可适用于这样一种情况,即与第一至第四实施例一样由双向总线来操作该存储器系统。通过这种结构也可实现热交换功能。另外,不需要提供独立的缓冲器单元,但是缓冲器单元可位于半导体存储器中。
接下来,参考图22对该实施例的存储器系统的热交换时的操作进行详细的描述。
值得注意的是,在作为一示例的存储模块和第一及第二存储控制器是由信息处理设备中的CPU所控制的情况下,对上述存储器系统的操作进行详细的说明。然而,还可由第一和第二存储控制器对存储系统的操作进行控制。在这种情况下,第一存储控制器及第二存储控制器是由一DSP等等构成的,该DSP根据的一预定命令来执行下述处理。
如图22所示,当正常操作时,CPU在每个预定时段将存储在存储器系统的每个存储模块中的数据拷贝(镜像)到硬盘设备上(步骤D1)。随后,CPU观察在每个存储模块中是否出现了故障(步骤D2),并且如果未出现故障,则返回步骤D1的处理以继续进行将每个存储模块中的数据镜像到硬盘设备的处理。
在任意的存储模块中出现了故障的情况下,CPU开始执行热交换处理以能够移走有故障的存储模块(步骤D3)。例如,在通过信息处理设备中的输入设备(键盘、鼠标等等)而提供了一预定命令的情况下,或在通过网络等等而发送了一预定命令的情况下,开始执行热交换处理。
在执行热交换处理的过程中,首先,CPU检测有故障存储模块的地址空间(存储区域)(步骤D4),并且分散的将与存储区相对应的硬盘设备中的数据拷贝到其内未出现故障的各个存储模块的空闲存储空间上(步骤D5)。此外,为响应对有故障的存储模块进行存取的请求,CPU转换存储控制以便存取其他存储模块中的镜像数据(步骤D6)。
当通过移走有故障的存储模块而使短插脚71短路时,在请求对有故障的存储模块进行存取的情况下,CPU利用单向总线来对其内未出现故障的对应存储模块的空闲存储区进行存取。另外,在请求对其内未出现故障的存储模块进行存取的情况下,CPU像往常一样利用单向总线来将数据发送到存储模块并接收来自其的数据(步骤D7)。
接下来,为了插入从故障中恢复的存储模块(或新的存储模块),CPU确定是否请求开始进行热交换插入处理以插入存储模块(步骤D8)。例如,在通过信息处理设备中的输入设备而提供了一预定命令的情况下,或在通过网络等等而发送了一预定命令的情况下,开始热交换插入处理。在没有请求热交换插入处理的情况下,CPU返回到步骤D7的处理以继续进行热交换时的上述处理。
在请求了开始进行热交换插入处理的情况下,首先,CPU将被转换以可存取存储模块的空闲存储区的控制转换成用于存取原始存储模块的控制(步骤D9)。此后,当插入了从故障中恢复的存储模块(或新的存储模块)并且解除了短插脚的短路时,CPU将与其内检测到有故障的地址空间相对应的每个存储模块的空闲存储区中的数据拷贝到所插入的存储模块中(步骤D10),并转换到正常操作。
根据该实施例的结构,与第五实施例一样,可实现热交换功能。此外,因为当请求对有故障的存储模块进行存取时,能够以比存取硬盘设备更高的速度来存取其内未出现故障的存储模块的空闲存储区,因此与第一实施例相比进一步减小了对与有故障存储模块相对应的一存储区进行存取的时间。此外,因为即使在热交换时也由单向总线来操作存储器系统,因此防止了总线利用率的下降。
虽然利用专用名词已对本发明的优选实施例进行了描述,但是该描述只是示例性的,并且应该明白的是在不脱离随后权利要求得精神和范围的情况下可对其作出修改和变化。