具体实施方式
下面用附图说明本发明第一实施例。
图1是表示2台存储器1-a/b构成的存储器系统4和多个上位装置2用任意接口设备(图中,SAN:Storage Area Network)3连接的信息处理系统一构成例的图。
在该图中,作为存储器1表示以盘装置为例构成,该盘装置1-a/b的构成包括:作为保存各个所述上位装置2的存取数据的记录媒体的盘部11;暂时保存在该盘部11和所述上位装置2之间传输的数据的缓冲器部12;执行与所述上位装置2之间的接口设备通信规定控制的接口设备控制部13;执行对所述盘部11的记录再现处理的盘控制部14;控制对所述缓冲器部12的存取的控制部15;总控制所述各部位的主控制部10。
并且,在该图中,是通过保存所述盘装置1-a/b双重化的数据,构成所述RAID1存储器系统。
还有,在该图中,虽然以由2台盘装置构成该存储器系统情况为例。但是,本发明的存储器系统不仅限于此,也可包括3台以上的存储器。
以下,用图2、3、4、5、6、7、8说明本发明的第一实施例。本实施例判断各所述存储器具有(或接收)指令,各存储器是否应执行在该存储器中对应其指令的信息处理。在判断中,使用协调控制信息28。
在本实施例中,用构成该存储器系统4的多个存储器1共有来自上位装置2对存储器系统4的存取指令,另外,在各存储器中,利用判断是否本身应处理所述存取指令,可实现无需控制各存储器的控制装置,价格低,并且可望实现最佳存储器的利用率的高性能的所述存储器系统。
图2是表示构成所述存储器系统4的盘装置1的一构成例子的图。
在该图中,所述接口设备控制部13具有:通过所述接口设备3实施信息的接收的接收部20;同样,实施信息发送的发送部21;向接收的帧等的信息的错误检测,或当把该帧信息的至少一部分存储在所述缓冲器部12中时,实施存储端的控制等的接收帧处理部22;在帧等的信息发送时,实施构成该帧信息的标题信息等的附加信息产生的发送帧产生部23。
还有,判断是否向后级装置再发送在所述接收部20中接收的帧等的信息,产生再发送控制信号的再发送判定部24;根据所述再发送控制信号,选择来自所述发送帧产生部23的信息和所述接收部20中接收的信息的任一个,向所述发送部21输出的输出选择部25。
并且,所述缓冲器部12具有:保存从上位装置2接收的存取指令(指令)的接收指令存储部26;保存在与上位装置2之间接收发送的数据的接收发送数据存储部27。
而且,在所述主控制部10中,保存有用于判断对上位装置2向存储器系统4的存取指令是否将该存取指令再发送到后级装置的,以及对该存取指令是否应自身处理的信息等、与成对的盘装置之间的协调控制信息28。此外,对有关协调控制信息28的细节用图16以后叙述。
此外,在所述再发送判定部24中,作为上位装置2对存储器4的帧等的信息再发送控制,对于存取指令,实施根据所述协调控制信息28的再发送控制;对于写入数据,实施构成该写入数据的帧的标题信息等的再发送(传输)控制。
下面,有关从上位装置对存储器系统的存取指令,以存取指令区域为条件,以在各个盘装置中判别该存取指令是否本身应处理的情况下的读出/写入数据传输处理为例进行说明。
图3是表示对由所述盘装置1-a/b构成的存储器系统4,由上位装置2发出读出数据指令的情况下的各装置的处理流程的图。
(1)存取指令(指令)接收及再发送处理
从上位装置2对存储器系统4发出的读出数据指令,作为帧信息,首先通过盘装置1-a的所述接收部20接收。在盘装置1-a中,把所述读出数据指令通过所述接收帧处理部22存储在所述缓冲器部12的所述接收指令存储部26中。
而且,盘装置1-a所述再发送判定部24设定成,根据所述协调控制信息28,对后级的盘装置1-b再发送从上位装置2对存储器系统4的存取指令,以此,检出接收的帧信息是存取指令,产生对所述输出选择部25的再发送控制(指示)信号。结果,所述输出选择部25根据上述再发送控制(指示)信号,对后级盘装置1-b再发送来自所述上位装置的读出数据指令。
在盘装置1-b中,将由所述盘装置1-a再发送的所述读出数据指令通过所述接收帧处理部22,存储在所述缓冲器部12的所述指令存储部26中,而且,盘装置1-b的所述再发送判定部24设定成,根据所述协调控制信息28,对后级装置不再发送存取指令。
(2)存取指令(指令)解释及存取指令(指令)执行
盘装置1-a/b解释在所述接收指令存储部26中存储的存取指令,检出该存取指令是读出数据指令。
还有,根据构成该读出数据指令的读出指令区域信息和所述协调控制信息28,判别是否本身应处理所述读出数据指令。
在判断为本身处理的盘装置中,通过所述盘控制部14,开始从盘部11对所述缓冲器部12的所述发送数据存储部27的盘读出处理,再有,通过所述接口设备控制部13实施对上位装置2的读出数据发送处理。另外,在读出数据发送后,产生并发送针对所述读出数据指令的状态信息,通过消除所述存取,结束一系列的读出数据指令处理。
另一方面,在判断为不由本身处理的盘装置中,通过消除所述存取指令,完成读出指令中所需的处理。
此外,在本实施例中,存取指令尽管通过盘装置1-a传输到盘装置1-b中,但是在每个盘装置,上位装置2也可发送存取指令。
图4是表示这样的流程图,在对由所述盘装置1-a/b构成的存储器发行来自上位装置2-a/b的读出数据指令的情况下,尤其是,用盘装置1-a处理来自上位装置2-a/b的读出数据指令,用盘装置1-b处理来自上位装置2-b的读出数据指令的情况下的读出数据指令,及读出数据的传输处理等。
按照上述说明,来自上位装置2-a/b的读出数据指令至少通过盘装置1-a的接口设备控制部13,存储在盘装置1-a/b的缓冲器部12中。
在盘装置1-a/b中,对接收的存取指令,判别是否自身应处理,对判断为自身处理的读出数据指令,实施来自盘部11的盘读出处理,及向上位装置2-a/b的读出数据发送处理,以及状态产生发送处理。这里,盘装置1-a发送的读出数据由于是对上位装置2-a发送的,所以通过已有的盘装置1-b的接口设备控制部13,传输到上位装置2-a。
图5是这样的流程图,在对由所述盘装置1-a/b构成的存储器系统4发行来自上位装置2的写入数据指令的情况下的各装置的处理。
(1)存取指令(指令)接收及再发送处理
除了成为对象的存取指令不是读出数据指令而是写入数据指令以外,其它与用图3所述内容相同。从上位装置2向存储器系统4发行的写入数据指令作为帧信息,首先通过盘装置1-a的所述接收部20接收。
在盘装置1-a中,通过所述接收帧处理部22把所述写入数据指令存储在所述缓冲部12的所述接收指令存储部26中。
而且,盘装置1-a的所述再发送判定部24通过设定成,根据所述协调控制信息28,把从上位装置2对存储器系统4的存取指令向后级的盘装置1-b再发送,检出接收的帧信息为存取指令,产生针对所述输出选择部25的再发送控制(指示)信号。结果,所述输出选择部25根据该再发送控制(指示)信号,对后级的盘装置1-b再发送来自所述上位装置的写入数据指令。
在盘装置1-b中,把用所述盘装置1-a再发送的所述写入数据指令,通过所述接收帧处理部22,存储在所述缓冲器部12的所述接收指令存储部26中。而且,盘装置1-b的所述再发送判定部24设定成,根据所述协调控制信息28,对后级的装置不再发送存取指令。
(2)存取指令(指令)解释及存储指令(指令)执行
除了成为对象的存取指令不是读出数据指令而是写入指令以外,其它与使用图3所述的内容相同。盘装置1-a/b解释存储在所述接收指令存储部26中的存取指令,检出该存取指令是写入数据指令。另外,根据构成该写入数据指令的写入指令区域信息和所述协调控制信息28,判别本身是否应处理所述该写入数据指令。
在判断为由本身处理的盘装置中,确保所述缓冲器部12的接收发送数据存储部27,向上位装置发送写入数据传输开始指令。
另外,把从接收到所述写入数据的传输开始指令的上位装置2发送的写入数据存储在预先确保的接收发送数据存储部27中。再有在写入数据接收之后,或,在向所述盘部11写入接收的写入数据的盘写入处理完后,产生并发送针对所述写入数据指令的状态信息,通过消除所述存取指令,完成一系列写入数据指令处理。
另一方面,在判断为本身不处理的盘装置中,根据构成所述存取指令的写入指令区域信息,在更新后述的未更新区域管理信息之后,通过消除所述存取指令,完成写入数据指令处理。
图6是这样的流程图,在向由所述盘装置1-a/b构成的存储器系统4发行来自上位装置2-a/b的写入数据指令的情况下,尤其是,来自上位装置2-a的写入数据指令在盘装置1-a中处理,来自上位装置2-b的写入数据指令在盘装置1-b中处理的情况下的写入数据传输开始指令,及写入数据传输处理等。
按照以上说明,来自上位装置2-a/b的写入数据指令至少通过盘装置1-a的接口设备控制部13,存储在盘装置1-a/b缓冲器部12中。
在盘装置1-a/b中,对接收的存取指令,判别是否应本身处理,对判别成本身处理的写入数据指令的指令源上位装置,发送写入数据传输开始指令,以此为契机将通过上位装置开始发送的写入数据存储在接收发送数据存储部27中。
还有,在写入数据接收之后,或,在把接收的写入数据向所述盘部11写入的盘写入处理完之后,实施针对所述写入数据指令的状态信息的产生发送处理。
这里,从盘装置1-a向上位装置2-a发送的写入数据传输开始指令,及状态信息与所述读出数据的传输处理相同,与以往一样通过盘装置1-b的接口设备控制部13传输到上位装置2-a中。
还有,有关从上位装置2-a/b向存储器系统4发送的写入数据,根据构成该写入数据帧的标题信息等的再发送(传输)控制由所述盘装置1-a/b的接口设备控制部13的再发送部24实施。即,有关来自上位装置2-a的写入数据,在所述盘装置1-a的接口设备控制部13的再发送判定部24中进行根据构成该写入数据的帧的标题信息等的再发送(传输)判定控制后,不传输到后级而存储在盘装置1-a的缓冲器部12中。
并且,关于从上位装置2-a的写入数据,在所述盘装置1-a的接口设备控制部13的再发送判定部24中进行根据构成该写入数据的帧的标题信息等的再发送(传输)判定控制后实施向后级传输,再在所述盘装置1-b的接口控制部13的再发送判定部24进行根据构成该写入数据的帧的标题信息等的再发送(传输)判定控制后,存储在不传输到后级的盘装置1-a的缓冲器部12中。
通过上述,在本实施例,在多个存储器构成的存储器系统中,构成该存储器系统的每个存储器具有:在所述多个存储器中共有从上位装置对存储器系统的存取指令的部件;对共有的存取指令,判别是否应由本身处理的部件;还有把从上位装置发送到存储器系统的写入数据至少传输到判断为应该处理的存储器中的部件,这样,无需控制每个存储器的控制装置,可实现低价位,而且,可望获得最佳存储器的利用率的高性能的存储器系统。
在本实施例中,根据来自上位装置2的写入数据指令,使暂时存储在盘装置1-a/b中的数据产生不一致。于是,下面说明本实施例的写入数据的更新处理例子。
图7是表示在判定为来自所述上位装置的写入数据指令不由本身处理的盘装置中,实施更新处理的未更新区域管理信息30的一个构成例子。
作为未更新区域管理信息30,至少具有关于未更新区域的信息,在该图中,从上位装置对存储器系统的存取指令以由存取开始地址信息和存取大小信息构成的情况为例,具有未更新开始地址信息和未更新大小信息,还有,包括有关未更新区域的更新时间信息等的更新信息的构成。
从上位装置接收写入数据指令,在判断为本身不处理的盘装置中,根据构成写入数据指令的写入指令区域信息,利用更新未更新区域管理信息30,使发生不一致的未更新区域的管理、及以后的未更新区域的更新处理成为可能。
图8是表示这样的流程,在根据盘装置1-b的未更新区域管理信息30,实施发生不一致的未更新区域的更新处理的更新指令及更新数据传输处理等。
在该图中,盘装置1-b根据本身未更新区域管理信息30,向成对盘装置1-a,发行更新指令。在受理该更新指令的盘装置1-a中,如果必需,那么,实施来自盘部11的盘读出,向盘装置1-b发送指令对象数据。在盘装置1-b中,把从上述盘装置1-a接收的数据存储在盘部11中,通过从未更新区域管理信息30消除在该处理中涉及的未更新区域信息,结束未更新区域的更新处理。
还有,在上述实施例中,接收来自上位装置的写入数据指令,判断为本身不处理的盘装置尽管要实施发生不一致的未更新区域的管理,及以后未更新区域的更新处理,但是,不仅限于此,例如,判断为本身处理的盘装置根据构成写入数据指令的写入指令区域信息,利用更新未更新区域管理信息30,也可实施发生不一致的未更新区域的管理及以后未更新区域的更新处理。
另外,开始未更新区域的更新处理契机是任意的。例如,根据未更新区域管理信息30中登记的入口数,或总更新区域大小等开始是可能的。
下面,用图9、10、11、12、13说明本发明第二实施例。在本实施例中,判别是否应在首先接收的盘装置中对接收的存取指令进行处理。所具有的特征是,判别结果,如果在该盘装置中不应该处理,那么,把存取指令传输到其他盘装置中。即是说,在本实施例中,在构成所述存储器系统的一台存储器中接受从上位装置对存储器系统的存取指令,另外,在该存储器中,实施应处理存取指令的存储器的判别,在必要的情况下,把从上位装置向存储器系统的存取指令向应处理的存储器传输,由此,无需控制每个存储器的控制装置,所以,可实现最佳存储器利用率的高性能的所述存储器系统。
图9是表示构成所述存储器系统4的盘装置1的一个构成例子。在该图中,除了具备新的判定控制是否把自上位装置2接受的存取指令传输到成对的盘装置的指令传输控制部29以外,与图2的构成相同。
而且,作为所述协调控制信息28,保存用于实施是否把从上述上位装置2接受的存取指令传输到成对的盘装置的判定控制的信息等。还有,在所述再发送判定部24中,至少作为从上位装置2向存储器系统4的帧等的信息的再发送控制,实施根据构成写入数据帧的标题信息等的再发送(传输)控制。
下面,就从上位装置对存储器系统的存取指令,以存取指令区域为条件,以在各个盘装置中判别是否应本身处理该存取指令时的读出/写入数据传输处理为例,说明其动作。
图10是表示在向由所述盘装置1-a/b构成的存储器系统4发行来自上位装置2的读出数据指令的情况下的各装置处理流程的图。还有,在下面说明中,盘装置1-a接受来自上位装置2的存取指令,对应处理该存取指令的装置的判别,以及在必要情况下,将所述存取指令传输到盘装置1-b,实施传输控制。
(1)存取指令(指令)接收
从上位装置2向存储器系统4发行的读出数据指令,作为帧信息,首先通过盘装置1-a的所述接收部20,及接收帧处理部22,存储在缓冲器部12的接收指令存储部26中。
(2)存取指令(指令)解释及存取指令(指令)传输处理
盘装置1-a解释存储在上述接收指令存储部26中的存取指令,检出该存取指令是读出数据指令。还有,根据构成该读出数据指令的读出指令区域信息,和所述协调控制信息28,判别是否对该读出数据指令应由本身作处理。
用上述判别,当判别为自身处理的情况下,用盘装置1-a处理该读出数据指令。还有,当判别为非由本身处理的情况下,盘装置1-a对盘装置1-b传输来自上位装置2的读出数据指令。
在盘装置1-b中,把从盘装置1-a传输的读出数据指令通过接收部20及接收帧处理部22,存储在缓冲器部13的接收指令存储部26中。还有,盘装置1-b解释存储在接收指令存储部26中的存取指令,检出存取指令是读出数据指令。
(3)存取指令(指令)执行
在判断为本身处理的盘装置1-a,或从盘装置1-a传输存取指令的盘装置1-b中,根据读出数据的指令,通过所述盘控制部14从盘部11开始对缓冲器部12的发送接收数据存储部27的盘读出处理。还有,通过所述接口设备控制部13,实施对上位装置2的读出数据处理。还有,在读出数据之后,产生发送针对读出数据指令的状态信息,通过消除存取指令,完成一系列读出数据指令处理。另外,在盘装置1-a中,当判断为不由本身处理的情况下,通过消除读出数据指令,完成读出数据指令所作的处理。
图11是表示这样的流程图,在向由盘装置1-a/b构成的存储器系统4发行来自上位装置1-a/b的读出数据指令的情况下,尤其是,在从上位装置2-a的读出数据指令在盘装置1-a中处理,从上位装置2-b的读出数据指令在盘装置1-b中处理的情况下的读出数据指令,及读出数据的传输处理等。
根据上述说明,来自上位装置2-a的读出数据指令由盘装置1-a接受,没有传输到盘装置1-b。还有,来自上位装置2-b的读出数据指令根据上述盘装置1-a传输控制处理,盘装置1-b接受。
在盘装置1-a/b中,对于接受的读出数据指令,实施来自盘部11的盘读出处理,及上位装置2-a/b的读出数据发送处理,还存状态产生发送处理。
这里,盘装置1-a发送的读出数据等由于是针对上位装置2-a,所以通过已有的盘装置1-b的接口设备控制部13,传输到上位装置2-a。
图12是这样的流程图,在向由盘装置1-a/b构成的存储器系统4发行来自上位装置2的写入数据指令的情况下的各装置处理。
(1)存取指令(指令)接收
从上位装置2向存储器系统系统4发行的写入数据指令,作为帧信息首先通过盘装置1-a的所述接收部20,所述接收帧处理部22,存储在缓冲器部12的所述接收指令存储部26中。
(2)存取指令(指令)解释及存取指令(指令)的传输处理
盘装置1-a解释存储在接收指令存储部26中的存取指令,检出存取指令是写入数据指令。再有,根据构成该写入指令的写入指令区域信息和所述协调控制信息28,判别该写入数据指令是否应由本身处理。
该判定,在判断为由本身处理的情况下,用盘装置1-a处理所述存取指令。而且,当判断为非由本身处理的情况下,盘装置1-a把来自上位装置2的写入数据指令传输到盘装置1-b中。
在盘装置1-b中,把由盘装置1-a传输的所述写入数据指令通过所述接收部20及所述接收帧处理部22,存储在缓冲器部12的所述接收指令存储部26中。还有,盘装置1-b解释存储在接收指令存储部26中的存取指令,检出该存取指令是写入数据指令。
(3)存取指令(指令)执行,
在判断为由本身处理的盘装置1-a,或传输来自盘装置1-a的存取指令的盘装置1-b中,根据所述写入数据指令,确保缓冲器部12的接收发送数据存储部27,对上位装置发送写入数据的传输开始指令。另外,把自接收上述写入数据传输开始指令的上位装置发送的写入数据存储在上述预先确保的接收发送数据存储27中。
还有,接收写入数据之后,或对所述盘部11写入接收的写入数据的盘写入处理结束后,产生发送针对所述写入数据的状态信息。
(4)存取指令(指令)结束处理
在盘装置1-b中,在产生状态信息之后,利用消除存取指令,结束一系列写入数据指令处理。而且,在盘装置1-a中,在产生上述状态信息并发送后,或判断为非本身处理,在把来自上位装置2的写入数据指令对盘装置1-b传输后,根据构成写入数据的写入指令区域信息,更新后述未更新区域管理信息。再有,通过消除存取指令,结束一系列写入数据指令处理。
在本实施例中,在向由所述盘装置1-a/b构成的存储器系统4从上位装置2-a/b发行写入数据指令的情况下,尤其是,在来自上位装置2-a的写入数据指令在盘装置1-a中处理,来自上位装置2-b的写入数据指令在盘装置1-b中处理的情况下的写入数据传输开始指令,及写入数据传输处理等的流程与图6相同,所以从略。
但是,通过上述说明,自上位装置2-a/b的存取指令至少被存储在盘装置1-a的缓冲器部12中,在判断为非盘装置1-a本身处理的情况下,对盘装置1-b传输。
如上所述,在本实施例中,在由多个存储器构成的存储器系统中,构成该存储器系统的至少1台存储器接受从上位装置对存储器系统的存取指令。并且,在该存储器中,实施应处理存取指令的存储器的判别,在必要的情况下,通过设有把来自上位装置对存储器系统的存取指令向应处理的存储器传输的部件,无需控制各个存储器的控制装置,使价格降低,可实现最佳存储器利用率的高性能存储器系统。
与所述实施例一样,在本实施例中,也会由于来自上位装置2的写入数据指令,而使暂时存储在盘装置1-a/b中的数据发生不一致。于是,下面对本实施例的写入数据更新例进行说明。
在本实施例中,向所述未更新区域管理信息30,在盘装置1-a中保存附加了本身重新存储的数据是否最新的信息(以下称为更新类别信息)的未更新区域管理信息,在盘装置1-a中,根据构成来自上位装置的写入数据指令的写入指令区域信息,利用更新和管理构成上述未更新区域管理信息的未更新区域信息,和更新类别信息,实现发生不一致的未更新区域的管理及以后未更新区域的更新处理。
图13是表示这样的流程图,根据所述盘装置1-a的未更新区域管理信息,在实施发生不一致的未更新区域的更新处理的情况下的更新指令,及更新数据的传输等。而且,在该图中,以盘装置1-a使用存储在盘装置1-b中的最新数据更新本身的情况为例。
盘装置1-a至少根据由未更新区域信息和更新类别信息组成的所述未更新区域管理信息,向成对的盘装置1-b,发行更新指令(最新数据发送指令)。在接受该更新指令的盘装置1-b中,如果必要,实施来自所述盘部11的盘读出,对盘装置1-a发送指令对象数据。在盘装置1-a中,把从上述盘装置1-b接收的数据存储在盘部11中,通过从所述未更新区域管理信息30消除该处理中涉及的未更新区域信息,完成未更新区域的更新处理。
并且,在盘装置1-a使用本身存储的最新管理信息更新盘装置1-b的情况下,盘装置1-a根据所述未更新区域管理信息,向成对的盘装置1-b,发行更新指令(最新数据接收指令),继续发送更新对象数据。在接受更新指令及更新对象数据的盘装置1-b中,把从上述盘装置1-a接收的数据存储在盘部11中。还有,盘装置1-a在更新对象数据发送后,通过从所述未更新区域管理信息30中删除在该处理中涉及的未更新区域信息,完成未更新区域的更新处理。
在上面实施例中,虽然以构成从上位装置向存储器系统的存取指令的存取指令区域为条件,以判别本身是否应处理该存取指令的情况为例进行说明,但是,不仅限于此。
例如,在管理存储器以目标(object)(文件)信息单位存储的数据的情况下,以构成从上位装置向存储器系统的存取指令的目标(文件)信息为条件,判别是否本身应处理该存取指令是可能的,作为所述未更新区域管理信息至少保存的未更新区域信息,使用目标(文件)信息也能实现所述未更新区域的更新处理。
并且,在上述实施例中,在由多个存储器构成的RAID1的存储器系统中,构成该存储器系统的每个存储器,或至少一台存储器,对于从上位装置向存储系统的存取指令,通过备有判别是否应本身处理的部件,而无需控制每个存储器的控制装置。而且,可实现最佳存储器利用率的高性能的所述存储器系统。
然而,为了实现最佳存储器的利用率,根据来自上位装置的写入数据指令,虽然是暂时的,但是双重化的盘装置的数据会产生不一致,还存在需要对上述写入数据更新处理的情况。并且,在上述写入数据更新处理中,为了实施通过所述接口设备的写入数据的传输处理,不减轻接口设备3的负荷。
因此,使上位装置2对存储器系统4的存取指令,尤其是写入数据指令在构成该存储器系统4的多个存储器1中共有,并进而使成对的多个存储器同步处理该写入数据指令,以此谋求因减轻接口设备负荷产生的高性能,以下就该实施例进行说明。
下面,用图14、15说明本发明第三实施例。
在本实施例中,在构成该存储器系统4的多个存储器1中共有从上位装置2向存储器系统4的写入数据指令,并进而在成对的多个存储器中使写入数据传输处理同步实施,由此可无需控制每个存储器的控制装置,使价格降低,而且,可实现减轻接口设备负荷的高性能的所述存储器系统。
还有,构成本实施例存储器系统的存储器(盘装置)的构成在再发送判定控制部24中,作为从上位装置2向存储器系统4的帧等的信息的再发送控制,即使是写入数据,除了实施根据所述协调控制信息28的再发送控制,也与图2的一样,所以说明从略。
而且,有关从上位装置对存储器系统的读出数据指令,不作为本实施例的对象,而作为采用上述实施例的任一个,对其说明从略。
下面就有关从上位装置向存储器系统的写入数据指令,以在成对的2台存储器中,使写入数据传输处理同步实施的情况的写入数据传输处为例进行说明。
图14是表示这样的流程图,在向由所述盘装置1-a/b构成的存储器系统4发行来自上位装置2的写入数据指令情况下的各装置处理。
图15是表示这样的流程图,在向由所述盘装置1-a/b构成的存储器系统4发行来自上位装置2的写入数据指令的情况下的写入指令,写入数据的传输开始指令,及写入数据的传输处理等。
(1)存取指令(指令)接收及再发送处理
自上位装置2向存储器系统4发行的写入数据指令作为帧信息,首先,通过盘装置1-a的所述接收部20接收。
在盘装置1-a中,把所述写入数据指令通过所述接收帧处理部22,存储在所述缓冲器部12的所述接收指令存储部26中。
而且,盘装置1-a的所述再发送判定部24被设定成,根据所述协调控制信息28,把上位装置对存储器系统4的存取指令向后级盘装置1-a再发送,检出接收的帧信息是存取指令,产生针对所述输出选择部25的再发送控制(指示)信号。结果,所述输出选择部25根据该再发送控制(指示)信号,向后级盘装置1-a再发送来自所述上位装置的写入数据指令。
在盘装置1-b中,把根据所述盘装置1-a再发送的所述写入数据指令,通过所述接收帧处理部22,存储在所述缓冲器部12的所述接收指令存储部26中。还有,盘装置1-b的所述再发送判定部24设定成,根据所述协调控制信息28,不把存取指令向后级装置再发送。
(2)存取指令(指令)解释及存储指令(指令)执行
盘装置1-a/b解释在所述接收指令存储部26中存储的存取指令,检出该存储指令是写入数据指令,确保缓冲器部12的接收发送数据存储部27。在盘装置1-a中,以确保本身接收发送数据存储部27为契机,向盘装置1-b发送写入数据传输开始指令。另一方面,在盘装置1-b中,确保本身接收发送数据存储部27,及以接收来自盘装置1-a的写入数据传输开始指令为契机,向上位装置2发送写入数据传输开始指令。
在上位装置2中,以接收上述写入数据的传输开始指令为契机,开始写入数据的发送。
自上位装置2发送的写入数据,首先,通过盘装置1-a的所述接收部20接收。在盘装置1-a中,把所述写入数据通过所述接收帧处理22存储在缓冲器部12的所述接收发送数据存储部27中。
而且,盘装置1-a的再发送判定部24被设定成,根据协调控制信息28,把从上位装置2向存储器系统4的写入数据向后级盘装置1-b再发送,检出接收的帧信息是写入数据,产生针对输出选择部25的再发送控制(指示)信号。输出选择部25根据再发送控制(指示)信号,把来自上位装置的写入数据向后级盘装置1-b再发送。
在盘装置1-b中,把根据盘装置1-a再发送的写入数据通过接收帧处理部22,存储在缓冲器部12的所述接收发送数据存储部27中。而且盘装置1-b的再发送判定部24设定成,根据协调控制信息28,不向后级装置再发送写入数据。
在盘装置1-a中,接收写入数据后,或,接收的写入数据向盘部11写入的盘写入处理结束后,向盘装置1-b产生发送针对所述写入数据的状态信息。另外,通过消除该写入数据指令,完成一系列写入数据指令处理。
在盘装置1-b中,在接收写入数据后,或,向盘部11写入接收的写入数据的盘写入处理结束之后,接收来自盘装置1的状态信息之后,向上位装置2产生发送针对该写入数据指令的状态信息,再有,通过消除该写入数据指令,结束一系列写入数据指令处理。
按照上述,在本实施例中,在由多个存储器构成的RAID1存储器系统中,构成存储器系统的每个存储器具有:至少共有上位装置对存储器系统的写入数据指令的部件;和对于上述共有的写入数据指令,同步实施在成对的多个存储器之间写入数据传输处理和针对该写入数据的状态信息的发送处理的部件;这样无需控制各个存储器的控制装置,使价格降低,而且,免除在存储器间的数据更新处理,可获得减轻接口设备的负荷的高性能的所述存储器系统。
在上述实施例中,尽管对仅由适用的多个存储器构成本发明的RAID1存储器系统进行了说明,但是不仅限于此。例如,已有的盘阵列装置,即,即使在由多个盘装置和控制这些盘装置的控制装置构成的盘阵列装置中,通过采用适用于本发明盘装置,也能使上述控制装置的构成变得简化,降低了价格。
另外,下面说明对来自上位装置的存取指令是否应由本身处理的判别处理一例。
图16是表示构成所述协调控制信息28的信息一例的图。
在该图中,表示保存:作为构成协调控制信息28的信息,所述存储器系统4的装置识别信息(Storage Subsystem ID);和在各个存储器本身中固有的装置识别信息(Storage Device ID);和协调处理模式信息;还有,作为成为协调处理对象的区域管理信息,协调区域大小信息;和活动(active)区域开始地址信息;和活动区域大小信息。
还有,有关各所述信息,表示在存储器1-a/b的设定例子,所述存储器系统4的装置识别信息,存储器1-a/b均设定为ID_0;每个存储器本身中固有的装置的识别信息为,在存储器1-a中设定为ID_1;在存储器1-b中设定ID_2;实施与本身协调控制的存储器中固有的装置识别信息为,在存储器1-a中设定为ID_2;在存储器1-b中设定为ID_1;协调处理模式信息在存储器1-a中设定指令再发送;在存储器1-b中设定指令接受;再有,协调区域大小信息规定为N,活动区域开始地址信息为,在存储器1-a设定为0;在存储器1-b中设定为N/2,活动区域大小信息在存储器1-a/b中均设定为N/2。
还有,所述存储器系统4的装置识别信息,和各个存储器本身中固有的装置识别信息,和实施与本身协调控制的存储器中固有的装置识别信息,和协调处理模式信息是在后述的帧数据再发送处理判定中使用的协调控制信息。
图17是表示作为来自上位装置的存取指令信息,在FCP(Fibre ChannelProtocol)中规定的存取指令信息构成例子的图。在该图中,上述存取指令信息包括存取指令对象区域开始地址信息(图中,Logical Block Address)和存取指令对象区域大小信息(Transfer Length)。
接受来自上位装置的存取指令信息的存储器1根据本身保存的所述协调控制信息的活动区域开始地址信息,和活动区域大小信息,和来自上位装置的存取指令信息的存取指令对象区域开始地址信息,和存取指令对象区域大小信息,判别是否应本身处理该存取指令,即,是否是对本身活动区域的存取指令,仅对本身活动区域的存取指令实施处理。
例如,来自上位装置的存取指令对象区域在N/2以下的情况下以及在N/2以上的情况下,分别由存储器#1和存储器#2处理来自该上位装置的存取指令。另外,来自上位装置的指令对象区域在涉及存储器#1及存储器#2的活动区域的情况下,存储器#1及存储器#2处理对各本身活动区域的存取指令。
另外,在上述实施例中,作为协调处理对象区域的管理信息,保存地址信息和大小信息,根据构成来自上位装置的存取指令信息的地址信息和大小信息,尽管以判别是否应本身应处理该存取指令的情况为例做了说明,但是,不仅限于此,例如,可以在图17所示的逻辑单元号码(图中,FCP_LUN or Logical UnitNumber)为条件,在该情况下,所述存储器1作为有关构成所述协调控制信息28的协调处理对象区域的管理信息,保存活动逻辑单元号码信息。
另外还有,来自上位装置的存取指令信息,在保存文件名等的目标名的情况下,所述存储器1作为有关构成所述协调控制信息28的协调处理对象区域的管理信息,利用保存活动目标表格(active object list)信息,用目标单位也可判别是否本身应处理来自上位装置的存取指令。
还有,在所述第二实施例中,来自上位装置的存取指令对象区域在涉及盘装置1-a及所述盘装置1-b的活动区域的情况下,盘装置1-a把来自上位装置存取指令信息加工成对于盘装置1-b的活动区域的指令,通过向所述盘装置1-b发送,可实施在盘装置1-a/b的协调控制处理。
或,在所述盘装置1-b中,保存所述协调控制信息(活动区域开始地址信息,活动区域大小信息等,),根据所述来自上位装置的存取指令信息和存取指令对象区域信息,判别是否应本身处理该存取指令,即,是否是对本身活动区域的存取指令,对于是对本身活动区域的存取指令,通过实施处理,上述的所述盘装置1-a则不进行把来自所述上位装置的存取指令信息加工成对盘装置1-b的活动区域的存取指令后向盘装置1-b发送,可实现在所述盘装置1-a/b中的协调控制处理。
另外,下面,说明是否把在所述上位装置和存储器系统之间传输的帧数据向后级装置再发送的判定处理一例子。
图18是表示作为在上位装置和存储器系统之间传输的信息,以FC-PH(FibreChannel PHYSICAL AND SIGNALINGINTERFACE)规定的帧标题信息的构成例子。
在该图中,上述帧标题信息具有:帧数据的发送端/发送源信息(D_ID:Destination_Identifier,S_ID:Source_Identifier),和帧数据类别信息(R_CTL:Routing Control,TYPE:Data structure type),和帧数据的关连转换识别信息(RX_ID:Responder Exchange_Identifier,OX_ID:Originator Exchange_Identifier)的字段。
首先,在从所述存储器系统4(所述盘装置1-a/b)向上位装置发送的帧数据(读出数据、写入数据的传输开始指令、状态信息等)的情况下,作为上述帧标题信息的帧数据发送端信息(D_ID),设定上位装置的识别信息,接收该帧数据的盘装置进行再发送。
因此,在下面,作为从上位装置向所述存储器系统4发送的,即,所述帧标题信息的帧数据发送端信息(D_ID),以设定存储器系统4的识别信息的帧数据(存取指令、写入数据)为对象,说明再发送处理的一个例子。
(1)存取指令
在再发送判定部24中,接收从上位装置向存储器系统4的帧数据(存取指令)时,从所述帧标题信息的帧数据种类信息(R_CTL,TYPE)中,检出该帧数据是存取指令,还有,根据构成协调控制信息28的协调处理模式设定信息(指令再发送、或,指令接受),通过决定是否向后级装置再发送该接收的存取指令,实现帧数据(存取指令)的再发送处理。
(2)写入数据
在再发送判定部24中,在接收从上位装置向存储器系统4的帧数据(写入数据)时,从所述帧标题信息的帧数据种类信息(R_CTL,TYPE)中,检出该帧数据是写入数据,再有,检出所述帧标题信息的帧数据发送源信息(S_ID)和转换识别信息(RX_ID,OX_ID)与在后述的写入处理管理信息中记录的是否一致,如果一致,那么接受该写入数据,如果不一致,那么,通过向后级装置再发送,实现帧数据(写入数据)的再发送处理。
图19是表示所述写入处理管理信息一构成例子的图,是把执行中(未处理完)的写入处理的所述转换识别信息(RX_ID,OX_ID)和存取发行源上位装置的识别信息(Host_ID)加以关连后,作为写入处理管理信息保存的例子。在该图中,例如,从同一上位装置(Host_ID(S_ID)=ID_3)向所述存储器系统4发送的写入数据帧,通过检出构成该帧标题的所述转换识别信息(RX_ID and/or OX_ID)是否与记录在所述写入处理管理信息中的一致,可检出是否本身应接受的写入数据帧。
还有,作为上述写入管理信息的最少构成例子,尽管也可由执行中(未处理完)的写入处理的所述转换识别信息(OX_ID)和存取指令发行源上位装置的识别信息(Host_ID)构成,但是,上述OX_ID是在上位装置侧设定的值,不能保障其独立性。与此相反,由于所述RX_ID在存储器侧可设定任意值,所以最好作为所述写入处理管理信息保存,另外,最好设定成在成为协调控制对象的存储器之间取不同的值。
接着,说明本发明第四实施例。
第四实施例的技术内容是,构成存储器子系统的每个存储器根据用于在多个存储器之间进行协调并处理来自上位装置的存取指令的控制信息(协调控制信息),和从上位装置对存储器子系统的存取指令信息,执行判别是否本身应处理该存取指令。
第五实施例的技术内容是,第四实施例的存储器再通过附加保存协调处理的其他存储器工作状态信息,即使在构成所述存储器子系统的存储器中产生故障的情况下,也能实现从上位装置向存储器子系统的存取指令处理。
第六实施例的技术内容是,上述实施例的存储器还具有多个接口设备控制部,使用不同的接口设备(传输通路)实现来自上位装置的存取指令信息和在构成存储器子系统的存储器之间传输的用户数据的传输处理。
第四实施例(正常工作)
下面,用图20至33说明本发明的第四实施例。
图20是表示由利用多个(N,N>;1)台存储器1构成的存储器子系统4,和上位装置组成的信息处理系统一个例子的图,在该图中,构成存储器子系统的每个存储器1通过上述上位装置2和封闭型(下面称为环状)接口3直接连接。
还有,在该图中,作为存储器1表示以盘装置为例的构成,该盘装置1其构成包括:作为保存各个所述上位装置2存取的数据的记录媒体的盘部11;和暂时保存在该盘部11和所述上位装置2之间传输的数据的缓冲器部12;和执行与所述上位装置2之间的接口通信规定控制的接口设备控制部13;和执行对所述盘部11的记录重放处理的盘控制部14;和控制对所述缓冲器部12的存取控制的缓冲器控制部15;和根据来自上位装置的数据写入指令接收的写入数据(新数据)和在所述盘部中存储完的更新对象数据(旧数据),产生排“异或”运算形成的更新信息的更新信息产生部16;和总体控制上述各部位的主控制部10。
图21是表示构成所述存储器系统4的盘装置1的一个构成例的图。
在该图中,所述接口设备控制部13具有:通过上述接口设备3实施信息接收的接收部20;和同样实施信息发送的发送部21;和在对接收的帧等的信息的检错,或,把该帧信息的至少一部分存储在所述缓冲器部12中时,实施存储端的控制等的接收帧处理部22;和在帧等的信息发送时,实施构成该帧信息的标题信息等的附加信息的产生的发送帧产生部23。还具有:实施是否把所述接收部20接收的帧等的信息向后级装置再发送,或是否本身接受的控制(再发送控制)的帧接收控制部24;和选择从该帧接收控制部24再发送的信息,和来自所述发送帧产生部23的信息的任一个,向上述发送部21输出的帧发送控制部25。
而且,所述缓冲器部12具有:保存自上位装置2接收的存取指令(指令)的接收指令存储部26;和保存在上位装置2之间接收发送的数据的接收发数据存储部27;和保存在所述更新信息产生部16中产生的更新信息的更新信息存储部28。
并且,所述主控制部10具有:根据后述的协调控制信息29和上位装置2对存储器系统2的存取指令信息,控制与该存取指令对应的本身处理的协调处理控制部30。
还有,所述帧接收控制部24的再发送控制,是根据来自上述协调处理控制部30的控制信息和根据构成帧的标题信息等而实施的。
图22是表示所述协调控制信息29的构成及各个存储器的设定的一个例子的图。在该图中,该协调控制信息29包括:所述存储器子系统4的装置识别信息(共有ID);和在各个存储器本身中固有的装置识别信息(固有ID);和作为所述环型接口设备3的相对位置信息的位置图信息;和指定是否向后级装置再发送从前级接收的存取指令帧的模式的指令传输模式信息。
再有,作为冗余构成(RAID Configuration)的管理信息(ManagementInformation),由RAID的电平信息和冗余数据管理大小及作为构成所述存储器子系统4的盘台数构成信息的盘台数/冗余数据盘台数据信息构成,对每个存储器实施任意设定。
图23是表示环形接口设备3的一个例子,Fibre Channel Arbitrated Loop(FC-AL)的帧信息构成图。
在该图中,帧信息由表示帧信息开始的SOF(Start of Frame)和帧信息的种类信息,及包括发送端/源信息等的标题信息;和在装置间传输的有效负荷(用户数据);和所述标题信息;和作为对于有效负荷的冗余数据的CRC(CyclicRedundancy Check);和表示帧信息结束的EOF(End of Frame)组成。
图24是表示所述标题信息一个例子的图,由作为帧信息类别信息的R CTL/TYPE帧信息的接收发送端/源信息的D_ID/S_ID等/组成。
图25是表示作为上述有效负荷存取指令信息的一个例子,由作为指定存取指令对象的信息的逻辑单元号码(FCP_LUN)、地址信息(Logical Block Address)、传输长度信息(Transfer Length)、作为存取指令的种类信息的操作码等组成。
下面,说明对从上述上位装置2向存储器子系统4的存取指令,前述存储器1~N进行协调处理的工作。
(1)存取指令(指令)接收及再发送处理
图26是表示向由所述存储器1~N构成的存储器子系统4发行来自上位装置2的存取指令的情况下的各存储器的处理例子的图。
首先,通过存储器1-1的所述接收部20作为帧信息接收从上位装置2向存储器子系统4发行的存取指令(Cmmand)。
在存储器1-1通过所述帧接收控制部24及接收帧处理部22把上述存取指令存储在所述缓冲部12的所述接收指令存储部26中。
而且,存储器1-1的所述帧接收控制部24通过把所述协调控制信息29的所述指令传输码先设定成,使从上位装置2向存储器子系统4的存取指令往后级装置再发送(接收和再发送),从接收的帧信息的所述标题信息中检出该帧信息是存取指令,通过所述帧发送控制部25向后级装置再发送(接收和再发送)来自所述上位装置的存取指令。
即便在后级存储器1-2~(N-1)中,也实施与上述同样的指令的接收和再发送处理。
在最后级的存储器1-N中,通过把所述协调控制信息29的所述指令传输码设定成,使从上位装置2向存储器子系统4的存取指令不往后级装置再发送(仅接收),从接收的帧信息的所述标题信息中,检出该帧信息是存取指令,不再向后级装置发送,仅实施向所述缓冲器部12的所述接收指令存储部26的存储。
根据以上从存取指令(指令)接收及再发送处理,在进行协调处理的各存储器1-1~N中,不开始新的存取指令的传输处理,可共有来自上位装置2的存取指令。
(2-1)读出处理(实现在1台存储器中的处理)
图27是表示来自上位装置2中的所述存取指令为读出数据指令并在一台存储器中可处理的情况下的数据传输处理例子的图,在该图中,由存储器1-2实施数据发送处理(数据2的发送)。
各存储器1-1~N根据存储在所述接收指令存储部26中的存取指令信息和所述协调控制信息29,判别是否本身处理该存取指令。
在判断为本身处理的存储器1-2中,通过所述盘控制部14-2开始进行从盘部11-2向所述缓冲器部12-2的所述接收数据存储部27-2的盘读出处理,再有,通过所述接口设备控制部13-2实施对上位装置2的读出数据发送处理。另外,在读出数据发送后,产生并发送针对所述存取指令的状态信息,通过消除所述存取指令,结束一系列读出数据指令处理。
另一方面,在判断为不由本身处理的盘装置中,利用消除所述存取指令,结束在读出数据指令中所作的处理。
还有,在位于存储器1-2后级的存储器1-3~N中,有关自存储器1-2发送的帧信息(读出数据、状态),仅实施来自标题信息的再发送处理。
(2-2)读出处理(实施在多台存储器中的处理)
图28是表示来自上位装置2的所述存取指令为读出数据指令并且必需在多台存储器中处理的情况下的各存储器的数据传输处理例子的图,在该图中,由存储器1-1/2实施数据发送处理(数据1/数据2发送)。
图29是表示必需在多台存储器中作数据传输处理的情况下的数据帧(有效负荷)信息一构成例子的图,在过去,数据帧(有效负荷)对于仅由用户数据构成的,规定由按每个处理对象存储器将上述用户数据分割成的用户数据段0-n和表示该用户数据段是否有效的标记(Data Valid bit)构成。
在以下说明中,根据所述存取指令信息和所述协调控制信息29,在处理所述存取指令的存储器中,许可位于前级的(最早接收来自上位装置的信息)的存储器开始读出数据/状态信息的发送的情况为例说明,但是,不仅限于此,也可按任意的算法来确定开始发送读出数据的存储器。
与上述一样,各存储器1-1~N根据存储在所述接收指令存储部26中的存取指令信息和所述协调控制信息29,判别是否本身处理该存取指令,在判别为不由本身处理的盘装置中,通过消除所述存取指令,结束读出数据指令中所作的处理。
在判断为由本身处理的存储器1-1/2中,通过所述盘装置控制部14-1/2,开始从盘部11-1/2对所述缓冲器部12-1/2的所述接收发送数据存储部27-1/2的盘读出处理。
在允许本身读出数据发送开始的存储器1-1中,作为对上位装置2的读出数据的发送处理,例如,在所述用户数据段0上存储本身的读出数据,在其他用户数据段(1)上存储伪数据,还有,实施在对应所述用户数据段0的标记上设定为“有效”,在对应其他用户数据段的标记上设定“无效”的所述数据帧信息的发送处理,再有,在涉及该处理的状态信息的产生并发送后,通过消除所述存取指令,完成一系列调出数据指令处理。
并且,在禁止本身读出数据发送开始的存储器1-2中,作为对于上位装置2的读出数据发送处理,例如,在从上述存储器1-1中接收的读出数据帧的用户数据段1中存储本身读出数据,另外,实施在对应所述用户数据段1的标记上设定为“有效”的所述数据帧信息的发送处理,再有,在产生根据涉及该处理的状态信息和自后级接收的状态信息的新的状态信息之后,通过消除所述存取指令,完成一系列读出数据指令处理。
还有,在实施所述数据发送处理的最后级的存储器,即产生对上位装置的最后型的数据帧信息的存储器中,消除表示所述用户段数据是否有效的标记(DataValid bit)区域,作为仅由用户数据构成的有效负荷最好向上位装置发送。
并且,作为对于上位装置2的状态信息发送处理,在实施所述数据发送处理的最后级存储器,即,产生对于上位装置的最后型的数据帧信息的存储器中,通过产生由自前级装置接收的状态信息和本身状态信息组成的新的状态信息,实施对上位装置2的状态信息的产生。
(2-3)写入处理(用1台存储器实现数据更新处理)
图30是表示来自上位装置2的所述存取指令为写入数据指令,并且在实施1台存储器的数据更新处理和1台存储器的冗余数据更新处理的情况下的数据传输处理例子的图,在该图中,存储器1-1实施数据更新处理(Data10→Data1N),存储器1-N实施冗余数据更新处理(DataP0→DataPN)。
与前述一样,各存储器1-1~N根据在所述接收指令存储部26中存储的存取指令信息和所述协调控制信息29,判别该存取是否由本身处理,或是否实施随着该存取指令的冗余数据更新处理,在判断为不由本身处理的盘装置中,通过消除所述存取指令,结束所述写入数据指令中所作的处理。
在判断为由本身实施数据更新处理的装置1-1中,通过所述盘控制部14-1,开始对存储在盘部11-1中的更新对象数据(旧数据:Data10)的盘读出处理。
另外,从上位装置2通过所述接口设备控制部13-1接收的数据(新数据:Data1N)和上述旧数据(Data10),例如在所述更新信息产生部16-1中产生由“异或”运算结果等形成的更新信息(Data1N’)。
还有,将从所述上位装置2接收的新数据置换成上述更新信息(Data1N’),实施附加了所述Data Valid bit区域的所述数据帧信息的发送处理,而上述DataValid bit区域在与存储上述更新信息的段对应的标记上设定为“有效”。
另外,在存储器1-1中,通过将所述新数据(Data1N)利用所述盘控制部14-1存储在盘部11-1中,实现数据的更新处理。
还有,在存储器1-1中,在涉及上述处理的状态信息产生发送后,根据消除所述存取指令,完成一系列写入数据指令处理。
而且,在判别为本身实施冗余数据更新处理的存储器1-N中,通过所述盘控制部14-N,开始对于存储在盘部11-N中的更新对象冗余数据(旧冗余数据:DataP0)的盘读出处理。
还有,通过在上述更新信息产生部16-N中根据从所述存储器1-1接收的更新信息(Data1N’)和所述旧冗余数据(DataP0)生成例如由“异或”运算结果等产生的新冗余数据(Data1N),将该新冗余数据(Data1N)通过所述盘控制部14-N存储在盘部11-N中,以此,实现冗余数据的更新处理。
还有,在存储器1-N中,产生根据涉及上述处理的状态信息和从前级装置中接收的状态信息的新状态信息,在实施对于上位装置2的发送处理之后,通过消除所述存取指令,完成一系列数据指令处理。
而且,在上述冗余数据更新的处理中,检出是否所述Data Valid bit区域的对应的标记被设定成“有效”,实施仅对设定为“有效”的情况下的冗余数据的更新处理,在剩下“无效”设定的情况下通过对后级装置再发送接收的数据帧信息,以此,例如即使数据更新对象的存储器处在实施冗余数据更新的存储器的后级的情况下,也能实现上述数据更新处理/冗余数据更新处理。
(2-4)写入处理(实现在多台存储器中的数据更新处理)
图31是表示来自上位装置2的所述存取指令为写入数据指令并且实施多台存储器的数据更新处理和一台存储器的冗余数据更新处理情况下的数据传输处理例子的图,在该图中,存储器1-1/2实施更新处理(Data10/20→Data1N/2N),存储器1-N实施冗余数据更新处理(DataP0→DataPN)。
与上述一样,各存储器1-1~N根据存储在所述接收指令部26的存取指令信息和所述协调控制信息29,判别是否由本身处理该存取指令,还有,是否实施根据该存取指令的冗余数据更新处理,在被判定为本身不处理的盘装置中,通过消除存取指令结束上述写入数据指令所作的处理。
在判定为本身实施数据更新处理的存储器1-1中,通过所述盘控制部14-1,开始对存储在盘部11-1中的更新对象数据(旧数据:Data10)的盘读出处理。
还有,在所述更新信息产生部16-1中根据在从上位装置2通过接口设备控制部13-1接收的数据(新数据:Data1N/2N)内的本身新数据(Data1N)和上述旧数据(Data10),生成例如由“异或”运算结果等形成的更新信息(Data1N’)。
另外,在从上述上位装置2中接收的新数据(Data1N/2N)内,把对于本身的新数据(Data1N)置换成上述更新信息(Data1N’),实施附加在与存储该更新信息的段对应的标记上设定“有效”,在与其他用户数据段对应的标记上设定“无效”的前述Data Valid bit区域的前述数据帧信息的发送处理。
另外,在存储器1-1中,与前述一样实施更新处理,及状态发送处理等,结束一系列写入数据指令处理。
而且,在判断为由本身实施数据更新处理的存储器1-2中,也通过所述盘控制部14-2,开始对存储在盘部11-2中的更新对象数据(旧数据:Data20)的盘读出处理。
还有,在从前级存储器1-1通过所述接口设备控制部13-2接收的数据(更新信息:Data1N’,新数据:Data2N)内,在所述更新信息产生部16-2中根据对于本身的新数据(Data2N)和上述旧数据(Data20)生成例如由“异或”运算结果等产生的更新信息(Data1N’)。
还有,在从前级存储器1-1接收的数据(Data1N’,Data2N)内,把对本身的新数据(Data2N)8置换成所述更新信息(Data2N’),实施把对应存储该更新信息的段的标记设定为“有效”的前述数据帧信息发送处理。
另外,实施与前述同样数据更新处理,以及根据在自前级装置接收的状态信息和本身状态信息,实施新的状态信息产生发送处理,通过消除所述存取指令,完成一系列写入数据指令处理。
而且,在判断为本身实施冗余数据更新处理的存储器1-N中,也通过所述盘控制部14-N开始对存储在盘部11-N中的更新对象的冗余数据(旧冗余数据:DataP0)的盘读出处理。
再有,在所述更新信息产生部16-N中根据由所述存储器12中接收的更新信息(Data1N’/2N’)和所述旧冗余数据(DataP0),生成例如由“异或”运算结果产生的新冗余数据(DataPN),该新冗余数据(DataPN)通过所述盘控制部14-N存储在盘部11-N中,以此,实现冗余数据更新处理。
还有,在存储器1-N中,根据涉及所述处理的状态信息和从实施上述数据更新处理的存储器1-1/2接收的状态信息生成新的状态信息,对上位装置2实施发送处理之后,通过消除所述存取指令,完成一系列写入数据指令处理。
还有,在上述冗余数据更新处理中,与前述一样,根据所述Data Valid bit区域对应的标记设定值进行实施。
接着,说明有关构成所述存储器子系统4的所述存储器1的上述读出数据指令处理和写入数据指令处理。
图32是表示对于来自上位装置2的读出数据指令在存储器1中的处理流程一例的图。
存储器1根据所述协调控制信息29和存储在所述接收指令存储部26中的存取指令信息,实施是否由本身处理该存取指令(数据发送是否)的判别处理(步骤100)。
判断为不由本身处理的存储器1实施后述的存取指令消除(步骤106),结束在所述读出数据指令中所作的处理。
判断为由本身处理的存储器1通过所述盘控制部14,开始从盘部11向所述缓冲器部12的所述接收发送数据存储部27的盘读出处理(步骤101),再有,根据所述协调控制信息29和所述存取指令信息,实施是否许可本身对读出数据的发送开始(检出读出数据发送是否开始)的判别处理(步骤102)。
被许可本身读出数据发送开始的存储器1在所述用户数据段0中存储本身读出数据,在其他的用户数据段上存储伪数据,还有,产生在对应所述用户数据段0的标记上设定“有效”,在对应其他用户数据段的标记上设定“无效”的所述数据帧信息,实施对后级装置的发送处理(步骤103)。
这里,在上述被许可本身读出数据的发送开始的存储器1以外,当不存在协调处理来自所述上位装置2的存取指令的存储器的情况下,该存储器1不实施所述标记信息(Data Valid bit区域)的设定/追加,产生仅由读出数据构成的数据帧信息,实施对上位装置2的发送处理。
另一方面,被禁止本身读出数据发送的存储器1等待来自前级存储器的所述读出数据帧的接收(步骤107),以该读出数据帧的接收为契机(步骤108),进行接收的读出数据帧的更新处理(在存储应存储本身的读出数据的用户数据段上存储本身读出数据,并且,在对应该用户数据段的标记上设定“有效”),实施更新的读出数据帧的发送处理(步骤109)。
这里,被禁止本身读出数据发送开始的、并且在所述用户数据段的最后段上存储本身读出数据的存储器1,消除上述标记信息(Data Valid bit区域),产生仅由读出数据构成的数据帧信息,实施对上位装置2的发送处理。
而且,判断为由本身处理的存储器1根据所述协调控制信息29和在所述接收指令存储部26中存储的存取指令信息,实施是否许可该存取指令处理结束报告发送开始(检出是否结束报告发送开始)的判别处理(步骤104)。
被许可本身结束报告发送开始的存储器1产生涉及上述读出数据处理的状态数据信息,实施对后级的发送处理(步骤105),另外,结束一系列读出数据指令处理。
另一方面,被禁止本身结束报告发送开始的存储器1等待来自前级存储器的前述状态信息的接收(步骤110),以该状态信息的接收为契机(步骤111),进行接收的状态信息的更新处理(本身读出数据处理结束的反映),在实施更新的状态信息的发送处理之后(步骤112),通过消除所述存取指令(步骤106),完成一系列读出数据的指令处理。
还有,在上述实施例中,把是否在所述用户数据段0上存储本身读出数据作为所述读出数据发送开始是否检出的条件的例子,另外,在所述用户数据段0上存储本身读出数据的存储器中,尽管对产生附加所述标记信息(Data Valid bit区域)的所述数据帧信息例子进行了说明,但是不仅限于此,在所述用户数据段的最后段上存储器1中,消除上述标记信息(Data Valid bit区域),尽管对产生由读出数据构成的数据帧信息作了说明,但不仅限于此,也可根据任意算法确定上述存储器。
图33是表示对于来自上位装置2的写入数据指令在存储器1中的处理流程一例的图。
存储器1根据所述协调控制信息29和存储在所述接收指令存储部26中的存取指令信息,实施以下判别,是否由本身处理(数据更新)该存取指令,是否实施根据该存取指令的冗余数据更新处理(步骤200)。
判断为不由本身处理的存储器1实施后述存取指令消除(步骤209),结束所述写入数据指令所涉及的处理。
判断为本身实施数据更新处理的存储器1通过所述盘控制部14,开始对存储在盘部11中的更新对象数据(旧数据)的盘读出处理(步骤201)。
再有,等待从前级装置中写入数据帧信息的接收(步骤202),以该写入数据帧信息的接收为契机(步骤203),根据构成该接收写入数据帧信息的写入数据(新数据集合体)内的本身应存储的新数据和所述旧数据,在所述更新信息产生部16中生成由“异或”运算等形成的更新信息(步骤204)。
还有,将构成所述接收的写入数据帧信息的写入数据(新数据集合体)内的对于本身的新数据置换成所述更新信息,实施把对应于存储该更新信息的用户数据段的标记设定为“有效”的所述写入数据帧信息的发送处理(步骤205)。
这里,上述接收的写入数据帧信息在不附加所述标记信息(Data Valid bit区域)的情况下,存储器1产生附加在对应存储本身更新信息的用户数据段的标记上设定“有效”,在对应其他用户数据段的标记上设定“无效”的上述标记信息的写入数据帧信息,实施该写入数据帧信息的发送处理。
还有,通过将上述本身应存储的新数据利用所述盘控制部14存储在盘部11中(盘写入),实施写入数据更新处理(步骤206)。
还有,判断为本身实施冗余数据更新处理的装置1通过所述盘控制部14,开始对于存储在盘部11中的更新对象的冗余数据(旧冗余数据)的盘读出处理(步骤210)。
还有,等待从前级装置的写入数据帧的信息接收(步骤211),对应构成该写入数据帧信息的用户数据段的全部所述标记信息(Data Valid bit区域)设定为“有效”,以此为契机(步骤212),用构成该写入数据帧信息的高效信息(集合体)和所述旧冗余数据,在所述更新信息产生部16中产生由“异或”运算等形成的新冗余数据(步骤213)。此外,这里,作为条件,尽管规定全部标记信息,但是,也可规定满足一定条件的标记信息。把该新冗余数据通过所述盘控制部14存储在盘部11中,以此,实现冗余数据更新处理(步骤214)。
这里,在对应构成所述写入数据帧信息的所述用户数据段的全部的所述标记信息不设定为“有效”的情况下,规定再发送接收的写入数据帧。
据此,数据更新对象存储器即便在位于上述冗余数据更新对象存储器后级的情况下,也可实现所述数据更新对象的存储器形成的所述更新信息产生/发送处理。
还有,根据该处理,再次接收所述写入数据帧信息的存储器根据构成该写入数据帧信息的所述标记信息,例如,以把对应本身应存储的用户数据段的标记设定为“有效”为条件,实施再发送处理。
另外,判断为实施本身数据更新处理,或冗余数据更新处理的存储器1根据所述协调控制信息29和在所述接收指令存储部26中存储的存取指令信息,实施判别是否许可该存取指令处理结束报告发送开始(检出完成报告发送开始可否)的判别处理(步骤207)。
被许可本身结束报告发送开始的存储器1产生涉及上述写入数据处理的数据信息,实施对后级装置的发送处理(步骤208),另外,在状态信息发送处理后,通过消除所述存取指令(步骤209),完成一系列写入数据指令处理。
另一方面,被禁止本身结束报告发送开始的存储器1等待来自前级存储器的所述状态信息的接收(步骤215),以该状态信息的接收为契机(步骤216),进行接收的状态信息的更新处理(本身写入数据处理结果的反映),在实施更新的状态信息发送处理后(217),通过消除所述存取指令(步骤209),完成一系列写入数据指令处理。
再有,在上述实施例中,在数据更新处理对象的所有存储器中的数据更新处理实施之后,通过进行冗余数据更新处理,尽管规定上述冗余数据更新对象存储器产生/发送最后状态信息,但是,不仅限于此。同样,对于最后状态信息的产生方法也以各个存储器更新状态信息的方法为例进行说明,但,不仅限于此,例如,构成所述存储器子系统4的特定存储器也可管理所述状态信息的产生发送。
第五实施例(简并动作)
下面用图34至36说明本发明第五实施例。
第五实施例的技术方案是,第四实施例的存储器再通过追加保存协调其他存储器工作状态的信息,即使在构成所述存储器子系统的存储器中产生故障的情况下,也能实现从上位装置向存储器子系统的存取指令处理。
图34是这样的例子,作为构成在前述实施例的说明中所用的所述协调控制信息29的冗余构成管理信息,在RAID电平信息中设定“5”,在数据盘台数/冗余数据盘台数信息中设定“3/1”,还有,保存动作模式信息和故障存储器识别信息(故障存储器ID),设定ID2的存储器故障形成的简并模式。
还有,本实施例的存储器由于与前述构成相同所以省略附图。
而且,在无需后述的数据还原处理的情况下,由于可与所述实施例同样地控制实施,所以说明从略。
下面,以在构成存储器子系统4的存储器1-2中故障发生的情况为例,说明从所述上位装置2到存储器子系统4的存取指令,及除所述存储器1-2其他的存储器作协调处理的动作。
(1)对于故障存储器的读出处理(实现在多台存储器中的数据还原处理)
图35是这样的图,将来自对于存储在处于故障状态下的存储器1-2中的数据的上位装置2的读出数据指令,在上述存储器1-2以外的存储器中处理的情况下数据传输处理例子。
把上述存取指令信息存储在所述接收指令存储部26中的存储器1-2以外的存储器,根据上述存取指令信息和所述协调控制信息29,当处理该存取指令时,检出在处于故障状态下的存储器1-2中存储的数据的还原处理是必要的,还有,判别是否由本身实施该数据还原处理。
判断为需要对处于故障状态下的存储器中存储的数据进行还原处理的存储器,如果必要,那么,通过所述盘控制部14,开始对于在存储盘部11中的上述数据还原处理中所必要的数据(图中Data1、Data3、Data4)的盘读出处理。
在下面说明中,虽然根据所述指令信息和所述协调控制信息29,位于最前级(最早接收来自上位装置的信息)的存储器以实施上述数据还原处理的情况为例进行说明,但是不仅限于此。
在被许可本身开始与所述数据还原处理相关的数据的发送的存储器1-1中,例如,在所述用户数据段0中存储本身数据,还有,实施在对应于所述用户数据段0的标记上设定“有效”,在对应其他用户数据段上设定为“无效”的所述数据帧信息处理,再有,在涉及该处理的状态信息的产生发送后,通过消除所述存取指令,结束一系列读出数据指令处理。
而且,在被禁止本身开始与所述数据还原处理相关的数据的发送的存储器1-3中,在从上述存储器1-1接收的上述数据帧信息中追加存储本身数据的用户数据段1,进而,实施在对于所述用户数据段1的标记上设定“有效”的数据帧信息的产生/发送处理,并且,在产生发送根据涉及该处理的状态信息和自前级装置接收的状态信息的新状态信息之后,通过消除所述存取指令,结束一系列读出数据指令处理。
在判断为本身实施所述数据还原处理的存储器1-4中,通过自所述存储器1-1/3接收的数据(Data1、Data3)和在本身存储的上述数据还原处理中所必须的数据(Dtata4),根据在所述更新信息产生部16-4中的“异或”运算等,实施处于所述故障状态的存储器1-2中存储的数据(Data2)的还原处理,进而,使用还原的数据(Data2)实施对于所述上位装置2的读出数据帧信息的发送处理。
在实施所述数据还原处理的最后级的存储器,即,产生对于上位装置的最后型的数据帧信息的存储器中,消除表示所述用户数据段的数据是否有效的标记(Data Valid bit)区域,最好作为仅由用户数据构成的有效负载向上位装置发送。
而且,作为对上位装置2的状态信息的发送处理,在实施上位数据的最后级的存储器,即,产生对于上位装置的最后型的数据帧信息的存储器中,利用产生发送根据自前级装置接收的状态信息和本身状态信息的新状态信息,实现对上位装置2的状态信息的产生。
而且,在上述实施例中,以在上述存储器1-2以外的存储器中处理来自仅对于在处于故障状态的存储器1-2中存储的数据的上位装置2的读出数据指令为例进行说明,但不仅限于此,例如,在对于存储在存储器1-1/2中的数据的读出数据指令的情况下,在上述存储器1-4中,使用在所述存储器1-1接收的数据(Data1)和本身还原的数据(Data2),可产生/发送对上位装置的最后数据帧信息。
(2)对故障存储器的写入处理(实现多台存储器中的冗余数据更新处理)
图36是表示在上述存储器1-2以外的存储器中,处理来自对处于故障状态下的存储器1-2的上位装置2的写入数据指令情况下数据传输处理例子。
在所述接收指令存储部26中存储上述存取指令信息的存储器1-2以外的存储器,根据上述存取指令信息和所述协调控制信息29,判别是否由本身实施数据更新处理,或,是否本身实施随着该存取指令的冗余数据更新处理。
判断为不实施所述数据更新处理,或,冗余数据更新处理的存储器,如果必要,通过所述盘控制部14,开始对在盘部11中存储的上述冗余数据更新处理中所必要的数据(图中的Data1、Data3)的盘读出处理。
在以下的说明中,位于最前级(最早接收来自上位装置的信息)存储器开始涉及上述冗余数据更新处理的数据发送,位于最后级(最后接收来自上位装置的信息)存储器尽管以实施上述数据还原处理的情况为例进行说明,但是,不仅限于此。
在本身许可涉及所述冗余数据更新处理的数据发送开始的存储器1-1中,例如,把本身数据(Data1)存储在所述用户数据段0中,把来自上位装置2的接收的新数据(Data2)存储在所述用户数据段1中,还有,实施在对应所述用户数据段0/1的标记上设定为“有效”,在对应其他用户数据段的标记上设定“无效”的前述数据帧信息的发送处理,还有,在涉及该处理的状态信息的产生发送后,通过消除所述存取指令,结束一系列写入数据指令处理。
而且,在被禁止本身开始与所述冗余数据更新处理相关的数据发送的存储器1-3中,在自上述存储器1-1中接收的上述数据帧信息上追加存储本身数据(Data3)的用户数据段2,进而,实施在对应所述用户数据段2的标记上设定“有效”的数据帧信息产生/发送处理,另外,在产生发送根据涉及该状态信息和自前级装置接收的状态信息的新状态信息之后,通过消除所述存取指令,结束一系列写入数据指令处理。
还有,在判断为本身实施所述冗余数据更新处理的存储器1-4中,从最后从上述存储器1-3中接收的数据(Data1、Data2、Dtata3),利用在所述更新信息产生部16-4中的“异或”运算等,产生新冗余数据(DataP),再有通过把产生的冗余数据(DataP)通过所述盘控制部14-4存储在盘部11-4中,实现冗余数据更新处理。
还有,在存储器1-4中,产生根据涉及上述处理的状态信息和自前级装置接收的状态信息的新状态信息,在实施对上位装置2的发送处理之后,通过消除所述存取指令,结束一系列写入数据指令处理。
再有,在上述冗余数据更新处理时,检出是否所述Data Valid bit区域对应的标记被设定成“有效”,实施对于只是被设定成“有效”的情况下的冗余数据的更新处理,通过在“无效”设定剩下的情况下把接收的数据帧信息向后级装置再发送,例如,即使在实施冗余数据更新的存储器的后级放置数据更新对象的存储器的情况下,也能实现上述冗余数据更新处理。
并且,在上述实施例中,尽管以在上述存储器1-2以外的存储器中处理来自仅对存储于处于故障状态下的存储器1-2中的数据的上位装置2的写入数据指令的情况为例进行说明,但不仅限于此,例如,对于在存储器1-1/2中存储的数据的写入指令情况下,在上述存储器1-1中,不实施上述盘读出处理,通过把来自上位装置2接收的新数据(Data1、Data2)内的对本身的新数据(Data1)利用所述盘控制部14-1存储马盘部11-1中,实现数据更新处理,另外,把自上位装置2接收的新数据(Data1、Data2)存储在所述用户数据段0/1中,还有,实施把对应于所述用户数据段0/1的标记上设定“有效”,对应于其他用户数据段的标记上设定为“无效”的所述数据帧信息的发送处理,再有,在涉及该处理的状态信息的产生发送后,通过消除所述存取指令,可结束一系列写入数据指令处理。
并且,在上述协调控制信息29中,最好可通过上位装置设定,并且,理想的是利用本身判断可设定所述工作模式信息等。
第六实施例(多路径控制)
下面利用图37、38说明本发明第六实施例。
第六实施例的技术方案是,上述实施例的存储器再设置多个接口设备控制部,使用不同的接口设备(传输路径)实现来自上位装置的存取信息和在构成存储器子系统的存储器之间传输的用户数据的传输处理。
图37是表示由多台(N,N>;1)存储器1构成的存储器子系统4和由上位装置2构成的信息处理系统的一个例子图。
在该图中,构成存储器子系统4的每个存储器1具有多个接口设备控制部A/B(13-a/b),使用各接口设备控制部A13-a,与前述实施例一样,通过所述上位装置2和环型接口设备3-a直接连接。同时,使用该接口设备控制部B13-b,构成存储器子系统4的每个存储器1通过环型接口设备3-b连接。
另外,作为上述信息处理系统的构成例子,尽管使用所述接口设备控制部B13-b通过环型接口设备3-b仅连接构成存储器子系统4的每个存储器1,根据后述,并不限于此。
下面,以在构成存储器子系统4的存储器1-2中故障发生的状态下,通过上位装置2对存储在处于上述故障状态下的存储器1-2中的数据的读出数据指令,除上述存储器1-2的其他存储器协调处理情况为例说明其工作。
图38是表示在上述存储器1-2以外的存储器中处理来自上位装置2的对存储在处于故障状态的存储器1-2中的数据的读出数据指令情况下的数据传输处理例的图。
在上述接收指令存储部26中通过接口控制部A13-a存储上述存取指令信息的存储器1-2以外的存储器,与前述实施例一样,根据上述存取指令信息和所述协调控制信息29,在处理该存取指令时,检出在处于故障状态的存储器1-2中存储数据的还原处理是必要的,再判别本身是否实施该数据还原处理。
判断为处于故障状态的存储器中存储的数据的还原处理是必要的存储器,如果必要,通过所述盘控制部14,开始对于存储在盘部11中的上述数据还原处理中必要的数据(图中Data1、Data3、Dtata4)的盘读出处理。
在被许可本身开始与所述数据处理相关的数据的发送的存储器1-1中,例如,在所述用户数据段0中存储本身数据(Data1),再使用与接收所述存取指令信息的接口设备控制部A不同的接口设备控制部B,实施在对应所述用户数据段0的标记上设定“有效”,在对应其他用户数据段的标记上设定“无效”的所述数据帧信息发送处理,再在涉及该处理的状态信息产生发送之后,通过消除所述存取指令,结束一系列读出数据指令处理。
而且,在被禁止本身开始与所述数据还原处理相关的数据的发送的存储器1-3中,在从所述存储器1-1接收的上述数据帧信息上追加存储本身数据的用户数据段1,与上述存储器1-1一样使用与接收上述存储指令信息的接口设备控制部A不同的接口控制部B,实施在对应上述用户数据段1的标记上设定“有效”的数据帧信息产生/发送处理,再实施根据涉及该处理的状态信息和从前级装置接收的状态信息的新状态信息的产生发送处理,然后,利用消除所述存取指令,结束一系列读出数据指令处理。
再在判断为本身实施所述数据还原处理的存储器1-4中,用来自上述存储器1-1/3通过所述接口控制部13-4b接收的数据(Data1、Data3)和本身存储的对于上述数据还原处理必要的数据(Data4),根据在所述更新信息产生部16-4中的“异或”运算等,实施在处于所述故障状态的存储器1-2中的数据(Data2)的还原处理,进而,把还原的数据(Data2)用于所述接口设备控制部A13-4a,实施对所述上位装置2的读出数据帧信息的发送处理。
尽管对详细说明作了省略,但在写入数据处理中也一样,使用与接收来自上位装置的存取指令信息的接口设备不同的接口设备,可在构成存储器子系统的存储器之间实现协调的数据传输处理。
并且,在上述说明中,尽管使用与接收来自上位装置存取指令信息的接口设备不同的接口设备,以实施在构成存储器子系统的存储器之间协调的数据传输处理的情况为例进行说明,但是,不仅限于此。例如,根据帧发送时的接口设备的工作状态,也可选择进行在实施所述协调处理的存储器之间的数据传输处理的接口设备,在实施该数据传输处理的接口设备上连接上位装置无任何问题。
在以上说明的诸实施例中具有以下效果。
根据本发明第一实施例,在由多个存储器构成的存储器系统中,通过构成该存储器系统的每个存储器设有:在所述多个存储器中共有上位装置对存储器系统的存取指令的部件;对于上述共有的存取指令判别是否应由本身处理的部件;还有,把上位装置对存储器发送的写入数据,至少传输到判断为应处理的存储器中的部件;无需控制每个存储器的控制装置,而且,可实现存储器利用率提高的存储器系统。
根据本发明的第二实施例,在由多个存储器构成的存储器系统中,构成所述存储器系统的至少一台存储器接受上位装置对存储器系统的存取指令,再在该存储器中,实施应处理上述存取指令的存储器的判别,在必要的情况下,设置向应处理的存储器传输所述上位装置对存储器系统的存取指令的部件,无需控制各个存储器的控制装置,而且,可实现存储器利用率提高的存储器系统。
根据本发明的第三实施例,在由多个存储器构成的存储器系统中,构成存储器系统的每个存储器设有:至少共有上位装置对存储器系统的写入数据指令的部件;对于上述共有的写入数据指令,同步实施在成对的多个存储器之间写入数据传输处理和对于该写入数据指令的状态信息的发送处理的部件;这样无需控制每个存储器的控制装置,可实现减轻接口设备负荷的存储器系统。