CN103885722A - 信息处理设备及系统、存储设备与输入和输出方法 - Google Patents
信息处理设备及系统、存储设备与输入和输出方法 Download PDFInfo
- Publication number
- CN103885722A CN103885722A CN201310675159.9A CN201310675159A CN103885722A CN 103885722 A CN103885722 A CN 103885722A CN 201310675159 A CN201310675159 A CN 201310675159A CN 103885722 A CN103885722 A CN 103885722A
- Authority
- CN
- China
- Prior art keywords
- time
- path
- input
- memory device
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/372—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种信息处理设备及系统、存储设备与输入和输出方法。一种输入和输出方法包括:经由多条路径将存储设备连接至信息处理设备;将针对多条路径中的每条路径的超时时间的管理信息存储到存储设备的存储单元中;以及根据针对所述存储设备的输入/输出发出目的地的一条路径和另一路径,从所述存储单元获取所述一条路径和所述另一路径的所述超时时间。
Description
技术领域
本公开内容涉及信息处理设备、存储设备、信息处理系统以及输入/输出方法。
背景技术
不需要物理操作的固态驱动器(SSD)或高性能存储装置已经随着近期技术的进步而得到发展。
随着各种技术的出现,例如将新信息存储在高速磁盘上而将旧信息存储在低速低价格的磁盘上的信息生命周期管理(ILM)、层次化和虚拟化的出现,已普遍接受在存储设备中混合各种磁盘。出于此原因,例如,快速可访问存储装置如SSD和具有低存取速度的硬盘驱动器(HDD)通常可以共存于存储设备中。
图13是示出根据相关技术的存储系统101的图。
在如图13所示的存储系统101中,例如,多个存储设备110和120经由路径130-1至130-6通信地连接至服务器102。
服务器102可以是下述信息处理设备:其向所连接的存储设备110和120的卷(volume)写入数据或从所连接的存储设备110和120的卷读取数据。例如,服务器102执行对存储设备110和120的卷的读或写命令的数据存取请求。存储设备110和120根据数据存取请求执行对卷的数据存取并响应服务器102。服务器2包括例如中央处理单元(CPU)、随机存取存储器(RAM)以及只读存储器(ROM),其均未示出。此外,服务器102包括多路径驱动器单元103、逻辑单元号(LUN)信息107-1至107-6以及主机总线适配器(HBA)109-1至109-6。
在存在至存储设备110和120的多条路径的多路径环境下,多路径驱动器单元103在发生输入/输出(IO)超时时切换存取路径以重试IO。IO超时表示超过了超时时间(被称为超时值),该超时时间为从发出IO命令的时间直到返回对IO命令的响应为止的最大等待时间。
LUN信息107-1至107-6是关于连接至服务器102的存储设备110和120的LUN的信息。对于每个LUN,例如将LUN的磁盘类型(例如,“SSD”)或设备识别信息(例如,“A4000-6A0298”)存储在LUN信息107-1至107-6中。
HBA109-1至109-6是将服务器102连接至外部装置(例如像存储装置)的适配器。HBA109-1至109-6的示例可以包括SCSI适配器、光纤信道(FC)适配器以及串行ATA适配器。可替选地,HBA109-1至109-6可以是基于IDE、以太网(注册商标)、火线(注册商标)、通用串行总线(USB)等来连接设备的装置。
存储设备110为服务器102提供存储区,并且是例如RAID设备。在图13的示例中,存储设备110以“A4000”作为设备名称并且以“6A0298”作为ID。存储设备110包括控制器模块(CM)111-1和111-2以及磁盘113-1至113-4。
除信道适配器112-1和112-2之外,CM111-1包括例如CPU、存储器和高速缓冲存储器(均未示出),并且执行IO处理。
除CA(信道适配器)112-3和112-4之外,CM111-2包括例如CPU、存储器和高速缓冲存储器(均未示出),并且执行IO处理。
在此配置中,CM111-1和CM111-2具有相同配置。此外,CA112-1至CA112-4具有相同配置。
CA112-1至112-4是通信地连接至服务器102的接口控制器,并且可以是例如光纤信道适配器。CA112-1、112-2和112-4分别经由相应的路径130-1至130-3而连接至服务器的HBA109-1至109-3。
路径130-1至130-3将服务器102连接至存储设备110,并且可以是例如光纤信道。
磁盘113-1至113-4是能够存储信息的存储设备,并且包括例如近线驱动器(在下文中称为近线)113-1、HDD113-2和113-3、以及SSD113-4。严格地说,SSD不是磁盘,但为了便于说明,如同近线或HDD一样,同样将SSD当作磁盘来处理。
近线113-1是如下存储驱动器:其使用已被施加磁性物质的盘作为记录介质,并移动磁头以从高速旋转的盘读取信息以及向高速旋转的盘写入信息。近线113-1通常具有比HDD113-2和113-3的容量大的容量,但具有降低的存取速度。
HDD113-2和113-3各自为如下存储驱动器:其使用已被施加磁性物质的盘作为记录介质,并移动磁头以从高速旋转的盘读取信息以及向高速旋转的盘写入信息。
SSD113-4是如下存储驱动器:其使用半导体器件存储器作为存储设备并且被称为硅磁盘驱动器或半导体磁盘驱动器。由于SSD33通常不像近线113-1以及HDD113-2和113-3那样具有磁头的移动伴有的头寻道时间(head seek time),所以SSD33可以以比近线113-1以及HDD113-2和113-3高的速度执行随机存取。然而,由于SSD33采用半导体存储器,所以SSD33通常比近线113-1或HDD113-2和113-3更昂贵。
存储设备120为服务器102提供存储区,并且可以是例如RAID设备。在图13的示例中,存储设备120以“A3000”作为设备名称并且以“4A0290”作为ID。存储设备120包括CM121-1和121-2以及磁盘123-1和123-2。
除CA122-1和122-2之外,CM121-1包括例如CPU、存储器和高速缓冲存储器(均未示出),并且执行IO处理。
除CA122-3和122-4之外,CM121-2包括例如CPU、存储器和高速缓冲存储器(均未示出),并且执行IO处理。
CA122-1至122-4各自为通信地连接至服务器102的接口控制器,并且可以为例如光纤信道适配器。CA122-1、122-2和122-4分别经由相应的路径130-4至130-6而连接到服务器的HBA109-4至109-6。
这里,CM121-1和CM121-2具有相同配置。此外,CA122-1至CA122-4具有相同配置。
路径130-4至130-6各自为将服务器102连接到存储设备120的路径,并且可以为例如FC。
磁盘123-1和123-2各自为能够存储信息的存储设备,并且可以为例如HDD123-1和123-2。
HDD123-1和123-2各自为如下存储驱动器:其使用已被施加磁性物质的盘作为记录介质,并移动磁头以从高速旋转的盘读取信息以及向高速旋转的盘写入信息。
在存储系统101中,从服务器102针对存储设备110和120生成IO存取。
在此配置中,服务器102侧设置超时时间(在下文中,将超时时间称为“IO超时时间”),该超时时间为在服务器102发出IO请求之后等待来自存储设备110和120的响应的最大时间。
当由于例如存储设备110和120的故障而导致甚至在服务器102侧设定的时间经过IO超时时间之后也不存在来自存储设备110和120的响应时,服务器102认为已经发生超时错误并执行错误处理。
从服务器102向存储设备110和120发出IO之后起直到存储设备110和120答复为止的延迟(latency)变为例如IO请求传输时间、磁盘寻道时间、读/写时间、IO传输时间等的总和。
当服务器102将IO超时时间设置为短时,在存储设备110和120故障时的错误检测或路径切换时间会是短的。然而,在IO超时时间短的情况下,即使在存储设备110和120正常工作时,由于例如存储设备110和120的载荷的暂时增加,在延迟值变得比平常长时也将不幸地检测到超时。
服务器102可以设定一个IO超时时间。例如,在Solaris(注册商标)标准驱动器中,IO超时时间的默认值为60秒。为改变该值,用户重写定义并重新启动服务器102。
作为现有技术的示例,参见例如日本专利申请公开第2006-235843号。
由于SSD113-4具有短存取时间,所以SSD113-4可以将IO超时时间设定为短值。
然而,如上所述,在相关技术中在存储设备110和120中存在一个设定的IO超时值。因此,在将相同的IO超时值用于较快磁盘113和较慢磁盘113两者并且将IO超时时间设定为小于60秒以与SSD合作时,可能在低速磁盘中频繁发生IO超时。
即使存在用于IO的切换目的地的路径,由于在等待给定时间直到超时为止之后执行路径切换,所以将该路径切换到另一路径并且然后立即重新发出IO命令是不可能的。
本公开内容的一个方面的目的是缩短在对存储设备的IO发出时的响应时间。
由在下面要描述的用于实现本公开内容的实施方式中示出的每个组件得到的且不能通过相关技术获得的作用和效果可以被看作本申请的其它目的,而不限于上述目的。
发明内容
一种输入和输出方法包括:经由多条路径将存储设备连接至信息处理设备;将针对多条路径中的每条路径的超时时间的管理信息存储在存储设备的存储单元中;以及根据针对所述存储设备的输入/输出发出目的地的一条路径和另一路径,从所述存储单元获取所述一条路径和所述另一路径的所述超时时间。
根据所公开的技术,可缩短在向存储设备发出IO请求时的响应时间。
本公开内容的目的和优点将通过在权利要求中特别指出的元素和组合来实现和获得。要理解,前面的一般描述和下面的详细描述都是示例性和说明性的,并且不限制所要求保护的本公开内容。
附图说明
图1是示出根据本公开内容的实施方式的示例的存储系统的配置的图。
图2是示出根据本公开内容的实施方式的示例的服务器侧超时表的初始状态的图。
图3是示出根据本公开内容的实施方式的示例的识别存储设备之后的服务器侧超时表的图。
图4是示出将记录进一步添加到图3的服务器侧超时表的示例的图。
图5是示出根据本公开内容的实施方式的示例的存储设备侧超时表的图。
图6是示出根据本公开内容的实施方式的示例的超时上限表的图。
图7是示出根据本公开内容的实施方式的示例的初始化处理的流程图。
图8是示出根据本公开内容的实施方式的示例的在发出IO请求和响应IO请求时的处理的流程图。
图9是示出根据本公开内容的实施方式的示例的用于超时值的更新处理的流程图。
图10是示出根据本公开内容的实施方式的第一修改示例的服务器侧超时表的图。
图11是示出根据本公开内容的实施方式的第四修改示例的服务器侧超时表的图。
图12是示出根据本公开内容的实施方式的第五修改示例的LUN管理表的图。
图13是示出根据相关技术的存储系统的图。
具体实施方式
在下文中,将参照附图描述本公开内容的关于存储系统、服务器、存储设备、输入/输出方法以及输入/输出程序的实施方式。然而,下面要描述的实施方式仅是说明性的,并且不应当认为未在实施方式中具体说明的各种修改示例或技术被排除在外。也就是说,本实施方式可以在不脱离实施方式的精神的情况下通过进行各种改变来实现。
(A)系统配置
图1是示出根据本公开内容的实施方式的示例的存储系统(信息处理系统)1的配置的图。在如图1所示的存储系统1中,多个存储设备10和20(例如,在图1所示的示例中为两个)经由具有存储设备10和20的路径30-1至30-6以通信的方式连接至服务器2。
服务器2是下述信息处理设备:其在所连接的存储设备10和20的卷中写入数据或从所连接的存储设备10和20的卷读取数据。例如,服务器2针对关于存储设备10和20的卷的读取或写入执行数据存取请求。存储设备10和20根据数据存取请求来执行关于卷的数据存取并且响应服务器2。服务器2包括例如未示出的中央处理单元(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。此外,服务器2包括多路径驱动单元3、服务器侧超时表(存储单元)4、LUN信息7-1至7-6、以及HBA9-1至9-6。
多路径驱动单元3从存储设备10获取超时信息,并且在多路径环境中发生IO超时时切换存取路径以重试IO。多路径驱动单元3包括超时表采集单元5(采集单元)、超时时间获取单元6(获取单元)、以及IO发出单元8(发出单元)。
超时表采集单元5从存储设备10获取下面要描述的超时表14,针对该存储设备10,可以通过外部源来执行IO超时值的设定。此外,来自所获取的超时表14的数据被写入到服务器侧超时表4。此时,超时表采集单元5将用作设备识别信息的、诸如存储设备10的型号名称和序列号的信息添加到服务器侧超时表4。
在下文中,可以从诸如服务器2的外部设备设定IO超时值所针对的存储设备被称为“超时对应存储设备”。然而,不可以设定超时值的存储设备被称为“超时不对应存储设备”。在图1所示的示例中,存储设备10可以为超时对应存储设备,而存储设备20可以为超时不对应存储设备。
当向存储设备10和20发出IO时,超时时间获取单元6参考下面要描述的服务器侧超时表4,以读出并获取在IO中设定的超时时间。在超时不对应存储设备20的情况下,超时时间获取单元6读取默认超时时间(例如40秒)。
IO发出单元8通过使用由超时时间获取单元6获取的超时值来发出IO。此外,如参照图8所描述的,IO发出单元8发出IO,然后确定IO是超时、正常结束、还是由于超时之外的其它因素而异常结束。
服务器侧超时表4是存储连接至服务器2的存储设备10的每个磁盘的超时时间的表。服务器侧超时表4被存储在例如服务器2的存储器(未示出)中。下面将参照图2至图4描述服务器侧超时表4。
LUN信息7-1至7-6是关于连接至服务器2的存储设备10和20的LUN的信息。对于每个LUN,例如LUN的磁盘类型(例如,“SSD”)或设备识别信息(例如,“E4000-6A0299”)被存储在LUN信息7-1至7-6中。
HBA9-1至9-6各自为将服务器2连接至诸如存储装置的外部装置的适配器。HBA9-1至9-6的示例可以包括SCSI适配器、光纤信道(FC)适配器以及串行ATA适配器。替选地,HBA9-1至9-6可以为基于IDE、以太网、火线以及USB连接设备的装置。
在下文中,虽然在需要指定多个LUN信息之一时使用附图标记7-1至7-6作为表示LUN信息的附图标记,但是在需要指定任意LUN信息时使用附图标记7。
存储设备100为服务器2提供存储区,并且可以为例如RAID设备。存储设备10是可以从外部设定IO超时值的类型。此外,在图1的示例中,存储设备10以“E4000”作为设备名称并且以“6A0299”作为ID。存储设备10包括CM(传输单元)11-1和11-2、磁盘13-1至13-4、超时表(存储单元)14、超时时间改变单元15以及超时上限表16。
除CA12-1和12-2之外,CM11-1包括例如CPU、存储器和高速缓冲存储器(均未示出),并且执行IO处理。
除CA12-3和12-4之外,CM11-2包括例如CPU、存储器和高速缓冲存储器(均未示出),并且执行IO处理。
CA12-1至12-4各自为以通信的方式连接至服务器102以能够进行通信的接口控制器,并且可以为例如光纤信道适配器。CA12-1、12-2和12-4各自经由路径30-1至30-3中的每条路径而连接到服务器的HBA9-1至9-3。
在此配置中,CM11-1和CM11-2具有相同配置。此外,CA12-1至CA12-4具有相同配置。
路径30-1至30-3各自为将服务器2连接至存储设备10的路径,并且可以为例如FC。
磁盘13-1至13-4各自为可以存储信息的存储设备,并且包括例如近线13-1、HDD13-2和13-3、以及SSD13-4。
近线13-1是如下存储驱动器:其使用被施加有磁性物质的磁盘作为记录介质,并移动磁头以从高速旋转的磁盘读取信息以及将信息写入高速旋转的磁盘。近线13-1通常具有比HDD13-2和13-3的容量大的容量,但具有降低的存取速度。
HDD13-2和13-3各自为如下存储驱动器:其使用被施加有磁性物质的磁盘作为记录介质,并移动磁头以从高速旋转的磁盘读取信息以及将信息写入高速旋转的磁盘。
SSD13-4是如下存储驱动器:其使用半导体器件存储器作为存储设备并且被称为硅磁盘驱动器或半导体磁盘驱动器。由于SSD33通常不像是近线13-1以及HDD13-2和13-3那样具有磁头移动伴有的头寻道时间,所以SSD33可以以比近线113-1以及HDD13-2和13-3更高的速度执行随机存取。然而,由于SSD33采用半导体存储器,所以SSD33通常比近线13-1或HDD13-2和13-3昂贵。
超时表14是存储包括在存储设备10中的每个磁盘13的超时时间的表。超时表14被存储在例如CM11-1和11-2的存储器(未示出)中。下面将参照图5描述超时表14。
当由于例如存储设备10的高载荷而发生延迟处理时,IO超时错误的频繁发生是不期望的。
因此,超时时间改变单元15监视存储设备10的载荷状态,以在由于例如维护和存储设备10的高载荷而预计会发生超时时增加在超时表14中设定的超时时间的值。在此情况下,超时时间改变单元15通过对在下面要描述的超时上限表16中设定的上限值进行设定将针对每条路径30的超时时间设定至上限。此外,超时时间改变单元15使用感知(sense)向服务器2通知超时表14的更新。
在本文中感知是在存储设备10和20响应来自服务器2的IO时用于通知服务器2的消息。感知是本领域公知的方法,从而将省略其描述。
甚至在存储设备10的高载荷状态被消除(resolve)或固件被更新时,超时时间改变单元15改变在超时表14中设定的值。甚至在此情况下,超时时间改变单元15使用感知将超时表14被更新的事实通知给服务器2。
下面将参照图9来描述改变这些超时时间并且通知给服务器2的处理。
超时上限表16是存储可以在存储设备10中包括的磁盘13和路径30中的每个中设定的超时时间的上限值的表。下面将参照图6描述超时上限表16。
存储设备20还为服务器2提供存储区,并且可以为例如RAID设备。存储设备20是不可以从外部设定超时值的类型。此外,在图1的示例中,存储设备20以“E3000”作为设备名称并且以“4A0291”作为ID。存储设备20包括例如CM21-1和21-2以及磁盘23-1和23-2。
除CA22-1和22-2之外,CM21-1包括例如CPU、存储器和高速缓冲存储器(均未示出),并且执行IO处理。
除CA22-3和22-4之外,CM21-2包括例如CPU、存储器和高速缓冲存储器(均未示出),并且执行IO处理。
CA22-1至22-4各自为通信地连接至服务器2的接口控制器,并且可以为例如光纤信道适配器。CA22-1、22-2和22-4各自经由路径30-4至30-6中的每条路径而连接到服务器的HBA9-4至9-6。
在此配置中,CM21-1和CM21-2具有相同配置。此外,CA22-1至CA22-4具有相同配置。
路径30-4至30-6各自为将服务器2连接至存储设备20的路径,并且可以为例如FC。
磁盘23-1和23-2各自为可以存储信息的存储设备,并且可以为例如HDD23-1和23-2。
HDD23-1和23-2各自为如下存储驱动器:其使用施加有磁性物质的磁盘作为记录介质,并移动磁头以从高速旋转的磁盘读取信息以及向高速旋转的磁盘写入信息。
在下文中,作为表示包括在存储设备10中的CM的附图标记,当需要指定多个CM之一时使用附图标记11-1和11-2,但是在需要指定任意CM时使用附图标记11。
作为表示包括在存储设备10中的CA的附图标记,当需要指定多个CA之一时使用附图标记12-1至12-4,但是在需要指定任意CA时使用附图标记12。
作为表示包括在存储设备10中的磁盘的附图标记,当需要指定多个磁盘之一时使用附图标记13-1至13-4,但是在需要指定任意磁盘时使用附图标记13。
作为表示包括在存储设备20中的CM的附图标记,当需要指定多个CM之一时使用附图标记21-1和21-2,但是在需要指定任意CM时使用附图标记21。
作为表示包括在存储设备20中的CA的附图标记,当需要指定多个CA之一时使用附图标记22-1至22-4,但是在需要指定任意CA时使用附图标记22。
作为表示包括在存储设备20中的磁盘的附图标记,当需要指定多个磁盘之一时使用附图标记23-1和23-2,但是在需要指定任意磁盘时使用附图标记23。
作为表示路径的附图标记,当需要指定多条路径之一时使用附图标记30-1至30-6,但是在需要指定任意路径时使用附图标记30。
作为图1所示的示例,在存储设备10中包括两个CM12,但是本公开内容的实施方式不限于此,并且存储设备10可以包括多于三个的CM12。
在存储设备10中包括四个磁盘13,但是本公开内容的实施方式不限于此,并且存储设备10可以包括三个或更多个至五个或更少的磁盘13。
作为图1所示的示例,在存储设备20中包括两个CM22,但是本公开内容的实施方式不限于此,并且存储设备20可以包括多于三个CM22。
在存储设备20中可以包括两个磁盘23,但是本公开内容的实施方式不限于此,并且存储设备20可以包括多于三个磁盘23。
接下来,将参照图2至图4来描述包括在服务器2中的服务器侧超时表4。
图2是示出作为本公开内容的实施方式的示例的服务器侧超时表4的初始状态的图。此外,图3是示出作为本公开内容的实施方式的示例的在识别存储设备10和20之后的服务器侧超时表4的图。图4是示出将记录添加到图3的服务器侧超时表4中的示例的图。
服务器侧超时表4包括诸如设备识别信息41、磁盘类型42、CM系数43、最前(leading)路径的超时时间44、中间路径的超时时间45、最后路径的超时时间46以及上限47的字段。
设备识别信息字段41表示识别存储设备10的信息。例如,设备识别信息字段41存储有连接存储设备10的型号名称和序列号的字符串。
磁盘类型字段42表示包括在存储设备10中的每个磁盘13的类型。例如,如图3所示,磁盘类型字段42存储有表示磁盘的性能或特性的字符串,如“HDD10000”、“HDD15000”、“SSD”以及“NEARLINE”。“HDD10000”表示旋转速度为10,000RPM的HDD,而“HDD15000”表示旋转速度为15,000RPM的HDD。“SSD”表示固态驱动器而“NEARLINE”表示近线。
在多路径环境的情况下,最前路径的超时时间字段44存储在最前路径中使用的超时时间。
在多路径环境的情况下,中间路径的超时时间字段45存储除最前路径和最后路径之外的路径(在下文中,该路径被称为“中间路径”)的超时时间。
在多路径环境的情况下,最后路径的超时时间字段46存储在最后路径中使用的超时时间。
“最前路径”、“中间路径”以及“最后路径”不一定与路径的物理编号一致。这里,在IO发出时首先存取的路径被称为“最前路径”,在最前路径处于错误状态的情况下在重试时使用的路径被称为“中间路径”,以及在最后重试(以最大重试频数重试)时使用的路径被称为“最后路径”。此外,最前路径和中间路径被称为“除最后路径之外的路径”。
通常,在IO存取时,在IO发出时选择具有最低载荷的路径并且将IO发出到该路径。
例如,考虑具有四条路径即物理路径#1至#4的配置。
(1)将第一IO发出到物理路径#1至#4中的具有最低载荷的物理路径#2。
(2)在物理路径#2处于错误状态时,切换该路径,从而执行第一(最初)重试。在物理路径#1、#3以及#4中,选择具有最低载荷的物理路径#1。
(3)当物理路径#1也处于错误状态时,在第二重试时选择物理路径#4。
(4)当物理路径#4也处于错误状态时,在第三重试时选择物理路径#3。
由于该示例描述了具有四条路径的配置,所以物理路径#3处的重试变为最后。
在此情况下,最前路径变为物理路径#2,中间路径变为在第一重试和第二重试时选择的物理路径#1和#4,而最后路径变为在最后重试时选择的物理路径#3。
在路径30的数目大于最大重试频数(frequency)的情况下,即使仍有尚未重试的路径30,在最大重试频数处的重试变为最后重试。
下面将描述在超时时间字段44至46中设定最前路径、中间路径以及最后路径的超时时间的原因。
可能由于路径30的高载荷或故障而发生IO的超时。通常也可能由于例如存储设备10的高载荷或故障而在存储设备10中发生IO的超时。
当发生取决于路径30的超时时,可以切换该路径。相反,当由于存储设备10的高载荷而发生超时时,响应可能会被搁置。在存储设备10故障的情况下,IO不会成功,并且因此可以立即宣布IO错误状态。
然而,不能从服务器2确定超时的原因为路径、还是存储设备10的高载荷或故障。
因此,根据本公开内容的实施方式,分别针对最前路径、中间路径和最后路径中的每条路径来设定超时时间T1、T2和T3,而不是在存储设备10的超时表14中设定一个超时时间。在此情况下,超时时间中的每个被设定为在最前路径、中间路径和最后路径的各超时时间之间建立关系T1≥T2>T3。
详细地,考虑到路径的异常,将最前路径的超时时间T1设定为短值,从而在短时间内切换路径。
考虑到甚至在第二路径之后由于存储设备10而引起超时的可能性,将中间路径的超时时间T2设定为短值。因此,在存储设备10具有高载荷时,最前路径和第二路径的总时间的响应延缓(wait),使得存在避免IO错误的发生的高可能性。甚至在存储设备10故障的情况下,超时时间被设定为短的,以使得可以缩短总待机时间。
假设处于高载荷状态,最后路径的超时时间T3被设定为比T1和T2长的值,这是因为:如果IO可以等待久一点的时间,则IO很可能成功。
上限字段47表示存储设备10和20的超时时间的上限值。
当存储设备10为专有CM类型时,CM系数字段43存储在将IO发出到通过待机CM的路径时使用的CM系数(≥1)。
在此,存储设备10和20设置有:其中用于每个LUN的正常存取路径被固定到CM11和21之一的存储设备;以及其中用于每个LUN的正常存取路径未固定到CM11和21之一的存储设备。存取路径所固定到的存储设备被称为“专有CM类型”,而存取路径未固定到的存储设备被称为“非专有CM类型”。
在专有CM类型存储设备10和20中,连接至CM11和21之一的路径处于活动状态,而连接至CM11和21中的另一个CM的路径处于待机状态。在正常存取中,仅使用处于活动状态的路径而不使用处于待机状态的路径。连接至处于活动状态的路径的CM被称为“专有CM”,而连接至处于待机状态的路径的CM被称为“待机CM”。
相反,在非专有CM类型存储设备10和20中,所有路径均处于活动状态,使得所有路径均用于正常存取。
像这样,在专有CM类型存储设备10和20中,由于存储设备10和20根据CM11和21是专有CM还是待机CM而具有性能差别,因此甚至针对超时时间也要考虑CM11和21是否为专有CM。
虽然性能差别对于每个存储设备10或20不同,但是性能差别是预先已知的信息,因此,将取决于性能差别的比率的CM系数存储在CM系数字段43中。
可以从服务器2认识到存取路径是否通过专有CM。出于此原因,当向待机CM发出IO时,通过将要在下面描述的超时字段44至46的超时时间乘以CM系数,使超时时间设定为比通过专有CM的路径的超时时间略长的值。
可以假设提供了具有四条路径的配置,并且在这四条路径中,两条路径连接至专有CM11并且剩余的两条路径连接至待机CM11,使得路径对SSD13-4进行存取。
参照图4的第五行,在SSD中,将10秒用作最前路径的超时时间,15秒用作第二路径的超时时间。
当在连接至专有CM11的最前路径和第二路径两者中均发生IO错误时,使用连接至非专有CM11的第三路径。
在此情况下,在位于待机CM侧的第三路径的超时时间中,根据图4的中间路径的超时时间字段45的值“15”和CM系数字段43的值“1.4”设置15×1.4=21秒。作为最后路径的第四路径的超时时间为20×1.4=28,但是由于该超时时间超过上限字段47的值“25秒”,所以设定上限值25秒。
在服务器2启动时,通过超时表采集单元5在服务器2的存储器(未示出)中得到(secure)图2中示出的服务器侧超时表4。在初始状态下,在服务器侧超时表4中针对所有路径设定“40秒”,40秒为在超时不对应存储设备20中使用的默认超时时间。
接下来,当存储设备10和20被识别时,超时表采集单元5通过在识别存储设备10时使用例如查询命令来从存储设备10获取超时表14,并且将数据添加到服务器侧超时表4中。
这里,查询命令是用于向SCSI设备查询SCSI设备的种类和配置的SCSI命令,并且其功能是公知的,因此将省略其描述。此外,多路径驱动器单元3可以使用另一命令来查询存储设备10和20。
在此情况下,如上所述,超时表采集单元5将信息(例如像存储设备10的型号名称和序列号)添加到服务器侧超时表4中作为设备识别信息。例如,通过超时表采集单元5将如图2所示的记录添加到服务器侧超时表4中。
接下来,例如,在另一存储设备(未示出)被识别时,将如图2所示的记录添加到服务器侧超时表4中。
如上所述,甚至在存储设备10中添加超时表14。
图5是示出作为本公开内容的实施方式的示例的在存储设备10侧的超时表14的图。
超时表14具有各种字段,例如磁盘类型142、CM系数143、最前路径的超时时间144、中间路径的超时时间145、最后路径的超时时间146、以及上限147。
磁盘类型字段142表示在存储设备10内的磁盘类型。例如,如图5所示,磁盘类型字段142存储表示磁盘的性能或特性的字符串,例如“HDD10000”、“HDD15000”、“SSD”以及“NEARLINE”。“HDD10000”表示旋转速度为10,000RPM的HDD,而“HDD15000”表示旋转速度为15,000RPM的HDD。“SSD”表示固态驱动器,而“NEARLINE”表示近线。
当存储设备10为专有CM类型时,CM系数字段143存储在将IO发出到待机CM时所使用的CM系数。
在多路径环境的情况下,最前路径的超时时间字段144存储在最前路径中使用的超时时间。
在多路径环境的情况下,中间路径的超时时间字段145存储在中间路径中使用的超时时间。
在多路径环境的情况下,最后路径的超时时间字段146存储在最后路径中使用的超时时间。
当存储设备10例如处于高载荷状态时,上限字段147表示存储设备10的超时时间可以改变的范围的上限值。
在从工厂发布存储设备10时,字段144至147各自被预先设定有最优值以满足特性,如存储设备10的性能。此外,字段144至147的每个值可以在后来通过例如操作者进行改变。
图6是示出作为本公开内容的实施方式的示例的超时上限表16的图。
超时上限表16包括磁盘类型字段162和上限字段167。
磁盘类型字段162表示存储设备10内的磁盘类型。例如,如图6所示,磁盘类型字段162存储表示磁盘的性能或特性的字符串,例如“HDD10000”、“HDD15000”、“SSD”以及“NEARLINE”。“HDD10000”表示旋转速度为10,000RPM的HDD,而“HDD15000”表示旋转速度为15,000RPM的HDD。“SSD”表示固态驱动器,而“NEARLINE”表示近线。
当存储设备10例如处于高载荷状态时,上限字段167表示存储设备10的超时时间可以改变的范围的上限值。
在从工厂发布存储设备10时,上限字段167被预先设定有最优值以满足特性,如存储设备10的性能。此外,上限字段167可以在后来通过操作者等进行改变。
在服务器2中,以记录在计算机可读记录介质中的形式提供用于实现用作多路径驱动器单元3、超时表采集单元5、超时时间获取单元6和IO发出单元8的功能的程序,例如该计算机可读记录介质为诸如软盘、CD(例如,CD-ROM和CD-RW)、DVD(例如,DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW、DVD+RW以及HD DVD)、蓝光光盘、磁盘、光盘以及磁光盘。此外,计算机从记录介质读取程序以将其传输、存储以及用在在内部存储设备或外部存储设备中。此外,程序可以被记录在存储设备(记录介质)中,例如像磁盘、光盘以及磁光盘,并且可以经由通信路径将程序从存储设备提供给计算机。
在存储设备10中,以记录在计算机可读记录介质中的形式提供用于实现用作超时时间改变单元15的功能的程序,例如该计算机可读记录介质诸如为软盘、CD(例如,CD-ROM、CD-R和CD-RW)、DVD(例如,DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW、DVD+RW以及HD DVD)、蓝光光盘、磁盘、光盘以及磁光盘。此外,计算机从记录介质读取程序以将其传输、存储以及用在在内部存储设备或外部存储设备中。此外,程序可以被记录在存储设备(记录介质)中,例如像磁盘、光盘以及磁光盘,并且可以经由通信路径将程序从存储设备提供给计算机。
当要实现用作多路径驱动器单元3、超时表采集单元5、超时时间获取单元6和IO发出单元8的功能时,可以通过计算机的微处理器(例如,服务器2的CPU(未示出))来执行存储在内部存储设备(在本公开内容的实施方式中,服务器2的RAM或ROM(未示出))中的程序。在此情况下,记录在记录介质中的程序可以由计算机读取以被执行。
当要实现用作超时时间改变单元15的功能时,通过计算机的微处理器(例如,存储设备10的CM11)来执行存储在内部存储设备(例如,存储设备10的RAM或ROM(未示出))中的程序。在此情况下,记录在记录介质中的程序可以由计算机读取以被执行。
在本公开内容的实施方式中,计算机为包括硬件和操作系统(OS)的概念,并且是指在OS的控制下进行操作的硬件。此外,当OS是不必要的并且硬件仅由应用程序操作时,硬件本身对应于计算机。硬件至少包括微处理器,例如CPU和用于读取记录在记录介质中的计算机程序的单元。在本公开内容的实施方式中,服务器2和CM11用作计算机。
(B)操作
接下来将参照图7至图9来描述存储系统1的操作。
首先,将参照图7来描述启动多路径驱动器单元3时的处理。
图7是示出作为本公开内容的实施方式的示例的初始化处理的流程图(从步骤SA1起的SA11、SB1和SB2)。
在步骤SA1处,服务器2启动并且多路径驱动器单元3被加载,使得在例如服务器2的存储器(未示出)中得到服务器侧超时表4。
在步骤SA2处,多路径驱动器单元3识别存储设备10和20的LUN并且构建多路径。在此情况下,多路径驱动单元3获取存储设备10和20的磁盘类型作为查询命令等。此外,多路径驱动器单元3将所获取的磁盘类型记录在LUN信息7中(参见例如图1)。
然后,超时表采集单元5对连接至服务器2的存储设备10和20中的每个设备执行后续步骤SA3至SA11的处理。
首先,在步骤SA4处,超时表采集单元5向存储设备10和20发出例如查询命令并且查询存储设备10和20是否对应于超时。
在步骤SB1处,存储设备10返回表示存储设备10对应于超时的信息,作为查询命令的响应。然而,超时不对应存储设备20没有返回这样的信息。
在步骤SA5处,超时表采集单元5确定是否从存储设备10和20返回表示超时对应的响应。
当返回表示超时对应的响应时(参见步骤SA5的“是”路线),在步骤SA6,超时表采集单元5向存储设备10发出用于获取超时表14的命令。
在步骤SB2处,存储设备10将超时表14传输至服务器2。
在步骤SA7处,超时表采集单元5从存储设备10获取超时表14并且将所获取的超时表14的数据添加到在步骤SA1处得到的服务器侧超时表4。
在步骤SA8处,超时表采集单元5向存储设备10的每个LUN发出查询命令,并且获取设备名称和磁盘类型。
在步骤SA9处,超时表采集单元5将在步骤SA8处获取的设备名称和磁盘类型添加到超时表采集单元5的LUN信息7中。
然而,当没有返回表示超时对应的响应时(参见步骤SA5的“否”路线),由于存储设备20为不对应存储设备,所以在步骤SA10处超时表采集单元5在LUN信息7中设定标志,以允许存储设备20使用默认超时值。
超时表采集单元5通过对连接到至服务器3所有存储设备10和20执行步骤SA3至SA11的处理而获取关于所有存储设备10和20的信息。
接下来,将参照图8描述在发出IO并响应IO时的处理。
图8是示出作为本公开内容的实施方式的示例的在发出IO并响应IO时的处理的流程图(步骤SC1至SC16)。
在步骤SC1处,超时时间获取单元6确定意图发出IO的存储设备10和20是否为超时对应存储设备。在此情况下,超时时间获取单元6调查设备信息和磁盘类型是否存在于LUN信息7中,如果存在,则确定存储设备为超时对应存储设备。
在超时对应存储设备的情况下(参见步骤SC1的“是”路线),在步骤SC2处超时时间获取单元6参考服务器侧超时表4以获取超时值。详细地,超时时间获取单元6基于关于LUN信息7的存储设备10和LUN的磁盘13的信息来参考服务器侧超时表4的记录。例如,当IO的发出目的地的LUN为“E4000-6A0299”并且磁盘类型为“SSD”时,超时时间获取单元6参考图4的服务器侧超时表4以获取“10秒”作为第一IO的超时时间。
然而,在不具有超时表14并且不可以从外部设定超时值的存储设备20的情况下(参见步骤SC1的“否”路线),超时时间获取单元6在步骤SC3处参考用于默认的记录以获取其超时值。例如,超时时间获取单元6获取“40秒”作为超时时间。
在步骤SC4处,超时时间获取单元6确认是否存在可以发出IO的另一路径。
当另外存在可以发出IO的另一路径时(参见步骤SC4的“是”路线),超时时间获取单元6在步骤SC5处确定IO为首次尝试还是重试。
当IO为首次尝试时(参见步骤SC5的“是”路线),在步骤SC6处,超时时间获取单元6在IO中设定在步骤SC2或SC3处参考的记录的最前路径的超时时间。如上所述,在发出第一IO时,超时时间获取单元6使用具有短的最前路径的超时时间。虽然超时时间短,但是该值足够长以使得不会被误检测为正常IO性能中的超时。
当IO为重试时(参见步骤SC5的“否”路线),在步骤SC7处,超时时间获取单元6在IO中设定在步骤SC2或SC3处参考的记录的中间路径的超时时间。在此情况下,当IO的发出目的地的路径30为通过待机CM11的路径时,将超时表14的CM系数字段47的值乘以超时时间。
然而,当在步骤SC4处不存在可以发出IO的另一路径时,也就是说,在最后路径的情况下(参见步骤SC4的“否”路线),在步骤SC8处,超时时间获取单元6在IO中设定在步骤SC2或SC3处选择的记录的最后路径的超时值。甚至在此情况下,当IO的发出目的地的路径30为通过待机CM11的路径时,超时表14的CM系数字段47的值也乘以超时时间。
在步骤SC9处,IO发出单元8发出IO。
在步骤SC10处,IO发出单元8接收所返回的IO的响应,以确定是否发生除超时之外的错误。
在除超时之外的错误的情况下(参见步骤SC10的“是”路线),IO发出单元8在步骤SC11处根据需要重试IO。
然而,在超时错误的情况下(参见步骤SC10的“否”路线),在步骤SC12处,IO发出单元8确定是否形成超时。
在超时的情况下(参见步骤SC12的“是”路线),IO发出单元8在步骤SC13处确定是否存在替代路径并且重试次数是否没有超过最大重试频数(超出重试)。
如果存在替代路径并且重试次数没有超过最大重试频数(参见步骤SC13的“是”路线),IO发出单元8在步骤SC14处返回到步骤SC4以改变路径并且重试IO。
然而,当在步骤SC13处不存在替代路径或重试次数超过最大重试频数时(步骤SC13处的“否”路线),IO发出单元8在步骤SC16处确定IO错误地结束。
当在步骤SC12处未形成超时时(参见步骤SC12的“是”路线),IO发出单元8在步骤SC15处确定IO正常结束。
接下来,将参照图9描述在更新磁盘13和23的超时值以及更新存储设备10和20的超时表14时的处理。
如上所述,除如参照图7所描述的识别存储设备10的时间之外,可以更新超时表14。作为这样的情况,可存在如下情况:其中存储设备10的固件被更新以使得例如存储设备10具有改进的性能。
在此情况下,存储设备10使用例如特定的感知信息将超时表14的更新通知给多路径驱动器单元3。多路径驱动器单元3使用例如查询命令来获取更新的超时表14并且更新服务器侧超时表4。
图9是示出作为本实施方式的示例的超时值的更新处理的流程图(步骤SD1至SD4以及SE1至SE6)。
在步骤SD1处,存储设备10的超时时间改变单元15更新固件或检测例如磁盘13和23的高载荷或载荷的消除,由此改变超时表14的超时值。
在步骤SD2处,超时时间改变单元15设定(准备)用于将超时时间的更新通知给服务器2的感知。
如上所述,感知是用于在存储设备10和20响应来自服务器2的IO时通知服务器2的消息。出于此原因,除非从服务器2发出IO,否则存储设备10的超时时间改变单元15不将超时表14的更新通知给服务器2。
在步骤SE1处,从例如服务器2的应用发出正常IO。
在步骤SD3处,存储设备10的超时时间改变单元15使在步骤SD2处设定的感知响应服务器IO。
在步骤SE2处,服务器2的IO发出单元8接收感知消息以及在步骤SE1发出的IO的响应。
在步骤SE3处,服务器2的IO发出单元8确定IO正常响应并且结束IO的处理。
在步骤SE4处,服务器2的超时表采集单元5向存储设备10发出超时表获取命令。
在步骤SD4处,存储设备10的超时时间改变单元15将更新后的超时表14传输至服务器2。
在步骤SE5处,服务器2的超时表采集单元5获取超时表14,并且使用所获取的超时表14来更新服务器侧超时表14。
在步骤SE6处,服务器2的IO发出单元8使用更新的超时值来发出IO。
(C)修改例
(C-1)第一修改例
在上述实施方式中,针对最前路径、中间路径以及最后路径中的每条路径设定超时时间。
然而,作为上述实施方式的第一修改例,可以通过布置图2至图4所示的最前路径和中间路径作为“存在替代路径的情况”来简化处理。
图10示出在将最前路径和中间路径布置为“存在替代路径的情况”时的服务器侧超时表204。
图10是示出本公开内容的实施方式的第一修改例中的服务器侧超时表204的图。
服务器侧超时表204具有在存在替代路径的情况下的超时时间字段48,而不是根据本公开内容的实施方式的服务器侧超时表4的最前路径的超时时间44和中间路径的超时时间40。
在多路径环境的情况下,在存在替代路径的情况下的超时时间字段48存储在除最后路径之外的路径中使用的超时时间。
服务器侧超时表204的其它字段与上述实施方式的字段相同,因此将省略其描述。
虽然未具体示出,但是在如上所述的本公开内容的实施方式的第一修改例中,存储设备10侧的超时表14也具有在存在替代路径的情况下的超时时间字段,而不是超时时间字段144至145。
超时时间获取单元6参考服务器侧超时表204以针对除最后路径之外的路径来设定在超时时间字段48中所设定的值,从而发出IO。在最后路径的情况下,通过使用在最后路径的超时时间字段46中设定的值来发出IO。
(C-2)第二修改例
可替选地,作为本公开内容的实施方式的第二修改例,超时时间获取单元6可以使用图10的服务器侧超时表204并且在最前路径中设定在超时时间字段48中所设定的值以发出IO。此外,可以按照第二路径、第三路径等的顺序设定略长的值。
(C-3)第三修改例
可替选地,作为本公开内容的实施方式的第三修改例,可以设定服务器侧超时表4的仅一个超时时间,而不是设定服务器侧超时表4中的多个超时时间。在此情况下,超时时间获取单元6可以通过将超时时间乘以取决于可以重试的剩余路径的数目的系数而使超时时间变短。多路径驱动器单元3可以独立具有该系数。
(C-4)第四修改例
可替选地,作为本公开内容的实施方式的第四修改例,如图11所示,可以按照最前路径、第二路径、...、第N条路径(例如,N是2或更大的整数)的顺序在服务器侧超时表304中设定所有路径的超时时间。
图11示出设定所有路径的超时时间的服务器侧超时表304。
图11是示出本公开内容的实施方式的第四修改例中的服务器侧超时表304的图。
服务器侧超时表304具有用于最前路径、第二路径、...、第N条路径中的每条路径的超时时间字段44、45-1至45-(N-2)以及46。
(C-5)第五修改例
取决于存储设备10,LUN可以被构造为多种存储器。其示例可以包括LUN级联或自动精简配置(thin provisioning)。在LUN级联或自动精简配置中,在单个LUN中混合多个RAID组或者多种磁盘类型。
因此,作为本公开内容的实施方式的第五修改例,多路径驱动器单元3使用查询命令从存储设备10和20获取逻辑块地址(LBA)范围以及LUN单元中的磁盘类型。此外,多路径驱动器单元3将所获取的信息存储在LUN管理表50中,如图12所示。LUN管理表50是针对每个LUN而准备的。
图12是示出本公开内容的实施方式的第五修改例的LUN管理表50的图。
LUN管理表50具有设备识别信息字段51、磁盘类型字段52、起始LBA字段53和结束LBA字段54。
设备识别信息字段51表示识别存储设备10的信息。例如,设备识别信息字段51存储有通过连接存储设备10的型号名称和序列号形成的字符串。
磁盘类型字段52表示存储设备10内的磁盘类型。例如,磁盘类型字段52存储有表示磁盘的性能或特性的字符串,例如“HDD10000”、“HDD15000”、“SSD”以及“NEARLINE”。“HDD10000”表示旋转速度为10,000RPM的HDD,而“HDD15000”表示旋转速度为15,000RPM的HDD。“SSD”表示固态驱动器而“NEARLINE”表示近线。
起始LBA字段53表示磁盘类型字段52的磁盘的头部处的LBA。
结束LBA字段53表示磁盘类型字段52的磁盘的尾部处的LBA。
超时时间获取单元6参考超时表4和LUN管理表50,以根据IO的发出位置来改变超时时间。
例如,示出了如下示例:其中图12所示的LUN由针对每10000个LBA的两种磁盘13和23级联。
在该示例中,在IO在LBA0至LBA9999的范围内存取的情况下,超时时间获取单元6使用在HDD150000中设定的超时值。然而,当存在在LBA10000至LBA19999的范围内的存取时,超时时间获取单元6使用在HDD10000中设定的超时值。
在IO介于LBA9999至LBA10000的范围内的情况下,超时时间获取单元6使用在具有长超时时间的HDD10000中设定的超时值,由此即使HDD10000稍微延迟,也防止发生超时。
(D)效果
如上所述,根据本公开内容的实施方式的示例及其每个修改例,当在多路径环境下存在替代路径时,通过在从服务器向存储设备发出IO时设定短超时时间而发出IO。在IO中发生超时时,切换路径以设定比之前时间更长的超时时间以使得重试IO,从而缩短IO响应时间。因此,当发生异常时,可以缩短直到发生错误响应或路径切换为止的时间,从而缩短总IO响应时间。
详细地,根据本公开内容的实施方式的示例及其修改例,在将关于磁盘13的类型或最优IO超时时间的信息预先存储到存储设备10中并且服务器2识别到存储设备10的情况下,该信息被传送至服务器2。此外,多路径驱动器单元3的超时时间获取单元6基于在发出IO时从存储设备10获取的超时表14来获取最优IO超时时间。因此,在考虑存储设备10的磁盘13的类型和剩余路径的数目的情况下,多路径驱动器单元3可以设定最优IO超时时间。
根据本公开内容的实施方式的示例及其修改例,由于超时表4和14有CM系数43和143,可以在考虑存储设备10的CM(例如关于是否为专有CM)的性能的情况下适当地设定超时时间。
根据本公开内容的实施方式的示例及其修改例,存储设备10的超时时间改变单元15检测例如高载荷和/或故障以将超时表14的超时时间设定为略长。因此,可以缩短IO响应时间。
在此情况下,由于超时时间改变单元15使用感知将超时值的变化通知给服务器2,所以可以在存储设备10侧更新超时值时抑制网络载荷的增加。
(E)其它
所公开的技术不限于上述实施方式,并且因此可以在不背离本公开内容的实施方式的范围的情况下通过进行各种改变来实施。
例如,根据本公开内容的实施方式及其修改例,通过使用查询命令从存储设备10和20获取超时对应/不对应条件或超时表14。然而,可以通过使用其它命令来获取信息。
可替选地,根据本公开内容的实施方式及其修改例,根据CM是专有CM还是非专有CM来设定CM系数,但是可以根据在从服务器2观看时路径是专有路径还是非专有路径来设定“路径系数”。
根据本公开内容的实施方式及其修改例,存储设备10的超时时间改变单元15使用感知将超时表14被更新的事实通知给服务器2。然而,可以通过使用其它方法来通知更新。此外,一旦存储设备10更新超时表14,存储设备10就可以将超时表14传送至服务器2。
(F)声明
参照以上实施方式公开所附权利要求。
本文中所记载的所有实施例和条件用语意图用于教导的目的,以帮助读者理解本公开内容和由本发明人为促进技术而贡献的构思,并且应当被理解为不限于这些具体记载的示例和条件,而且说明书中的这些示例的组织也不涉及表明本公开内容的优势和劣势。尽管已经详细地描述了本公开内容的实施方案,但是应当理解,可以在不背离本公开内容的精神和范围的情况下对其做出各种变化、替代和改变。
Claims (16)
1.一种信息处理设备,包括:
存储单元,经由多条路径连接至存储设备,并且被配置为存储关于所述多条路径中的每条路径的超时时间的管理信息;以及
获取单元,被配置为对于用于针对所述存储单元的输入或输出请求的发出方的路径和另一路径,从所述存储单元获取按照每条路径的超时时间量。
2.根据权利要求1所述的信息处理设备,还包括:
采集单元,被配置为采集所述管理信息并且将所采集的管理信息存储在所述存储单元中;以及
发出单元,被配置为通过使用由所述获取单元获取的所述超时时间向所述存储设备发出输入和输出。
3.根据权利要求2所述的信息处理设备,其中,所述采集单元从所述存储设备采集所述多条路径的多个输入和输出超时时间作为所述管理信息;以及
所述获取单元针对所述多条路径中的第一路径获取第一输入和输出超时时间,以及当在针对所述第一路径的输入和输出上发生超时错误时,所述获取单元针对所述多条路径中的不同于所述第一路径的第二路径获取比所述第一输入和输出超时时间更长的第二输入和输出超时时间。
4.根据权利要求3所述的信息处理设备,其中,所述第一输入和输出超时时间是所述多条路径中的除最后路径之外的路径的超时时间;以及
所述第二输入和输出超时时间是所述多条路径中的所述最后路径的超时时间。
5.根据权利要求4所述的信息处理设备,其中,当在针对所述第一路径的所述输入和输出上发生超时错误时,在向所述第二路径发出所述输入和输出之前,所述获取单元针对所述多条路径中的与所述第一路径和所述第二路径不同的第三路径获取第三输入和输出超时时间,所述第三输入和输出超时时间比所述第一输入和输出超时时间更长且比所述第二输入和输出超时时间更短。
6.根据权利要求2所述的信息处理设备,其中,当在所述存储设备中所述多个输入和输出超时时间改变时,所述采集单元采集改变之后的所述多个输入和输出超时时间作为所述管理信息。
7.一种存储设备,包括:
存储单元,经由多条路径连接至信息处理设备,并且被配置为存储所述多条路径的多个输入和输出超时时间;以及
传输单元,被配置为:当所述信息处理设备需要所述多个输入和输出超时时间时,将所述多个输入和输出超时时间传输给所述信息处理设备。
8.根据权利要求7所述的存储设备,还包括:
改变单元,被配置为根据所述多条路径中的每条路径的状况来改变所述多个输入和输出超时时间,
其中,当所述传输单元接收到来自所述信息处理设备的输入和输出时,所述传输单元将由所述改变单元改变的所述多个输入和输出超时时间传输给所述信息处理设备。
9.一种信息处理系统,包括:
信息处理设备;
存储设备,经由多条路径连接至所述信息处理设备;
存储单元,被配置为存储针对所述多条路径中的每条路径的超时时间的管理信息;以及
获取单元,被配置为根据从所述信息处理设备到所述存储设备的输入和输出发出目的地的一条路径和另一路径,从所述存储单元获取所述一条路径和所述另一路径的超时时间。
10.根据权利要求9所述的信息处理系统,还包括:
采集单元,被配置为采集所述管理信息并且将所采集的管理信息存储在所述存储单元中;以及
发出单元,被配置为通过使用由所述获取单元获取的所述超时时间向所述存储设备发出来自所述信息处理设备的输入和输出。
11.根据权利要求10所述的信息处理系统,其中,所述采集单元从所述存储设备采集所述多条路径的多个输入和输出超时时间作为所述管理信息;以及
所述获取单元针对所述多条路径中的第一路径获取第一输入和输出超时时间,以及当在针对所述第一路径的所述输入和输出上发生超时错误时,所述获取单元针对所述多条路径中的不同于所述第一路径的第二路径,获取比所述第一输入和输出超时时间更长的第二输入和输出超时时间。
12.根据权利要求11所述的信息处理系统,其中,所述第一输入和输出超时时间是所述多条路径中的除最后路径之外的路径的超时时间;以及
所述第二输入和输出超时时间是所述多条路径中的所述最后路径的超时时间。
13.根据权利要求12所述的信息处理系统,其中,当在针对所述第一路径的所述输入和输出上发生超时错误时,在向所述第二路径发出所述输入和输出之前,所述获取单元针对所述多条路径中的与所述第一路径和所述第二路径不同的第三路径获取第三输入和输出超时时间,所述第三输入和输出超时时间比所述第一输入和输出超时时间更长且比所述第二输入和输出超时时间更短。
14.根据权利要求10所述的信息处理系统,其中,当在所述存储设备中所述多个输入和输出超时时间改变时,所述采集单元采集改变之后的所述多个输入和输出超时时间作为所述管理信息。
15.一种输入和输出方法,包括:
经由多条路径将存储设备连接至信息处理设备;
将针对所述多条路径中的每条路径的超时时间的管理信息存储在所述存储设备的存储单元中;以及
根据针对所述存储设备的输入/输出发出目的地的一条路径和另一路径,从所述存储单元获取所述一条路径和所述另一路径的所述超时时间。
16.一种计算机可读记录介质,所述计算机可读记录介质存储计算机可执行程序,所述计算机可执行程序在被执行时使计算机执行输入和输出方法,所述输入和输出方法包括:
经由多条路径将存储设备连接至信息处理设备;
将针对所述多条路径中的每条路径的超时时间的管理信息存储在所述存储设备的存储单元中;以及
根据针对所述存储设备的输入/输出发出目的地的一条路径和另一路径,从所述存储单元获取所述一条路径和所述另一路径的所述超时时间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012277129A JP6031992B2 (ja) | 2012-12-19 | 2012-12-19 | 情報処理装置、情報処理システム、入出力方法及び入出力プログラム |
JP2012-277129 | 2012-12-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103885722A true CN103885722A (zh) | 2014-06-25 |
Family
ID=49683534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310675159.9A Pending CN103885722A (zh) | 2012-12-19 | 2013-12-11 | 信息处理设备及系统、存储设备与输入和输出方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9092144B2 (zh) |
EP (1) | EP2746928A2 (zh) |
JP (1) | JP6031992B2 (zh) |
KR (1) | KR20140079716A (zh) |
CN (1) | CN103885722A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107204888A (zh) * | 2016-03-16 | 2017-09-26 | 华为技术有限公司 | 一种切换超时时间的方法、装置和通信设备 |
CN107861847A (zh) * | 2017-10-31 | 2018-03-30 | 郑州云海信息技术有限公司 | 一种路径动态检测方法、装置及设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5928399B2 (ja) * | 2013-04-05 | 2016-06-01 | コニカミノルタ株式会社 | 画像形成システム及び画像形成システム通信制御方法 |
JP6670790B2 (ja) * | 2017-03-30 | 2020-03-25 | 京セラ株式会社 | 電源制御方法、分散電源及び制御装置 |
US11520671B2 (en) * | 2020-01-29 | 2022-12-06 | EMC IP Holding Company LLC | Fast multipath failover |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3201219B2 (ja) * | 1995-05-29 | 2001-08-20 | 三菱電機株式会社 | 入出力処理システム |
JP2000276824A (ja) | 1999-03-24 | 2000-10-06 | Fujitsu Ltd | ライブラリ装置およびライブラリ制御装置 |
JP2005318073A (ja) * | 2004-04-27 | 2005-11-10 | Hitachi Ltd | 通信装置、その動作プログラム、及び通信方法 |
JP4927339B2 (ja) | 2005-02-23 | 2012-05-09 | 株式会社日立製作所 | 記憶制御装置及びその制御方法 |
JP4394670B2 (ja) * | 2006-09-28 | 2010-01-06 | 株式会社日立製作所 | ディスク制御装置及びストレージシステム |
JP5146032B2 (ja) | 2008-03-17 | 2013-02-20 | 富士通株式会社 | 入出力制御方法、制御装置及びプログラム |
US7844757B2 (en) * | 2008-06-12 | 2010-11-30 | International Machines Business Corporation | Method and system for providing multiple paths to user data stored on a SCSI disk |
JP5593184B2 (ja) * | 2010-09-30 | 2014-09-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチパスを使用するシステム及び方法 |
-
2012
- 2012-12-19 JP JP2012277129A patent/JP6031992B2/ja active Active
-
2013
- 2013-11-25 US US14/088,566 patent/US9092144B2/en active Active
- 2013-11-27 EP EP13194610.5A patent/EP2746928A2/en not_active Withdrawn
- 2013-12-11 KR KR1020130153871A patent/KR20140079716A/ko not_active Application Discontinuation
- 2013-12-11 CN CN201310675159.9A patent/CN103885722A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107204888A (zh) * | 2016-03-16 | 2017-09-26 | 华为技术有限公司 | 一种切换超时时间的方法、装置和通信设备 |
CN107204888B (zh) * | 2016-03-16 | 2020-02-14 | 华为技术有限公司 | 一种切换超时时间的方法、装置和通信设备 |
CN107861847A (zh) * | 2017-10-31 | 2018-03-30 | 郑州云海信息技术有限公司 | 一种路径动态检测方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2014120125A (ja) | 2014-06-30 |
US20140173144A1 (en) | 2014-06-19 |
US9092144B2 (en) | 2015-07-28 |
KR20140079716A (ko) | 2014-06-27 |
EP2746928A2 (en) | 2014-06-25 |
JP6031992B2 (ja) | 2016-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103885722A (zh) | 信息处理设备及系统、存储设备与输入和输出方法 | |
CN103970688B (zh) | 缩短数据存储系统中写入等待时间的方法和系统 | |
JP5922016B2 (ja) | データストレージデバイス | |
US9335942B2 (en) | Methods and structure for LUN masking in a switching device | |
CN100520695C (zh) | 存储控制装置及其控制方法 | |
WO2016003408A1 (en) | Runtime drive detection and configuration | |
US9904474B2 (en) | Control device and storage system | |
US20090077284A1 (en) | System and Method for Enhancing External Storage | |
JP6484965B2 (ja) | ストレージ装置、ファームウェアの更新方法、およびファームウェアの更新プログラム | |
US20140032839A1 (en) | Storage system and method for controlling storage system | |
US20160147478A1 (en) | System, method and relay device | |
JPWO2015097751A1 (ja) | 不揮発性キャッシュメモリにデータをバックアップするストレージシステム | |
EP1748616B1 (en) | Network-attached storage device having a connection to a local device | |
JP2014215666A (ja) | 制御システム,制御装置及び制御プログラム | |
JP2014215666A5 (zh) | ||
CN101004659A (zh) | 支持sata和usb接口的移动存储方法及装置 | |
US7752471B1 (en) | Adaptive USB mass storage devices that reduce power consumption | |
CN104471548A (zh) | 采用数据管理机制的存储系统及其操作的方法 | |
JP6390281B2 (ja) | 情報処理装置、ストレージ制御装置、情報処理プログラム、ストレージ制御プログラムおよび情報処理システム | |
JP2020077137A (ja) | ストレージシステム | |
US8631177B1 (en) | Multi-port device with controller for storage media device port | |
US20180364936A1 (en) | Storage control device, method and non-transitory computer-readable storage medium | |
JP2016539418A (ja) | 不揮発性メモリベースの記憶装置において情報をルーティングする装置および方法 | |
JP2015184895A (ja) | ストレージ制御装置、ストレージ装置、及びストレージ制御プログラム | |
JP2015215708A (ja) | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140625 |
|
WD01 | Invention patent application deemed withdrawn after publication |