存储控制装置和存储控制装置的控制方法

文档序号:6351907阅读:146来源:国知局
专利名称:存储控制装置和存储控制装置的控制方法
技术领域
本发明涉及一种存储控制装置和存储控制装置的控制方法。
背景技术
企业等用户使用存储控制装置对数据进行管理。存储控制装置将多个存储装置各自具有的物理存储区域作为基于RAID (Redundant Array of Independent Disks :独立磁盘冗余阵列)的冗余的存储区域进行分组。存储控制装置使用分组后的存储区域生成逻辑卷并提供给主计算机(以下为主机)。存储控制装置当接收到来自主机的读取请求时,对硬盘指示数据的读取。从硬盘读取出的数据进行地址变换后被存储到闪速存储器中,并被发送到主机。 硬盘在记录介质或磁头产生了某些问题而无法从记录介质读取数据的情况下,要花费时间重试。在即使执行重试处理也无法从记录介质读取数据的情况下,存储控制装置执行集合复制来生成从主机请求的数据。集合复制是指从属于与发生了故障的硬盘相同的奇偶校验组的其它的各硬盘读取数据和奇偶校验位来使数据恢复的方法(专利文献I)。专利文献I :日本特开2007-213721号公报

发明内容
如果在硬盘内进行重试处理,则从主机发出的读取请求被处理的时间变长。因此,存储控制装置的响应性能变差,由主机上的应用程序提供的服务的质量下降。如果主机上运行的应用程序不介意响应时间,则不会产生特别的问题。但是,在例如售票程序、预约程序、运动图像传送等那样必须在短时间内处理来自客户机的大量访问的应用程序的情况下,如果存储控制装置的响应时间变长,则服务质量下降。因此,本发明的目的在于提供一种存储控制装置和存储控制装置的控制方法,其即使在存储装置的响应时间较长的情况下也能够抑制存储控制装置响应上位装置的响应时间变长。本发明的其它目的从后述的实施方式的记载中将变得清楚。为了解决上述问题,按照本发明的第一观点的存储控制装置响应于来自上位装置的请求对数据进行输入、输出,该存储控制装置具备多个存储装置,该多个存储装置对数据进行存储;以及控制器,其与上位装置及各存储装置连接,响应于来自上位装置的请求,使数据向各存储装置中规定的存储装置进行输入输出,其中,控制器当从上位装置接收到访问请求时,在规定的情况下将超时时间设定为比第一值短的第二值,并向各存储装置中的规定的存储装置请求读取与访问请求对应的规定数据,在所设定的超时时间内无法从规定的存储装置获取数据的情况下,检测为发生超时错误,第一管理部用于管理在各存储装置内发生的故障,在检测到超时错误的情况下,由不同于该第一管理部的第二管理部对超时错误的发生进行管理,并且向与规定的存储装置相关联的其它的存储装置请求读取与规定的数据对应的其它的数据,根据从其它的存储装置获取的其它的数据,生成规定的数据,并将所生成的规定的数据传输到上位装置。
第二观点是在第一观点的基础上,其特征在于,控制器具备第一通信控制部,其用于与上位装置进行通信;第二通信控制部,其用于与各存储装置进行通信;以及存储器,其由第一通信控制部和第二通信控制部使用,在存储器中存储有超时时间设定用信息,该超时时间设定用信息用于判断将超时时间设定为第一值和第二值中的哪一个值,超时时间设定用信息,包含将各存储装置设为对象的队列的数量;排队模式被设定为先入先出模式时的先入先出用阈值;以及排队模式被设定为按照逻辑地址从近到远的顺序进行排序的排序模式时的小于先入先出用阈值的排序用阈值,当第一通信控制部接收到来自上位装置的访问请求时,第二通信控制部根据超时时间设定用信息,在将规定的存储装置设为对象的队列的数量为对规定的存储装置设定的排队模式所对应的先入先出用阈值和排序用阈值中的任一个值以上的情况下,选择第一值作为从规定的存储装置读取规定的数据时的超时时间,在将规定的存储装置设为对象的队列的数量小于对规定的存储装置设定的排队模式所对应的先入先出用阈值和排序用阈值中的任一个值的情况下,选择小于第一值的第二值作为从规定的存储装置读取规定的数据时的超时时间,第二通信控制部向规定的存储装置请求读取规定的数据,第二通信控制部在所设定的超时时间内无法从规定的存储装置获取规定的数据的情况下,检测超时错误的发生,第二通信控制部在检测出超时错误的情况下,使不同于用于管理在各存储装置内发生的故障的第一管理部的第二管理部对超时错误的发生进行管理,用于使与发生了故障的存储装置有关的规定的恢复处理开始的恢复用阈值 的值,被设定为第二管理部大于第一管理部,第二通信控制部设定第一值被选择的其它的超时时间,来向与规定的存储装置相关联的其它的存储装置请求读取与规定的数据对应的其它的数据,根据从其它的存储装置获取的其它的数据来生成规定的数据,将所生成的规定的数据输送到上位装置,第二通信控制部在其它的超时时间内无法从其它的存储装置获取其它的数据、且选择了第二值作为超时时间的情况下,将超时时间变更为第一值,并再次向规定的存储装置请求读取规定的数据。第三观点是在第一观点的基础上,其特征在于,第一管理部将在各存储装置中发生的故障的数量与用于使与发生了故障的存储装置相关的规定的恢复处理开始的恢复用阈值相对应地进行管理,第二管理部将在各存储装置中发生的超时错误的数量与用于使与发生了超时错误的存储装置相关的规定的恢复处理开始的其它恢复用阈值相对应地进行管理,由第二管理部进行管理的其它恢复用阈值被设定成大于由第一管理部进行管理的恢复用阈值。第四观点是在第一观点的基础上,其特征在于,控制器在对规定的存储装置设定了用于保证规定时间内的响应的保证模式的情况下,将从规定的存储装置读取规定的数据时的超时时间设定为第二值。第五观点是在第一观点的基础上,其的特征在于,控制器在将与规定的存储装置有关的排队模式设定为先入先出模式的情况下,将从规定的存储装置读取规定的数据时的超时时间设定为第二值。第六观点是在第一观点的基础上,其特征在于,在规定的存储装置是预先指定的低速的存储装置以外的存储装置的情况下,控制器将从规定的存储装置读取规定的数据时的超时时间设定为第二值。第七观点是在第一观点的基础上,其特征在于,在将规定的存储装置设为对象的队列的数量小于规定的阈值的情况下,控制器将从规定的存储装置读取规定的数据时的超时时间设定为第二值。第八观点是在第一观点的基础上,其特征在于,控制器具备超时时间设定用信息,该超时时间设定用信息是用于判断将超时时间设定为第一值和第二值中的哪一个的超时时间设定用信息,并且包含将各存储装置设为对象的队列的数量、排队模式被设定为先入先出模式时的先入先出用阈值、以及排队模式被设定为按照逻辑地址从近到远的顺序进行排序的排序模式时小于先入先出用阈值的排序用阈值,并且控制器在将规定的存储装置设为对象的队列的数量为与对规定的存储装置设定的排队模式对应的先入先出用阈值和排序用阈值中的任一个值以上的情况下,选择第一值作为从规定的存储装置读取规定的数据时的超时时间,在将规定的存储装置设为对象的队列的数量小于与对规定的存储装置设定的排队模式对应的先入先出用阈值和排序用阈值中的任一个值的情况下,选择小于第一值的第二值作为从规定的存储装置读取规定的数据时的超时时间。第九观点是在第一观点的基础上,其特征在于,控制器在检测出超时错误的情况下,设定第一值被选择的其它的超时时间,来向与规定的存储装置相关联的其它的存储装置请求读取与规定的数据对应的其它的数据。 第十观点是在第一观点的基础上,其特征在于,控制器在检测出超时错误的情况下,设定第二值被选择的其它的超时时间,来向与规定的存储装置相关联的其它的存储装置请求读取与规定的数据对应的其它的数据。第^^一观点是在第十观点的基础上,其特征在于,控制器在其它的超时时间内无法从其它的存储装置获取其它的数据的情况下,将超时时间变更为第一值,再次向规定的存储装置请求读取规定的数据。第十二观点是在第十观点的基础上,其特征在于,控制器在其它的超时时间内无法从其它的存储装置获取其它的数据的情况下,向用户通知该情况。本发明也能够作为存储控制装置的控制方法进行掌握。并且,本发明的结构的至少一部分能够构成为计算机程序。该计算机程序能够固定在存储介质中进行发布、或者经由通信网络分发。并且,上述观点的组合以外的其它组合也包含在本发明的范围内。


图I是表示本发明的实施方式整体概念的说明图。图2是表示包括存储控制装置的系统的整体结构的说明图。图3是存储控制装置的框图。图4是表示插槽与存储装置的匹配状态的说明图。图5是表示排队模式的差异的说明图。图6是对存储装置与虚拟盘(RAID组)的关系进行管理的表。图7是对虚拟盘进行管理的表。图8是对能够从管理终端设定的模式进行管理的表。图9是用于管理作业的表。图10是表不读取处理的流程图。图11是表示分阶段处理的流程图。
图12是表示集合读取处理的流程图。图13是表示错误计数处理的流程图。图14表示对错误计数进行管理的表。图15是表示用于将超时时间设定得比普通值短的方法的说明图。图16涉及第二实施例,是对用于设定超时时间的阈值进行管理的表。图17涉及第三实施例,是表示集合读取处理的流程图。图18涉及第四实施例,是对分阶段处理的状态进行管理的表。图19是表示分阶段处理的流程图。
图20是继图19之后的流程图。图21是集合读取处理的流程图。图22涉及第五实施例,是表示分阶段处理的流程图。图23是对各存储装置的响应时间进行管理的表。图24是第六实施例所涉及的系统的整体结构图。图25是分阶段处理的流程图。图26是继图25之后的流程图。
具体实施例方式下面,根据

本发明的实施方式。首先参照图I说明本发明的概要,然后参照图2以后的

实施例。图I以本发明的理解以及实施所需要的程度进行了记载。本发明的范围不限定于图I所记载的结构。图I没有记载的特征将在后述的实施例中变得清楚。图I表示整体概要。在图I的左侧示出计算机系统的结构,在其右侧示出处理的概要。计算机系统具备存储控制装置I和作为上位装置的主机2。存储控制装置I具备控制器3和存储装置4。控制器3具备作为第一通信控制部的通道适配器5、存储器6、以及作为第二通信控制部的磁盘适配器7。在下面的说明中,将通道适配器简记为CHA、将磁盘适配器简记为DKA。用图I中的虚线包围的范围表示DKA7的处理内容。作为存储装置4,例如能够利用硬盘装置、半导体存储器装置、光盘装置、光磁盘装置、磁带装置、软盘装置等的能够读写数据的各种装置。在作为存储装置使用硬盘装置的情况下,例如能够使用FC(Fibre Channel :光纤通道)盘、SCSI (Small Computer System Interface :小型计算机系统接口 )盘、SATA盘、ATA(AT Attachment)盘、SAS(Ser ial Attached SCSI)盘等。在作为存储装置使用半导体存储器装置的情况下,例如能够利用闪速存储器、FeRAM(Ferroelectric Random Access Memory) > MRAM(Magnetoresistive Random Access Memory)、相变化存储器(OvonicUnified Memory) > RRAM (Resistance RAM) > PRAM (Phase change RAM)等各种存储器装置。在主机2上运行的应用程序向存储控制装置I发出访问请求(图中“10”)。在访问请求中有读取请求和写入请求。读取请求用于请求从存储装置4读取数据。写入请求用于请求向存储装置4写入数据。在存储控制装置I处理写入请求的情况下,首先进行已有数据的读取的情况也较多。也就是说,在处理写入请求的情况下,在存储控制装置I内进行数据的读取。
CHA5当接收到来自主机2的访问请求(例如读取请求)时,生成用于获取所请求的数据的作业(SI)。DKA7当检测到由CHA5创建的作业时,向存储有主机2所请求的数据的规定的存储装置4发出读取请求(S2)。接收到读取请求的存储装置4将从存储介质读取数据(S3)。DKA7设定从存储装置4获取到数据为止所需要的上限时间(超时时间)(S4)。下面,有时将超时时间简记为TOV(Time Out Value)。预先准备了多个T0V。是作为第一值的TOVl和作为第二值的T0V2。TOVl是通常被设定的值。T0V2是在重视响应性能的情况下被设定的值,被设定为比TOVl短的值。因而,也能够将TOVl换称为普通值、将T0V2换称为缩短值。在一个例子中,TOVl被设定为4-6秒左右。T0V2被设定为I秒左右、例如0. 9秒左右。T0V2被设定成集合读取处理所需要的时间与T0V2的合计值收敛于例如2秒左右的规定时间。
DKA7根据预先设定的条件,将超时时间设定为TOVl和T0V2中的某一个。稍后记述详情,例如在设定了保证存储控制装置I的响应时间的模式的情况下,选择T0V2。在与读取对象的存储装置3有关的排队模式(队列的处理方法)被设定为先入先出(FIFO =FirstIn First Out)模式的情况下,选择T0V2。在读取对象的存储装置4是低速的存储装置以外的情况下,选择T0V2。并且,也能够根据读取对象的存储装置4的运行状况(负荷状况)来选择TOVl和T0V2中的任一个。在所设定的超时时间内存在来自存储装置4的响应的情况下,从存储装置4读取出的数据通过CHA5发送到主机2。与此相对地,在存储装置4的内部发生了某些错误而无法在超时时间内进行响应的情况下,DKA7判断为发生超时错误(S5)。DKA7使用于管理超时错误的管理部(第二管理部)存储超时错误(超时故障)的发生。从存储装置4报告的普通的故障被存储到用于管理存储装置的普通故障的管理部(第一管理部)中。DKA7当检测出超时错误时,将在S3中发出的读取请求复位(S7)。DKA7开始进行集合读取处理(S8)。集合读取处理是指从属于与检测出超时错误的存储装置4相同的奇偶校验组的其它的各存储装置4读取属于与最初的读取对象数据相同的条状列的其它的数据(和奇偶校验位)并通过逻辑运算生成最初的读取对象数据的处理。集合读取处理也被称为集合复制处理。DKA7将被恢复的数据传送到闪速存储器(S9)。虽然省略了图示,但是CHA5将被传送到闪速存储器的数据发送到主机2。由此,从主机2接收到的读取请求(读取命令)的处理完成。在这样构成的本实施方式中,DKA7在满足规定的条件的情况下,针对向存储装置4发送的读取请求设定较短的超时时间T0V2,在产生了超时错误的情况下,使读取请求复位,执行集合读取处理。因而,即使在由于高负荷等原因而导致读取对象的存储装置4的响应性能下降的情况下,由于在经过了 T0V2时进行集合读取处理,因此也能够防止存储控制装置I的响应性能下降。存储控制装置I的响应时间为将集合读取处理所需要的时间与T0V2相加得到的值,能够在规定的响应时间内向主机2发送数据。
在本实施方式中,例如在设定了响应时间保证模式的情况、排队模式是FIFO的情况、不是低速的存储装置的情况、存储装置不是高负荷的情况下,将从存储装置4读取数据时的超时时间设定为比普通情况短的值T0V2。因而,在本实施方式中,能够根据状况防止存储控制I的响应性能下降。在本实施方式中,由与对普通的存储装置的故障进行管理的管理部不同的管理部管理超时错误。因而,在本实施方式中,能够分开为超时错误和普通的故障来控制与发生了故障的存储装置4有关的恢复处理(例如将该存储装置4的数据复制到预备的存储装置的处理、或者通过集合复制处理使该存储装置4内的数据恢复的处理)的启动。也就是说,在本实施方式中,为了防止存储控制装置I的响应性能的下降,而在规定条件下,将从存储装置4读取数据时的超时时间设定为比以往的值TOVl短的值T0V2。因而,根据存储装置4的状态,有可能发生比较多的超时错误。当对超时错误和普通的故障共同地进行管理时,将两方加在一起的故障计数超过阈值的可能性变高,从而进行恢复处理的次数增加。当频繁地进行恢复处理时,存储控制装置I的负荷增大,有可能对存储控制装 置I的响应性能带来不良影响。因此,在本实施方式中,将超时错误与普通的存储装置故障分开进行管理。实施例I图2表示包括本实施例所涉及的存储控制装置10的系统的整体结构。该系统例如能够包括至少一个存储控制装置10、一个或多个主机20以及至少一个管理终端30。说明与之前在图I中记述的实施方式的对应关系。存储控制装置10对应图I的存储控制装置I,存储装置210对应图I的存储装置4,主机20对应图I的主机2,控制器100对应图I的控制器3,通道适配器110对应图I的CHA5,磁盘适配器120对应图I的DKA7,闪速存储器130和共享存储器140对应图I的存储器6。首先说明主机20和管理终端30,然后说明存储控制装置10。主机20例如被构成为主机计算机或者服务器计算机。主机20经由通信网络CNl与存储控制装置10相连接。通信网络 CNl 例如能够构成为 FC-SAN(Fibre Channel-Storage Area Network)、或者IP-SAN(Internet Protocol SAN)那样的通信网络。管理终端30经由通信网络CN3与存储控制装置10内的服务处理器160进行连接。服务处理器160经由内部网络CM与CHAllO等进行连接。通信网络CN3、CM例如被构成为如LAN(Local Area Network)那样的通信网络。管理终端30通过服务处理器(以下为SVP) 160收集存储控制装置10内的各种信息。并且,管理终端30能够通过SVP160指示存储控制装置10内的各种设定。说明存储控制装置10的结构。存储控制装置10能够大致分为控制器100和存储装置装载部200。控制器100例如构成为具备至少一个以上的CHA110、至少一个以上的DKA120、至少一个以上的闪速存储器130、至少一个以上的共享存储器140、连接部(图中的“SW”)150、&&SVP160。此外,也可以是将多个控制器100通过开关相互连接的结构。例如也能够由多个控制器100构成簇。CHAllO用于控制与主机20之间的数据通信,例如被构成为具备微处理器和本地存储器等的计算机装置。各CHAllO具备至少一个以上的通信端口。DKA120用于控制与各存储装置210之间的数据通信,与CHAl 10同样地被构成为具备微处理器和本地存储器等的计算机装置。各DKA120与各存储装置210例如通过按照光纤通道协议的通信路径CN2进行了连接。各DKA120与各存储装置210进行以块为单位的数据传送。控制器100访问各存储装置210的路径被冗长化。即使在某一方的DKA120或通信路径CN2中产生了故障的情况下,控制器100也能够利用另一方的DKA120或者通信路径CN2访问存储装置210。同样地主机20与控制器100之间的路径也能够被冗长化。CHAllO和DKA120的结构稍后在图3中记述。简单地说明CHAllO和DKA120的动作。CHAllO当接收到从主机20发出的读取命令时,将该读取命令存储到共享存储器140中。DKA120随时参照共享存储器140,当发现未处理的读取命令时,从存储装置210读取数据并存储到闪速存储器130。CHAllO读取被转移到闪速存储器130的数据,并发送到主机20。将DKA120从存储装置210读取出的数据传送到闪速存储器130的处理称为分阶段处理。稍后详细记述分阶段处理。
另一方面,CHAllO当接收到从主机20发出的写入命令时,将写入命令存储到共享存储器140。另外,CHAllO将接收到的写入数据存储到闪速存储器130。CHAllO在使闪速存储器130存储了写入数据之后,向主机20报告写入完成。DKA120按照存储在共享存储器140中的写入命令,读取存储在闪速存储器130中的数据,并存储到规定的存储装置210。闪速存储器130例如存储从主机20接收到的用户数据等。闪速存储器130例如由易失性存储器或非易失性存储器构成。共享存储器140例如由非易失性存储器构成。在共享存储器140中存储后述的各种表T、管理信息等。共享存储器140和闪速存储器130能够混合设置在同一存储器基板上。或者,也能够将存储器的一部分用作高速缓存区域、将另一部分用作控制区域。连接部150使各CHAl 10、各DKA120、以及闪速存储器130和共享存储器140分别进行连接。由此,所有的CHA110、DKA120能够分别访问闪速存储器130和共享存储器140。连接部150例如能够构成为纵横开关等。SVP160经由内部网络CM分别与各CHA110和各DKA120进行了连接。另外,SVP160经由通信网络CN3与管理终端30进行连接。SVP160收集存储控制装置10内部的各种状态,并提供给管理终端30。此外,SVP160也可以仅与CHAllO和DKA120中的某一方进行连接。这是因为SVP160能够通过共享存储器140收集各种状态信息。控制器100的结构不限定于上述的结构。例如也可以是在一个或多个控制基板上分别设置进行与主机20之间的数据通信的功能、进行与存储装置210之间的数据通信的功能、暂时保存数据的功能、以及可重写地保存各种表类的功能。针对存储装置装载部200的结构进行说明。存储装置装载部200具备多个存储装置210。各存储装置210例如被构成为硬盘装置。不限于硬盘装置,也存在能够使用闪速存储器装置、光磁存储装置、全息照相存储器装置等的情况。虽然根据RAID结构等的不同也存在差异,但是例如由两个一组或四个一组等规定数量的存储装置210构成奇偶校验组220。奇偶校验组220是将奇偶校验组220内的各存储装置210各自具有的物理存储区域虚拟化得到的。因而,奇偶校验组220是虚拟化得到的物理存储区域。有时将该虚拟化得到的物理存储区域在本实施例中称为VDEV。能够在该虚拟化得到的物理存储区域中设置一个或多个逻辑存储装置(LDEV) 230。逻辑存储装置230与LUN (Logical Unit Number)相对应,被提供给主机20。逻辑存储装置230也被称为逻辑卷。图3是表示CHAllO和DKA120的结构的框图。CHAllO例如具备协议芯片IlUDMA电路112、以及微处理器113。协议芯片111是用于进行与主机20的通信的电路。微处理器113控制CHAllO的整体动作。DMA电路112是用于通过DMA (Direct Memory Access)方式进行协议芯片111与闪速存储器130之间的数据传送的电路。DKA120与CHAllO同样地例如具备协议芯片121、DMA电路112以及微处理器123。并且,DKA120还具备奇偶校验生成电路124。协议芯片121是用于与各存储装置210进行通信的电路。微处理器123控制DKA120的整体动作。奇偶校验生成电路124是通过根据存储在闪速存储器130中的数据进行规定的逻辑运算来生成奇偶校验数据的电路。DMA电路122是用于通过DMA方式进行存储装置210与闪速存储器130之间的数据传送的电路。
图4是示意性地表示插槽300与存储装置210的匹配状态的说明图。图4的(a)表示RAID5的情况,图4的(b)表示RAIDl的情况。图4的(a)表示由三个数据磁盘(#0、#1、#2)以及一个奇偶校验磁盘(#3)构成3D+1P的RAID5的情况。在数据磁盘(#0)中配置插槽#0 插槽#7,在数据磁盘(#1)中配置插槽#8 插槽#15,在数据磁盘(#2)中配置插槽#16 插槽#23,在右侧的奇偶校验磁盘(#3)中配置奇偶校验位#0 #7。即,在各数据磁盘分别配置连续的八个插槽。将奇偶校验位为八个插槽量(#0 #7)的尺寸称为奇偶校验循环。在图示的奇偶校验循环的下一个奇偶校验循环中,在磁盘(#3)的左侧相邻的磁盘(#2)中存储奇偶校验位。并且,在下一个奇偶校验循环中,在磁盘(#1)中存储奇偶校验位。这样,存储奇偶校验位的磁盘在每个奇偶校验循环中都进行移动。从图4的(a)可知,一个奇偶校验循环所包含的插槽的数量可以通过数据磁盘的数量乘以8来求出。图5示意性地表示队列的处理方法。图5的(a)示出了第一号至第七号的合计七个队列。图5的(a)的横轴表示存储装置210的存储区域上的逻辑地址。队列的编号表示命令的接收顺序。队列间的距离对应逻辑地址上的距离。图5的(b)表不队列的处理方法(模式)。作为排队模式,例如已知有FIFO模式和排序模式。在FIFO模式中,从先接收到的队列开始进行处理。因而,从第一号队列至第七号队列按顺序依次进行处理。与此相对地,在排序模式中,为了尽可能地缩短转动等待时间和查找等待时间而将队列重新排序。在图示的例子中,以第一号队列、第六号队列、第三号队列、第五号队列、第四号队列、第二号队列的顺序进行处理。第二号队列虽然在较早的时期生成,但是其处理被推迟进行。如果在第四号队列的处理完成之前接收到了第七号队列,则紧接着第四号队列之后处理第七号队列,最后处理第二号队列。如图5所示那样访问集中于特定的窄区域,在极少数情况下接收到在远离的位置进行访问的命令时,这一个远离的命令的处理不断地被后来接收到的命令超越。这一个远离的命令有可能长时间(例如一秒左右)不被处理。这样,排序模式与FIFO模式相比平均响应时间变快,但是响应时间的最大值也变大。图6表示对装置ID与VDEV的对应关系进行管理的表TlO。该管理表TlO被存储在共享存储器140中。CHA110、DKA120能够将表TlO的至少一部分复制到CHA110、DKA120内的本地存储器中进行使用。装置ID-VDEV对应关系管理表TlO对逻辑卷230与作为虚拟的中间存储装置的VDEV220的对应关系进行管理。管理表TlO例如将装置ID栏Cl 1、VDEV编号栏C12、开始插槽栏C13、以及插槽数栏C14相对应地进行管理。在装置ID栏Cll中存储用于识别逻辑卷230的信息。在VDEV编号栏C12中存储用于识别VDEV220的信息。在开始插槽栏C13中存储表示逻辑卷230从VDEV220内的哪个插槽开始的插槽编号。在插槽数栏C14中存储构成逻辑卷230的插槽数。图7表示用于管理VDEV220的表T20。管理表T20被存储在共享存储器140中。CHAllO和DKA120能够将管理表T20的至少一部分复制到本地存储器中进行使用。VDEV管理表T20例如将VDEV编号栏C21、插槽尺寸栏C22、RAID等级栏C23、数据驱动数栏C24、奇偶校验循环插槽数栏C24、磁盘类型栏C26、排队模式栏C27、以及响应时间保证模式栏C28相对应地进行管理。 在VDEV编号栏C21中存储识别各VDEV220的信息。在插槽尺寸栏C22中存储与VDEV相对应的插槽的数量。在RAID等级栏C23中存储如RAIDl RAID6那样的表示RAID的种类的信息。在数据驱动数栏C24中存储保存数据的存储装置210的数量。在奇偶校验循环插槽数栏C24中存储一个奇偶校验循环所包含的插槽的数量。该插槽数表示在存储装置210中配置插槽的情况下在多少个插槽中转向移动到下一个存储 装置210。在磁盘类型栏C25中存储构成VDEV220的存储装置210的种类。在排队模式栏C27中存储应用于VDEV220的排队模式的种类。在FIFO模式的情况下在排队模式栏C27中设定“0”,在排序模式的情况下在排队模式栏C27中设定“I”。响应时间保证模式栏C28存储响应时间保证模式的设定值。响应时间保证模式是指保证将VDEV220的响应时间收敛于规定时间内的模式。在存储了“I”的情况下,表示响应时间保证模式被设定。图8表示模式设定表T30。模式设定表T30通过SVP160由管理终端30进行设定。模式设定表T30针对存储控制装置10整体设定排队模式和响应时间保证模式。模式设定表T30具备项目栏C31以及设定值栏C32。在项目栏C31中存储排队模式和响应时间保证模式。在设定值栏C32中存储表示是否设定各模式的值。此外,只要设置模式设定表T30和VDEV管理表T20的排队模式栏C27及响应时间保证模式栏C28中的某一方即可,不需要存储控制装置10具备两方的表T20、T30。也就是说,排队模式以VDEV为单位进行设定(C27)、或者对存储控制装置10整体进行设定(T30)。响应时间保证模式也以VDEV为单位进行设定(C28)、或者对存储控制装置10整体进行设定(T30)。此外,也可以是使VDEV管理表T20和模式设定表T30共通存在的结构。例如只要设为如下结构即可将模式设定表T30的设定值应用于所有的VDEV220,之后针对各VDEV220单独地设定排队模式或响应时间保证模式。图9表不用于管理作业的表T40。作业管理表T40也被称为作业控制模块(JCB)。作业管理表T40管理由内核生成的作业的状态。作业管理表T40例如将JCB编号栏C41、作业状态栏C42、WAIT结束时刻栏C43、启动标志栏C44、故障发生标志栏C45、继承信息栏C46相对应地进行管理。
在JCB编号栏C41中存储用于识别对各作业进行控制的JCB的编号。在作业状态栏C42中存储由JCB管理的作业的状态。作为作业状态,例如有“RUN”、“WAIT”、“未使用”。“RUN”表示作业处于启动状态。当DKA120接收到来自CHAl 10的消息时,DKA120的内核生成作业,对该作业分配一个未使用的JCB。DKA120将分配给作业的JCB的作业状态栏C42从“未使用”变更为“RUN”。“WAIT”表示等待作业的处理完成的状态。“未使用”表示其JCB没有分配给作业。在WAIT结束时刻栏C43中存储将处理等待时间(超时时间)与当前时刻相加得到的值。当前时刻从系统计时器获取。例如当前时刻是“0000”,在设定“1000”作为超时时间的情况下,WAIT结束时刻为1000( = 0000+1000)。在启动标志栏C44中存储用于判断是否重新启动作业的标志的值。当存储装置210的数据输入输出正常结束或异常结束时,通过中断处理将启动标志设定为“I”。在故障发生标志栏C45中存储表示是否在存储装置210中产生了故障的标志的 值。在存储装置210中发生了故障的情况下,在故障发生标志栏C45中设定“I”。在继承信息栏C46中存储重新启动作业时所需的信息。作为这样的信息,例如列举有VDEV编号、插槽编号等。当开始从存储装置210读取数据时,通过接收到读取消息而生成的作业的状态从“RUN”变为“WAIT”。内核定期地监视是否存在“WAIT”状态的作业中的、对启动标志设定了“ I ”的作业、或者WAIT结束时刻超过了当前时刻的作业。在发现了对启动标志设定了“I”的作业、或者经过了 WAIT结束时刻的作业的情况下,DKA120的内核使该作业重新启动。被重新启动的作业的状态从“WAIT”被变更为“RUN”。被重新启动的作业参照继承信息进行处理。当作业完成时,其状态从“RUN”变更为“未使
田,,
川 o参照图10-图13的流程图说明存储控制装置10的动作。各流程图表示各处理的概要,有时与实际的计算机程序不同。如果是所谓的本领域技术人员,则能够变更或删除图示的步骤的一部分、或者追加新的步骤。图10是由CHAllO执行的读取处理的流程图。CHAllO通过微处理器读入存储在CHAllO内的规定的计算机程序并执行来实现图10所示的功能。CHAllO当从主机20接收到读取命令时(SlO),将由该读取命令指定的逻辑地址变换为VDEV编号与插槽编号的组合(Sll)。CHAllO判断是否命中高速缓存(S12)。在已确保与读取对象插槽编号对应的高速缓存区域且读取对象的逻辑模块范围的分阶段位被设定为接通的情况下,判断为命中高速缓存。在没有命中高速缓存的情况下(S12 :否),CHAllO向DKA120发送读取消息(S13)。该读取消息包含VDEV编号、插槽编号、插槽内的开始模块编号、以及对象模块数。CHAllO在向DKAl20发送了读取消息之后,等待由DKA120读取数据的处理(分阶段处理)完成(S14)。CHAllO当从DKA120接收到完成报告时(S15),判断从存储装置的数据读取是否正常结束(S16)。在从存储装置的数据读取正常结束的情况下(S16 :是),CHAllO将存储在闪速存储器130中的数据发送到主机20 (S17),并结束本处理。在从存储装置的数据读取失败的情况下(S16 :否),CHAllO向主机20通知错误(S18),并结束本处理。图11是分阶段处理的流程图。分阶段处理是指从存储装置读取数据并传送到闪速存储器的处理,由DKA120执行。DKA120当接收到来自CHAllO的消息时(S20),在闪速存储器上确保用于保存数据的区域,并且将通过消息指定的地址变换为物理地址(S21)。也就是说,DKA120将读取目的地的地址变换为存储装置编号、逻辑地址以及逻辑模块数的组合,从而向存储装置210请求读取数据(S22)。DKA120在向存储装置210请求读取数据时,设定超时时间(图中为T0V),转变为待机状态(S23)。DKA120将比较长的时间的普通值TOVl和比较短的时间的缩短值T0V2中的某一方设定为超时时间。稍后在图15中记述超时时间的选择方法。如图9记述的那样,用于从存储装置210读取数据的作业变为“WAIT”状态。在对启动标志设定了 “I”的情况下、或者经过了 WAIT结束时刻的情况下,重新启动作业处理 (S24)。DKA120判断数据的读取是正常结束还是异常结束(S25)。在能够从存储装置210向闪速存储器130传送数据的情况下,判断为正常结束。在正常结束的情况下,DKA120将分阶段位设定为接通(S26),向CHAllO报告数据的读取正常结束了的含义(S27)。与此相对地,在从存储装置210的数据读取异常结束的情况下,DKA120判断是否产生了超时错误(S28)。超时错误是指在所设定的超时时间内无法从存储装置210读取数据时的错误。在发生了超时错误的情况下(S28:是),DKA120向存储装置210发出复位命令(S29)。通过复位命令,取消对存储装置210的数据读取请求。DKA120在取消了数据读取请求之后,执行集合读取处理(S30)。稍后在图12中详细记述集合读取处理。在存储装置210中产生了除超时错误以外的故障的情况下(S28 否),DKA120跳过S29转移到S30。然后,DKA120判断集合读取处理是否正常结束(S31)。在集合读取处理正常结束的情况下(S31 :是),DKA120向CHAllO报告读取请求正常结束的含义(S27)。在集合读取处理没有正常结束的情况下(S31 :否),DKA120向CHAllO报告读取请求的处理异常结束(S32)。图12是图11中表示为S30的集合读取处理的流程图。DKA120判断读取对象的存储装置210所属的VDEV220的RAID等级(S40)。在本实施例中,作为一例,判断是RAIDl和RAID5或RAID6中的哪一个。在RAID等级是RAID5或RAID6的情况下,DKA120确定与错误插槽相关联的其它的各插槽的编号(S41)。错误插槽是指无法读取数据的插槽,是产生了某些故障的插槽。与错误插槽相关联的其它的各插槽是指包含在与错误插槽相同的条状列中的其它的插槽。DKA120在闪速存储器130中确保了用于保存从其它的各插槽获取的数据的区域之后,向具有在S41中确定的其它的各插槽的各存储装置210发出读取请求(S42)。并且,DKA120将从各存储装置210读取数据时的超时时间设定为普通值(S43)。在本实施例中,为了更可靠地获取恢复错误插槽内的数据所需的数据,而将超时时间设定为普通值。另一方面,在RAID等级是RAIDl的情况下,DKA120向与发生了错误的存储装置210形成对的存储装置210发出读取请求(S44),并转移到S43。与读取请求有关的作业变为WAIT状态。当启动标志被设定、或者经过WAIT结束时刻时,重新启动作业(S45)。DKA120判断数据的读取是否正常结束(S46)。在没有正常结束的情况下,DKA120使本处理异常结束。在数据的读取正常结束的情况下,DKA120判断RAID等级(S47)。在是RAID5或RAID6的情况下,DKA120根据从各存储装置210读取出的数据和奇偶校验位来恢复数据,将被恢复的数据存储到与错误插槽对应的高速缓存区域(S48)。DKA120将与其插槽有关的分阶段位设定为接通(S49)。在RAIDl的情况下,DKA120跳过S48转移到S49。图13是错误计数处理的流程图。本处理由DKA120执行。DKA120监视是否在存储装置210中发生了错误(故障)(S60)。在发生了错误的情况下(S60 :是),DKA120判断是否为超时错误(S61)。在存储装置210中发生的错误是超时错误的情况下(S61 :是),DKA120将该超时 错误记录到图14所示的错误计数管理表T50的超时故障栏C53中(S62)。在存储装置210中发生的错误是超时错误以外的存储装置错误的情况下(S61 否),DKA120将该错误记录到错误计数管理表T50的HDD故障栏C52中(S63)。参照图14说明错误计数管理表T50。错误计数管理表T50管理在存储装置210中发生的错误的数量和用于执行恢复处理的阈值。错误管理表T50被存储在共享存储器140中,DKA120能够将其一部分复制到本地存储器中进行使用。错误计数管理表T50例如将HDD编号栏C51、HDD故障栏C52、以及超时故障栏C53相对应地进行管理。HDD编号栏C51存储用于识别各存储装置210的信息。HDD故障栏C52管理在存储装置210中产生的普通的故障。HDD故障栏C52具备错误计数栏C520、用于开始向备用的存储装置复制的阈值栏C521、以及用于开始集合复制的阈值栏C522。错误计数栏C520存储有在存储装置中产生的普通的故障的次数。阈值栏C521存储用于开始将数据从产生了错误的存储装置复制到预备的存储装置的“备用(Sparing)处理”的阈值THla。其它的阈值栏C522存储用于开始集合复制处理的阈值THlb。超时故障栏C53对在存储装置210中产生的超时错误进行管理,具备错误计数C530、用于开始备用处理的阈值栏C531、以及用于开始集合复制的阈值栏C532。也就是说,普通的故障的发生次数(错误计数值)与超时错误的发生次数分别分开进行管理。并且,用于执行作为恢复处理的备用处理以及集合复制处理的阈值在普通的故障和超时错误中也分别分开地进行设定。并且,在本实施例中,与超时错误有关的阈值THlb、TH2b被设定成大于与普通的故障有关的阈值THla、TH2a(例如THlb = THlaX 2、TH2b=TH2aX2)。因而,在本实施例中,作为将从存储装置210读取数据的情况下的超时时间设定为较短的结果,即使频繁发生超时错误,也能够减少执行如备用处理或者集合处理那样的恢复处理的机会。在本实施例中,通过抑制恢复处理的启动,防止存储控制装置10的负荷增大。图15表示在从存储装置210读取数据的情况下设定的超时时间的选择方法。如上所述,在本实施例中,准备了多个超时时间T0V1、T0V2。第一超时时间TOVl例如被设定为数秒左右的比较长的时间,也被称为普通值。第二超时时间T0V2例如被设定为一秒以下比较短的时间,也被称为缩短值。在满足如下所示的规定条件的情况下,DKA120能够将超时时间设定为较短的值T0V2。(规定条件I)对图7所示的VDEV管理表T20的响应时间保证模式栏C28设定了“ I ”的情况。也就是说,在选择了在规定时间内进行响应的模式的情况下,选择缩短值作为超时时间。(规定条件2)对图8所示模式设定表T30的响应时间保证模式设定了“I”的情况。与规定条件I相同。但是,在规定条件I中,能够以VDEV为单位设定响应时间保证模式,在规定条件2中,能够对整个存储控制装置10设定响应时间保证模式。(规定条件3) 读取对象的存储装置210不是如SATA那样的低速的存储装置的情况。在读取对象的存储装置是低速的情况下(响应性能较低的情况),如果缩短超时时间,则虽然没有发生故障但有可能产生超时错误。(规定条件4)在VDEV管理表T20的排队模式栏C27和模式设定表的任一个中对排队模式设定了 “I”的情况下(排队模式=FIFO模式)。在FIFO的情况下,按发出顺序处理队列,因此不会发生逻辑地址较远的队列的处理被延迟而等待非常长的时间的情形。与此相对地,在排序模式的情况下,独立场所的队列有可能要长时间等待,因此如果缩短超时时间,则虽然没有发生故障但产生超时错误的可能性变高。(规定条件5)读取对象的存储装置210的负荷状态为规定值以下的情况。在存储装置210的负荷为规定值以上的情况下,读取数据需要时间,虽然没有发生故障但有可能产生超时错误。因而,在存储装置210不是高负荷状态的情况下将超时时间设定为较短。在这样构成的本实施例中,DKA120在满足规定的条件的情况下,针对发送到存储装置210的读取请求设定较短的超时时间T0V2,在产生了超时错误的情况下,将读取请求复位,来执行集合读取处理。因而,即使读取对象的存储装置210的响应性能下降了,在经过了超时时间时也能够进行集合读取处理。因此能够防止存储控制装置10的响应性能下降。在本实施例中,例如在设定了响应时间保证模式的情况、排队模式是FIFO的情况、不是低速的存储装置的情况、存储装置不是高负荷的情况下,将从存储装置210读取数据时的超时时间设定为比普通情况短的值。因而,在本实施例中,能够根据状况防止存储控制装置10的响应性能下降。在本实施例中,与普通的存储装置的故障分开地管理超时错误。因而,即使将超时时间设定为比普通情况短,也能够抑制备用处理或者集合复制处理等恢复处理被执行。因此,能够防止由于执行恢复处理而存储控制装置10的负荷增大从而响应性能下降。实施例2参照图16说明第二实施例。包含本实施例的下面的各实施例相当于第一实施例的变形例。因此以与第一实施例的不同点为中心进行记述。在本实施例中,与排队模式和存储装置210的负荷状态相应地将超时时间设定为较短。本实施例是在第一实施例中记述的(规定条件5)的应用例。图16是存储用于设定超时时间的阈值的表T70。阈值表T70例如将HDD编号栏C71、排队命令数栏C72、FIF0模式时的阈值栏C73、以及排序模式时的阈值栏C74相对应地
进行管理。在HDD编号栏C71中存储用于识别各存储装置210的信息。在排队命令数栏C72中存储以存储装置210为对象的未处理的命令数。在FIFO模式时的阈值栏C73中存储有在排队模式被设定为FIFO模式时的阈值TH3。在排序模式时的阈值栏C74中存储有排队模式被设定为排序模式时的阈值TH4。在以存储装置210为对象的未处理的命令的数量达到了在排队模式下决定的阈值TH3或TH4的情况下,将该存储装置210作为读取对象的读取请求的超时时间被设定为普通的值。
FIFO模式时的阈值TH3被设定为大于排序模式时的阈值TH4的值(例如TH3 =TH4X4)。在排队模式被设定为FIFO模式的情况下,由于不产生处理被过于延迟的命令,因此将阈值TH3设定为大于排序时的TH4。在排队模式是排序模式的情况下,依据设为命令的对象的逻辑地址,有可能处理被延迟,因此将阈值TH4设定为小于FIFO模式时的TH3。在存储装置210中滞留了很多未处理的命令的情况下,有可能与故障无关地产生超时错误。根据对未处理的命令进行处理的方法的不同,产生超时错误的可能性发生变化。因此,在本实施例中,根据未处理的命令数和排队模式,来设定超时时间。由此,能够抑制产生与故障无关的超时错误。本实施例也起到与第一实施例相同的效果。实施例3参照图17说明第三实施例。在本实施例中,将集合读取时的超时时间设定为较短的值。图17是集合读取处理的流程图。本处理具备与图12所示的处理相同的步骤S40-S42、S44-S49。本处理与图12的不同点在于S43A。也就是说,在本实施例的集合读取处理中,将超时时间设定为比普通情况短的值来从各存储装置210读取数据和奇偶校验位。这样构成的本实施例也起到与第一实施例相同的效果。并且,在本实施例中,由于将集合读取时的超时时间设定为较短,因此能够更进一步地防止存储控制装置10的响应性能下降。实施例4参照图18-图21说明第四实施例。在本实施例中,在集合读取处理失败的情况下,重新要求从最初的读取对象的存储装置210读取数据。图18是用于管理分阶段处理的进展状况的状态管理表T80。状态管理表T80例如具备项目编号栏C81、内容栏C82、以及值栏C83。在内容栏C81中示出了从存储装置210读取数据并传送到闪速存储器130的分阶段处理的各阶段。当分阶段处理到达各阶段时,在值栏C83中设定“I”。分阶段处理的各阶段的一例如下。(阶段I)在第一阶段,将超时时间设定为缩短值T0V2,向存储装置210请求读取数据。(阶段2)在第二阶段,关于最初的读取请求发生超时错误。
(阶段3)在第三阶段,尝试集合读取处理失败。(阶段4)在第四阶段,将超时时间设定为普通值T0V1,向读取对象的存储装置210请求第
二次读取数据。图19和图20是分阶段处理的流程图。本处理对应图11所示的分阶段处理。本处理与图11所示的处理的不同点在于S70-S76。如图19所示,DKA120当从CHAllO接收到读取消息时(S20),将状态管理表T80的值栏C83进行初始化(S83)。DKA120在进行了地址变换等之后(S21),向存储装置210发出读取请求(S22)。 DKA120将该读取请求的超时时间设定为比普通情况短的值T0V2(S71)。此外,在将要从同一存储装置210再次读取数据的情况下,超时时间被设定为普通值TOVl (S71)。DKA120在将超时时间设定为缩短值T0V2的情况下,将状态管理表的阶段I的值设定为“I”(S72)。由此,在表T80中记录开始进行最初的读取的内容。转移到图20。当第一次从存储装置210读取数据超时而失败时(S28 :是),DKA120发出复位命令来取消读取请求(S29)。DKA120将状态管理表T80的阶段2的值设定为“1”(S73)。由此,与第一次的读取请求有关的超时错误的发生被记录在状态管理表T80中。DKA120参照状态管理表T80判断分阶段处理是否到达了第三阶段(S74)。在此,由于还没有开始集合读取处理,因此判断为未到达第三阶段674:否)。因此,DKA120执行集合读取处理(S75)。在集合读取处理正常结束的情况下(S31 :是),DKA120向CHAllO通知正常结束了读取请求的含义(S27)。在集合读取处理未正常结束的情况下(S31 :否),DKA120参照状态管理表T80判断分阶段处理的进展状况是否到达了第二阶段(S76)。在此,在图19的S72和图20的S73中,对状态管理表T80的第一阶段和第二阶段分别设定了 “I”。因而,DKA120判断为到达了第二阶段(S76:是),并返回到图19的S22。DKA120再次向读取对象的存储装置210发出读取请求(S22)。此时,DKA120将与第二次的读取请求有关的超时值设定为普通值TOVl (S71)。由于是第二次读取请求,超时值没有被缩短,因此跳过S72。在根据第二次的读取请求能够在超时时间内从存储装置210正常地读取数据的情况下,DKA120将分阶段位设定为接通(S26),向CHAllO报告正常结束(S27)。在第二次的读取请求也失败并发生了超时错误的情况下(S28 :是),DKA120将第二次的读取请求复位(S29)。此外,由于对状态管理表T80的第二阶段设定了 “1”,因此在S73中不再次设定“I”而转移到S73。DKA120参照状态管理表T80判断是否到达了第三阶段(S74)。在此,由于尝试集合读取处理失败(S74 :是),DKA120向CHAllO通知读取请求的处理失败的含义(S32)。也就是说,在第二次的读取请求失败的情况下,不进行第二次的集合读取处理而结束本处理。图21是集合读取处理的流程图。本处理与图12所示的处理相比,不同点在于S80和S8UDKA120将普通值设定为集合读取时的超时时间(S80)。在集合读取处理异常结束的情况下,DKA120对状态管理表T8的第三阶段设定“1”,并记录集合读取失败的内容(S81)。
这样构成的本实施例也起到与第一实施例相同的效果。并且,在本实施例中,在集合读取失败的情况下,在普通的超时时间内再次尝试从存储装置210读取数据。因而,能够提高从存储装置210读取数据的可能性,并能够提高存储控制装置10的可靠性。实施例5参照图22和图23说明第五实施例。在本实施例中,根据作为集合读取的对象的各存储装置210的状态,控制集合读取处理的执行。图22是分阶段处理的流程图。图22的处理与图11的处理相比不同点在于S90和S91。在产生了超时错误的情况下(S28 :是),DKA120参照响应时间管理表T90(S90),判断作为集合读取的对象的所有存储装置210的响应时间是否比基准值长(S91)。 在集合读取对象的各存储装置210的响应时间较长的情况下(S91 :是),DKA120不执行集合读取处理,向CHAllO通知读取请求失败的含义(S32)。在集合读取对象的各存储装置210的响应时间不是基准值以上的情况下(S91 否),DKA120将读取请求复位(S29),执行集合读取处理(S30)。此外,不限于集合读取对象的所有存储装置210的响应时间延迟的情况,也可以是如下结构在集合读取对象的所有存储装置210中的规定数以上的记录装置210的响应时间为基准值以上的情况下、或者在集合读取对象的所有存储装置210中的一个以上的存储装置210的响应时间为基准值以上的情况下,不进行集合读取处理。图23表示对各存储装置210的响应时间进行管理的表T90。响应时间管理表T90例如将VDEV编号栏C91、HDD编号栏C92、响应时间栏C93、以及判断栏C94相对应地进行管理。在响应时间栏C93中记录各存储装置210的最新的响应时间。在判定栏C94中记录将各存储装置210的响应时间与规定的基准值进行比较得到的结果。在响应时间为基准值以上的情况下记录为“延迟”,在响应时间不足基准值的情况下记录为“正常”。通过使用响应时间管理表T90,能够判断是否能够在短时间内完成集合读取。此夕卜,也可以不直接管理响应时间而管理关于各存储装置的未处理的命令数。并且,也可以是根据未处理的命令数和存储装置210的类型等估计集合读取处理所需要的时间。实施例6参照图24-图26说明第六实施例。在本实施例中,向用户通知集合读取处理失败的情况,来切换为待机体系的存储控制装置10(2)。图24是本实施例的系统结构图。在本实施例中,具备当前使用体系的存储控制装置10(1)以及待机体系的存储控制装置10(2)。在普通情况下,用户使用当前使用体系的存储控制装置10(1)。图25和图26是分阶段处理的流程图。图25的流程图与图19的流程图相比不同点在于不包含连接器2。图26的流程图与图20的流程图相比不同点在于集合读取处理失败之后的处理。在本实施例中,在集合读取处理失败的情况下(S31 :否、S76 :是),向用户通知并结束本处理(S100)。该通知通过管理终端30被通知给用户。用户能够决定是从主机20向当前使用体系存储控制装置10(1)再次发出读取请求、还是从当前使用体系存储控制装置10(1)切换为待机体系存储控制装置10(2)。这样构成的本实施例也起到与第一实施例相同的效果。此外,本发明不限定于上述的实施例。如果是本领域技术人员,例如能够适当组合上述各实施例等、在本发明的范围内进行各种追加、变更等。附图标记的i兑明I存储控制装置、2主机、3控制器、4存储装置、5通道适配器(CHA)、6存储器、7磁盘适配器(DKA)、10存储控制装置、20主机、30管理终端、100控制器、110CHA、120DKA、130 闪速存储器、140共享存储器、210存储装置、220奇偶校验组(VDEV)、230逻辑卷(LDEV)。
权利要求
1.一种存储控制装置,其响应于来自上位装置的请求对数据进行输入输出,该存储控制装置具备 多个存储装置,该多个存储装置对数据进行存储;以及 控制器,其与上述上位装置及上述各存储装置连接,响应于来自上述上位装置的请求,使数据向上述各存储装置中规定的存储装置进行输入输出, 其中,上述控制器当从上述上位装置接收到访问请求时,在规定的情况下将超时时间设定为比第一值短的第二值,并向上述各存储装置中的上述规定的存储装置请求读取与上述访问请求对应的规定数据, 在所设定的上述超时时间内无法从上述规定的存储装置获取数据的情况下,检测为发生超时错误, 第一管理部用于管理在上述各存储装置内发生的故障,在检测到上述超时错误的情况下,由不同于该第一管理部的第二管理部对上述超时错误的发生进行管理,并且 向与上述规定的存储装置相关联的其它的存储装置请求读取与上述规定的数据对应的其它的数据, 根据从上述其它的存储装置获取的上述其它的数据,生成上述规定的数据,并将所生成的上述规定的数据传输到上述上位装置。
2.根据权利要求I所述的存储控制装置,其特征在于, 上述控制器具备第一通信控制部,其用于与上述上位装置进行通信;第二通信控制部,其用于与上述各存储装置进行通信;以及存储器,其由上述第一通信控制部和上述第二通信控制部使用, 在上述存储器中存储有超时时间设定用信息,该超时时间设定用信息用于判断将超时时间设定为上述第一值和上述第二值中的哪一个值, 上述超时时间设定用信息,包含将上述各存储装置设为对象的队列的数量;排队模式被设定为先入先出模式时的先入先出用阈值;以及排队模式被设定为按照逻辑地址从近到远的顺序进行排序的排序模式时的小于上述先入先出用阈值的排序用阈值, 当上述第一通信控制部接收到来自上述上位装置的访问请求时, 上述第二通信控制部根据上述超时时间设定用信息, 在将上述规定的存储装置设为对象的上述队列的数量为对上述规定的存储装置设定的排队模式所对应的上述先入先出用阈值和上述排序用阈值中的任一个值以上的情况下,选择上述第一值作为从上述规定的存储装置读取上述规定的数据时的超时时间, 在将上述规定的存储装置设为对象的上述队列的数量小于对上述规定的存储装置设定的排队模式所对应的上述先入先出用阈值和上述排序用阈值中的任一个值的情况下,选择小于上述第一值的上述第二值作为从上述规定的存储装置读取上述规定的数据时的超时时间, 上述第二通信控制部向上述规定的存储装置请求读取上述规定的数据, 上述第二通信控制部在所设定的上述超时时间内无法从上述规定的存储装置获取上述规定的数据的情况下,检测上述超时错误的发生, 上述第二通信控制部在检测出上述超时错误的情况下,使不同于用于管理在上述各存储装置内发生的故障的第一管理部的第二管理部对上述超时错误的发生进行管理,用于使与发生了故障的存储装置有关的规定的恢复处理开始的恢复用阈值的值,被设定为上述第二管理部大于上述第一管理部, 上述第二通信控制部设定上述第一值被选择的其它的超时时间,来向与上述规定的存储装置相关联的其它的存储装置请求读取与上述规定的数据对应的其它的数据, 根据从上述其它的存储装置获取的上述其它的数据来生成上述规定的数据,将所生成的上述规定的数据输送到上述上位装置, 上述第二通信控制部在上述其它的超时时间内无法从上述其它的存储装置获取上述其它的数据、且选择了上述第二值作为上述超时时间的情况下,将上述超时时间变更为上述第一值,并再次向上述规定的存储装置请求读取上述规定的数据。
3.根据权利要求I所述的存储控制装置,其特征在于,上述第一管理部将在上述各存储装置中发生的故障的数量与用于使与发生了故障的存储装置相关的规定的恢复处理开始的恢复用阈值相对应地进行管理, 上述第二管理部将在上述各存储装置中发生的超时错误的数量与用于使与发生了超时错误的存储装置相关的上述规定的恢复处理开始的其它恢复用阈值相对应地进行管理, 由上述第二管理部进行管理的上述其它恢复用阈值被设定成大于由上述第一管理部进行管理的上述恢复用阈值。
4.根据权利要求I所述的存储控制装置,其特征在于, 上述控制器在对上述规定的存储装置设定了用于保证规定时间内的响应的保证模式的情况下,将从上述规定的存储装置读取上述规定的数据时的超时时间设定为上述第二值。
5.根据权利要求I所述的存储控制装置,其特征在于, 上述控制器在将与上述规定的存储装置有关的排队模式设定为先入先出模式的情况下,将从上述规定的存储装置读取上述规定的数据时的超时时间设定为上述第二值。
6.根据权利要求I所述的存储控制装置,其特征在于, 在上述规定的存储装置是预先指定的低速的存储装置以外的存储装置的情况下,上述控制器将从上述规定的存储装置读取上述规定的数据时的超时时间设定为上述第二值。
7.根据权利要求I所述的存储控制装置,其特征在于, 在将上述规定的存储装置设为对象的队列的数量小于规定的阈值的情况下,上述控制器将从上述规定的存储装置读取上述规定的数据时的超时时间设定为上述第二值。
8.根据权利要求I所述的存储控制装置,其特征在于, 上述控制器具备超时时间设定用信息,该超时时间设定用信息是用于判断将超时时间设定为上述第一值和上述第二值中的哪一个的超时时间设定用信息,并且包含将上述各存储装置设为对象的队列的数量、排队模式被设定为先入先出模式时的先入先出用阈值、以及排队模式被设定为按照逻辑地址从近到远的顺序进行排序的排序模式时小于上述先入先出用阈值的排序用阈值,并且 上述控制器在将上述规定的存储装置设为对象的上述队列的数量为与对上述规定的存储装置设定的排队模式对应的上述先入先出用阈值和上述排序用阈值中的任一个值以上的情况下,选择上述第一值作为从上述规定的存储装置读取上述规定的数据时的超时时间,在将上述规定的存储装置设为对象的上述队列的数量小于与对上述规定的存储装置设定的排队模式对应的上述先入先出用阈值和上述排序用阈值中的任一个值的情况下,选择小于上述第一值的上述第二值作为从上述规定的存储装置读取上述规定的数据时的超时时间。
9.根据权利要求I所述的存储控制装置,其特征在于, 上述控制器在检测出上述超时错误的情况下,设定上述第一值被选择的其它的超时时间,来向与上述规定的存储装置相关联的其它的存储装置请求读取与上述规定的数据对应的其它的数据。
10.根据权利要求I所述的存储控制装置,其特征在于, 上述控制器在检测出上述超时错误的情况下,设定上述第二值被选择的其它的超时时间,来向与上述规定的存储装置相关联的其它的存储装置请求读取与上述规定的数据对应的其它的数据。
11.根据权利要求10所述的存储控制装置,其特征在于, 上述控制器在上述其它的超时时间内无法从上述其它的存储装置获取上述其它的数据的情况下,将上述超时时间变更为上述第一值,再次向上述规定的存储装置请求读取上述规定的数据。
12.根据权利要求10所述的存储控制装置,其特征在于, 上述控制器在上述其它的超时时间内无法从上述其它的存储装置获取上述其它的数据的情况下,向用户通知该情况。
13.一种存储控制装置的控制方法,其对与上位装置和多个存储装置相连接的存储控制装置进行控制,在该方法中, 当从上述上位装置接收到访问请求时,在规定的情况下将超时时间设定为比第一值短的第二值,并向上述各存储装置中的上述规定的存储装置请求读取与上述访问请求对应的规定数据, 在所设定的上述超时时间内无法从上述规定的存储装置获取数据的情况下,检测为发生超时错误, 第一管理部用于管理在上述各存储装置内发生的故障,在检测到上述超时错误的情况下,由不同于上述第一管理部的第二管理部对上述超时错误的发生进行管理,并且 向与上述规定的存储装置相关联的其它的存储装置请求读取与上述规定的数据对应的其它的数据, 根据从上述其它的存储装置获取的上述其它的数据,生成上述规定的数据,并将所生成的上述规定的数据传输到上述上位装置。
全文摘要
本发明提供一种存储控制装置和存储控制装置的控制方法。在存储装置的响应时间较长的情况下也将抑制存储控制装置的响应时间变长。磁盘适配器(DKA)当从通道适配器(CHA)接收到读取消息时,根据规定条件设定超时时间,尝试从存储装置(4)读取数据。作为超时时间,选择普通值或缩短值。在产生了超时错误的情况下,将读取作业复位并开始进行集合读取。
文档编号G06F3/06GK102741801SQ201080063169
公开日2012年10月17日 申请日期2010年4月14日 优先权日2010年4月14日
发明者葛城荣寿 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1