信息處理設(shè)備及系統(tǒng)、存儲(chǔ)設(shè)備與輸入和輸出方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種信息處理設(shè)備及系統(tǒng)、存儲(chǔ)設(shè)備與輸入和輸出方法。一種輸入和輸出方法包括:經(jīng)由多條路徑將存儲(chǔ)設(shè)備連接至信息處理設(shè)備;將針對(duì)多條路徑中的每條路徑的超時(shí)時(shí)間的管理信息存儲(chǔ)到存儲(chǔ)設(shè)備的存儲(chǔ)單元中;以及根據(jù)針對(duì)所述存儲(chǔ)設(shè)備的輸入/輸出發(fā)出目的地的一條路徑和另一路徑,從所述存儲(chǔ)單元獲取所述一條路徑和所述另一路徑的所述超時(shí)時(shí)間。
【專(zhuān)利說(shuō)明】信息處理設(shè)備及系統(tǒng)、存儲(chǔ)設(shè)備與輸入和輸出方法
【技術(shù)領(lǐng)域】
[0001]本公開(kāi)內(nèi)容涉及信息處理設(shè)備、存儲(chǔ)設(shè)備、信息處理系統(tǒng)以及輸入/輸出方法。
【背景技術(shù)】
[0002]不需要物理操作的固態(tài)驅(qū)動(dòng)器(SSD)或高性能存儲(chǔ)裝置已經(jīng)隨著近期技術(shù)的進(jìn)步而得到發(fā)展。
[0003]隨著各種技術(shù)的出現(xiàn),例如將新信息存儲(chǔ)在高速磁盤(pán)上而將舊信息存儲(chǔ)在低速低價(jià)格的磁盤(pán)上的信息生命周期管理(ILM)、層次化和虛擬化的出現(xiàn),已普遍接受在存儲(chǔ)設(shè)備中混合各種磁盤(pán)。出于此原因,例如,快速可訪問(wèn)存儲(chǔ)裝置如SSD和具有低存取速度的硬盤(pán)驅(qū)動(dòng)器(HDD)通常可以共存于存儲(chǔ)設(shè)備中。
[0004]圖13是不出根據(jù)相關(guān)技術(shù)的存儲(chǔ)系統(tǒng)101的圖。
[0005]在如圖13所示的存儲(chǔ)系統(tǒng)101中,例如,多個(gè)存儲(chǔ)設(shè)備110和120經(jīng)由路徑130_1至130-6通信地連接至服務(wù)器102。
[0006]服務(wù)器102可以是下述信息處理設(shè)備:其向所連接的存儲(chǔ)設(shè)備110和120的卷(volume)寫(xiě)入數(shù)據(jù)或從所連接的存儲(chǔ)設(shè)備110和120的卷讀取數(shù)據(jù)。例如,服務(wù)器102執(zhí)行對(duì)存儲(chǔ)設(shè)備110和120的卷的讀或?qū)懨畹臄?shù)據(jù)存取請(qǐng)求。存儲(chǔ)設(shè)備110和120根據(jù)數(shù)據(jù)存取請(qǐng)求執(zhí)行對(duì)卷的數(shù)據(jù)存取并響應(yīng)服務(wù)器102。服務(wù)器2包括例如中央處理單元(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)以及只讀存儲(chǔ)器(ROM),其均未示出。此外,服務(wù)器102包括多路徑驅(qū)動(dòng)器單元103、邏輯單元號(hào)(LUN)信息107-1至107-6以及主機(jī)總線適配器(HBA) 109-1至 109-6。
[0007]在存在至存儲(chǔ)設(shè)備110和120的多條路徑的多路徑環(huán)境下,多路徑驅(qū)動(dòng)器單元103在發(fā)生輸入/輸出(IO)超時(shí)時(shí)切換存取路徑以重試10。IO超時(shí)表示超過(guò)了超時(shí)時(shí)間(被稱(chēng)為超時(shí)值),該超時(shí)時(shí)間為從發(fā)出IO命令的時(shí)間直到返回對(duì)IO命令的響應(yīng)為止的最大等待時(shí)間。
[0008]LUN信息107-1至107-6是關(guān)于連接至服務(wù)器102的存儲(chǔ)設(shè)備110和120的LUN的信息。對(duì)于每個(gè)LUN,例如將LUN的磁盤(pán)類(lèi)型(例如,“SSD”)或設(shè)備識(shí)別信息(例如,“A4000-6A0298”)存儲(chǔ)在 LUN 信息 107-1 至 107-6 中。
[0009]HBA109-1至109_6是將服務(wù)器102連接至外部裝置(例如像存儲(chǔ)裝置)的適配器。HBA109-1至109-6的示例可以包括SCSI適配器、光纖信道(FC)適配器以及串行ATA適配器。可替選地,HBA109-1至109-6可以是基于IDE、以太網(wǎng)(注冊(cè)商標(biāo))、火線(注冊(cè)商標(biāo))、通用串行總線(USB)等來(lái)連接設(shè)備的裝置。
[0010]存儲(chǔ)設(shè)備110為服務(wù)器102提供存儲(chǔ)區(qū),并且是例如RAID設(shè)備。在圖13的示例中,存儲(chǔ)設(shè)備110以“A4000”作為設(shè)備名稱(chēng)并且以“6A0298”作為ID。存儲(chǔ)設(shè)備110包括控制器模塊(CM) 111-1和111-2以及磁盤(pán)113-1至113-4。
[0011]除信道適配器112-1和112-2之外,CMlll-1包括例如CPU、存儲(chǔ)器和高速緩沖存儲(chǔ)器(均未示出),并且執(zhí)行IO處理。[0012]除CA (信道適配器)112-3和112-4之外,CM111-2包括例如CPU、存儲(chǔ)器和高速緩沖存儲(chǔ)器(均未示出),并且執(zhí)行IO處理。
[0013]在此配置中,CMlll-1和CM111-2具有相同配置。此外,CA112-1至CA112-4具有
相同配置。
[0014]CAl 12-1至112-4是通信地連接至服務(wù)器102的接口控制器,并且可以是例如光纖信道適配器。CA112-1、112-2和112-4分別經(jīng)由相應(yīng)的路徑130-1至130-3而連接至服務(wù)器的 HBA109-1 至 109-3。
[0015]路徑130-1至130-3將服務(wù)器102連接至存儲(chǔ)設(shè)備110,并且可以是例如光纖信道。
[0016]磁盤(pán)113-1至113-4是能夠存儲(chǔ)信息的存儲(chǔ)設(shè)備,并且包括例如近線驅(qū)動(dòng)器(在下文中稱(chēng)為近線)113-1、HDD113-2和113-3、以及SSD113-4。嚴(yán)格地說(shuō),SSD不是磁盤(pán),但為了便于說(shuō)明,如同近線或HDD —樣,同樣將SSD當(dāng)作磁盤(pán)來(lái)處理。
[0017]近線113-1是如下存儲(chǔ)驅(qū)動(dòng)器:其使用已被施加磁性物質(zhì)的盤(pán)作為記錄介質(zhì),并移動(dòng)磁頭以從高速旋轉(zhuǎn)的盤(pán)讀取信息以及向高速旋轉(zhuǎn)的盤(pán)寫(xiě)入信息。近線113-1通常具有比HDD113-2和113-3的容量大的容量,但具有降低的存取速度。
[0018]HDD113-2和113_3各自為如下存儲(chǔ)驅(qū)動(dòng)器:其使用已被施加磁性物質(zhì)的盤(pán)作為記錄介質(zhì),并移動(dòng)磁頭以從高速旋轉(zhuǎn)的盤(pán)讀取信息以及向高速旋轉(zhuǎn)的盤(pán)寫(xiě)入信息。
[0019]SSDl 13-4是如下存儲(chǔ)驅(qū)動(dòng)器:其使用半導(dǎo)體器件存儲(chǔ)器作為存儲(chǔ)設(shè)備并且被稱(chēng)為硅磁盤(pán)驅(qū)動(dòng)器或半導(dǎo)體磁盤(pán)驅(qū)動(dòng)器。由于SSD33通常不像近線113-1以及HDD113-2和113-3那樣具有磁頭的移動(dòng)伴有的頭尋道時(shí)間(head seek time),所以SSD33可以以比近線113-1以及HDD113-2和113-3高的速度執(zhí)行隨機(jī)存取。然而,由于SSD33采用半導(dǎo)體存儲(chǔ)器,所以SSD33通常比近線113-1或HDDl 13-2和113-3更昂貴。
[0020]存儲(chǔ)設(shè)備120為服務(wù)器102提供存儲(chǔ)區(qū),并且可以是例如RAID設(shè)備。在圖13的示例中,存儲(chǔ)設(shè)備120以“A3000”作為設(shè)備名稱(chēng)并且以“4A0290”作為ID。存儲(chǔ)設(shè)備120包括 CM121-1 和 121-2 以及磁盤(pán) 123-1 和 123-2。
[0021]除CA122-1和122-2之外,CM121-1包括例如CPU、存儲(chǔ)器和高速緩沖存儲(chǔ)器(均未示出),并且執(zhí)行IO處理。
[0022]除CA122-3和122_4之外,CM121-2包括例如CPU、存儲(chǔ)器和高速緩沖存儲(chǔ)器(均未示出),并且執(zhí)行IO處理。
[0023]CA122-1至122_4各自為通信地連接至服務(wù)器102的接口控制器,并且可以為例如光纖信道適配器。CA122-1、122-2和122-4分別經(jīng)由相應(yīng)的路徑130-4至130-6而連接到服務(wù)器的HBA109-4至109-6。
[0024]這里,CM121-1和CM121-2具有相同配置。此外,CA122-1至CA122-4具有相同配置。
[0025]路徑130-4至130-6各自為將服務(wù)器102連接到存儲(chǔ)設(shè)備120的路徑,并且可以為例如FC。
[0026]磁盤(pán)123-1和123-2各自為能夠存儲(chǔ)信息的存儲(chǔ)設(shè)備,并且可以為例如HDD123-1和 123-2。
[0027]HDD123-1和123_2各自為如下存儲(chǔ)驅(qū)動(dòng)器:其使用已被施加磁性物質(zhì)的盤(pán)作為記錄介質(zhì),并移動(dòng)磁頭以從高速旋轉(zhuǎn)的盤(pán)讀取信息以及向高速旋轉(zhuǎn)的盤(pán)寫(xiě)入信息。
[0028]在存儲(chǔ)系統(tǒng)101中,從服務(wù)器102針對(duì)存儲(chǔ)設(shè)備110和120生成IO存取。
[0029]在此配置中,服務(wù)器102側(cè)設(shè)置超時(shí)時(shí)間(在下文中,將超時(shí)時(shí)間稱(chēng)為“10超時(shí)時(shí)間”),該超時(shí)時(shí)間為在服務(wù)器102發(fā)出IO請(qǐng)求之后等待來(lái)自存儲(chǔ)設(shè)備110和120的響應(yīng)的最大時(shí)間。
[0030]當(dāng)由于例如存儲(chǔ)設(shè)備110和120的故障而導(dǎo)致甚至在服務(wù)器102側(cè)設(shè)定的時(shí)間經(jīng)過(guò)IO超時(shí)時(shí)間之后也不存在來(lái)自存儲(chǔ)設(shè)備110和120的響應(yīng)時(shí),服務(wù)器102認(rèn)為已經(jīng)發(fā)生超時(shí)錯(cuò)誤并執(zhí)行錯(cuò)誤處理。
[0031]從服務(wù)器102向存儲(chǔ)設(shè)備110和120發(fā)出IO之后起直到存儲(chǔ)設(shè)備110和120答復(fù)為止的延遲(latency)變?yōu)槔鏘O請(qǐng)求傳輸時(shí)間、磁盤(pán)尋道時(shí)間、讀/寫(xiě)時(shí)間、IO傳輸時(shí)間等的總和。
[0032]當(dāng)服務(wù)器102將IO超時(shí)時(shí)間設(shè)置為短時(shí),在存儲(chǔ)設(shè)備110和120故障時(shí)的錯(cuò)誤檢測(cè)或路徑切換時(shí)間會(huì)是短的。然而,在IO超時(shí)時(shí)間短的情況下,即使在存儲(chǔ)設(shè)備110和120正常工作時(shí),由于例如存儲(chǔ)設(shè)備110和120的載荷的暫時(shí)增加,在延遲值變得比平常長(zhǎng)時(shí)也將不幸地檢測(cè)到超時(shí)。
[0033]服務(wù)器102可以設(shè)定一個(gè)IO超時(shí)時(shí)間。例如,在Solaris (注冊(cè)商標(biāo))標(biāo)準(zhǔn)驅(qū)動(dòng)器中,IO超時(shí)時(shí)間的默認(rèn)值為60秒。為改變?cè)撝?,用?hù)重寫(xiě)定義并重新啟動(dòng)服務(wù)器102。
[0034]作為現(xiàn)有技術(shù)的示例,參見(jiàn)例如日本專(zhuān)利申請(qǐng)公開(kāi)第2006-235843號(hào)。
[0035]由于SSD113-4具有短存取時(shí)間,所以SSD113-4可以將IO超時(shí)時(shí)間設(shè)定為短值。
[0036]然而,如上所述,在相關(guān)技術(shù)中在存儲(chǔ)設(shè)備110和120中存在一個(gè)設(shè)定的IO超時(shí)值。因此,在將相同的IO超時(shí)值用于較快磁盤(pán)113和較慢磁盤(pán)113兩者并且將IO超時(shí)時(shí)間設(shè)定為小于60秒以與SSD合作時(shí),可能在低速磁盤(pán)中頻繁發(fā)生IO超時(shí)。
[0037]即使存在用于IO的切換目的地的路徑,由于在等待給定時(shí)間直到超時(shí)為止之后執(zhí)行路徑切換,所以將該路徑切換到另一路徑并且然后立即重新發(fā)出IO命令是不可能的。
[0038]本公開(kāi)內(nèi)容的一個(gè)方面的目的是縮短在對(duì)存儲(chǔ)設(shè)備的IO發(fā)出時(shí)的響應(yīng)時(shí)間。
[0039]由在下面要描述的用于實(shí)現(xiàn)本公開(kāi)內(nèi)容的實(shí)施方式中示出的每個(gè)組件得到的且不能通過(guò)相關(guān)技術(shù)獲得的作用和效果可以被看作本申請(qǐng)的其它目的,而不限于上述目的。
【發(fā)明內(nèi)容】
[0040]一種輸入和輸出方法包括:經(jīng)由多條路徑將存儲(chǔ)設(shè)備連接至信息處理設(shè)備;將針對(duì)多條路徑中的每條路徑的超時(shí)時(shí)間的管理信息存儲(chǔ)在存儲(chǔ)設(shè)備的存儲(chǔ)單元中;以及根據(jù)針對(duì)所述存儲(chǔ)設(shè)備的輸入/輸出發(fā)出目的地的一條路徑和另一路徑,從所述存儲(chǔ)單元獲取所述一條路徑和所述另一路徑的所述超時(shí)時(shí)間。
[0041]根據(jù)所公開(kāi)的技術(shù),可縮短在向存儲(chǔ)設(shè)備發(fā)出IO請(qǐng)求時(shí)的響應(yīng)時(shí)間。
[0042]本公開(kāi)內(nèi)容的目的和優(yōu)點(diǎn)將通過(guò)在權(quán)利要求中特別指出的元素和組合來(lái)實(shí)現(xiàn)和獲得。要理解,前面的一般描述和下面的詳細(xì)描述都是示例性和說(shuō)明性的,并且不限制所要求保護(hù)的本公開(kāi)內(nèi)容。
【專(zhuān)利附圖】
【附圖說(shuō)明】[0043]圖1是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例的存儲(chǔ)系統(tǒng)的配置的圖。
[0044]圖2是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例的服務(wù)器側(cè)超時(shí)表的初始狀態(tài)的圖。
[0045]圖3是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例的識(shí)別存儲(chǔ)設(shè)備之后的服務(wù)器側(cè)超時(shí)表的圖。
[0046]圖4是示出將記錄進(jìn)一步添加到圖3的服務(wù)器側(cè)超時(shí)表的示例的圖。
[0047]圖5是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例的存儲(chǔ)設(shè)備側(cè)超時(shí)表的圖。
[0048]圖6是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例的超時(shí)上限表的圖。
[0049]圖7是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例的初始化處理的流程圖。
[0050]圖8是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例的在發(fā)出IO請(qǐng)求和響應(yīng)IO請(qǐng)求時(shí)的處理的流程圖。
[0051]圖9是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例的用于超時(shí)值的更新處理的流程圖。
[0052]圖10是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的第一修改示例的服務(wù)器側(cè)超時(shí)表的圖。
[0053]圖11是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的第四修改示例的服務(wù)器側(cè)超時(shí)表的圖。
[0054]圖12是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的第五修改示例的LUN管理表的圖。
[0055]圖13是示出根據(jù)相關(guān)技術(shù)的存儲(chǔ)系統(tǒng)的圖。
【具體實(shí)施方式】
[0056]在下文中,將參照附圖描述本公開(kāi)內(nèi)容的關(guān)于存儲(chǔ)系統(tǒng)、服務(wù)器、存儲(chǔ)設(shè)備、輸入/輸出方法以及輸入/輸出程序的實(shí)施方式。然而,下面要描述的實(shí)施方式僅是說(shuō)明性的,并且不應(yīng)當(dāng)認(rèn)為未在實(shí)施方式中具體說(shuō)明的各種修改示例或技術(shù)被排除在外。也就是說(shuō),本實(shí)施方式可以在不脫離實(shí)施方式的精神的情況下通過(guò)進(jìn)行各種改變來(lái)實(shí)現(xiàn)。
[0057](A)系統(tǒng)配置
[0058]圖1是示出根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例的存儲(chǔ)系統(tǒng)(信息處理系統(tǒng))1的配置的圖。在如圖1所示的存儲(chǔ)系統(tǒng)I中,多個(gè)存儲(chǔ)設(shè)備10和20 (例如,在圖1所示的示例中為兩個(gè))經(jīng)由具有存儲(chǔ)設(shè)備10和20的路徑30-1至30-6以通信的方式連接至服務(wù)器2。
[0059]服務(wù)器2是下述信息處理設(shè)備:其在所連接的存儲(chǔ)設(shè)備10和20的卷中寫(xiě)入數(shù)據(jù)或從所連接的存儲(chǔ)設(shè)備10和20的卷讀取數(shù)據(jù)。例如,服務(wù)器2針對(duì)關(guān)于存儲(chǔ)設(shè)備10和20的卷的讀取或?qū)懭雸?zhí)行數(shù)據(jù)存取請(qǐng)求。存儲(chǔ)設(shè)備10和20根據(jù)數(shù)據(jù)存取請(qǐng)求來(lái)執(zhí)行關(guān)于卷的數(shù)據(jù)存取并且響應(yīng)服務(wù)器2。服務(wù)器2包括例如未示出的中央處理單元(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。此外,服務(wù)器2包括多路徑驅(qū)動(dòng)單元3、服務(wù)器側(cè)超時(shí)表(存儲(chǔ)單元)4、LUN信息7-1至7-6、以及HBA9-1至9_6。
[0060]多路徑驅(qū)動(dòng)單元3從存儲(chǔ)設(shè)備10獲取超時(shí)信息,并且在多路徑環(huán)境中發(fā)生IO超時(shí)時(shí)切換存取路徑以重試10。多路徑驅(qū)動(dòng)單元3包括超時(shí)表采集單元5 (采集單元)、超時(shí)時(shí)間獲取單元6 (獲取單元)、以及IO發(fā)出單元8 (發(fā)出單元)。
[0061]超時(shí)表采集單元5從存儲(chǔ)設(shè)備10獲取下面要描述的超時(shí)表14,針對(duì)該存儲(chǔ)設(shè)備10,可以通過(guò)外部源來(lái)執(zhí)行IO超時(shí)值的設(shè)定。此外,來(lái)自所獲取的超時(shí)表14的數(shù)據(jù)被寫(xiě)入到服務(wù)器側(cè)超時(shí)表4。此時(shí),超時(shí)表采集單元5將用作設(shè)備識(shí)別信息的、諸如存儲(chǔ)設(shè)備10的型號(hào)名稱(chēng)和序列號(hào)的信息添加到服務(wù)器側(cè)超時(shí)表4。
[0062]在下文中,可以從諸如服務(wù)器2的外部設(shè)備設(shè)定IO超時(shí)值所針對(duì)的存儲(chǔ)設(shè)備被稱(chēng)為“超時(shí)對(duì)應(yīng)存儲(chǔ)設(shè)備”。然而,不可以設(shè)定超時(shí)值的存儲(chǔ)設(shè)備被稱(chēng)為“超時(shí)不對(duì)應(yīng)存儲(chǔ)設(shè)備”。在圖1所示的示例中,存儲(chǔ)設(shè)備10可以為超時(shí)對(duì)應(yīng)存儲(chǔ)設(shè)備,而存儲(chǔ)設(shè)備20可以為超時(shí)不對(duì)應(yīng)存儲(chǔ)設(shè)備。
[0063]當(dāng)向存儲(chǔ)設(shè)備10和20發(fā)出IO時(shí),超時(shí)時(shí)間獲取單元6參考下面要描述的服務(wù)器側(cè)超時(shí)表4,以讀出并獲取在IO中設(shè)定的超時(shí)時(shí)間。在超時(shí)不對(duì)應(yīng)存儲(chǔ)設(shè)備20的情況下,超時(shí)時(shí)間獲取單元6讀取默認(rèn)超時(shí)時(shí)間(例如40秒)。
[0064]IO發(fā)出單元8通過(guò)使用由超時(shí)時(shí)間獲取單元6獲取的超時(shí)值來(lái)發(fā)出10。此外,如參照?qǐng)D8所描述的,IO發(fā)出單元8發(fā)出10,然后確定IO是超時(shí)、正常結(jié)束、還是由于超時(shí)之外的其它因素而異常結(jié)束。
[0065]服務(wù)器側(cè)超時(shí)表4是存儲(chǔ)連接至服務(wù)器2的存儲(chǔ)設(shè)備10的每個(gè)磁盤(pán)的超時(shí)時(shí)間的表。服務(wù)器側(cè)超時(shí)表4被存儲(chǔ)在例如服務(wù)器2的存儲(chǔ)器(未示出)中。下面將參照?qǐng)D2至圖4描述服務(wù)器側(cè)超時(shí)表4。
[0066]LUN信息7-1至7_6是關(guān)于連接至服務(wù)器2的存儲(chǔ)設(shè)備10和20的LUN的信息。對(duì)于每個(gè)LUN,例如LUN的磁盤(pán)類(lèi)型(例如,“SSD”)或設(shè)備識(shí)別信息(例如,“E4000-6A0299”)被存儲(chǔ)在LUN信息7-1至7-6中。
[0067]HBA9-1至9_6各自為將服務(wù)器2連接至諸如存儲(chǔ)裝置的外部裝置的適配器。HBA9-1至9-6的示例可以包括SCSI適配器、光纖信道(FC)適配器以及串行ATA適配器。替選地,HBA9-1至9-6可以為基于IDE、以太網(wǎng)、火線以及USB連接設(shè)備的裝置。
[0068]在下文中,雖然在需要指定多個(gè)LUN信息之一時(shí)使用附圖標(biāo)記7-1至7_6作為表/In LUN彳目息的附圖標(biāo)記,但是在需要指定任意LUN彳目息時(shí)使用附圖標(biāo)記7。
[0069]存儲(chǔ)設(shè)備100為服務(wù)器2提供存儲(chǔ)區(qū),并且可以為例如RAID設(shè)備。存儲(chǔ)設(shè)備10是可以從外部設(shè)定IO超時(shí)值的類(lèi)型。此外,在圖1的示例中,存儲(chǔ)設(shè)備10以“E4000”作為設(shè)備名稱(chēng)并且以“6A0299”作為ID。存儲(chǔ)設(shè)備10包括CM (傳輸單元)11_1和11_2、磁盤(pán)13_1至13-4、超時(shí)表(存儲(chǔ)單元)14、超時(shí)時(shí)間改變單元15以及超時(shí)上限表16。
[0070]除CA12-1和12-2之外,CMll-1包括例如CPU、存儲(chǔ)器和高速緩沖存儲(chǔ)器(均未示出),并且執(zhí)行IO處理。
[0071]除CA12-3和12-4之外,CMl 1-2包括例如CPU、存儲(chǔ)器和高速緩沖存儲(chǔ)器(均未示出),并且執(zhí)行IO處理。
[0072]CA12-1至12-4各自為以通信的方式連接至服務(wù)器102以能夠進(jìn)行通信的接口控制器,并且可以為例如光纖信道適配器。CA12-l、12-2和12-4各自經(jīng)由路徑30-1至30-3中的每條路徑而連接到服務(wù)器的HBA9-1至9-3。
[0073]在此配置中,CMll-1和CM11-2具有相同配置。此外,CA12-1至CA12-4具有相同配置。
[0074]路徑30-1至30-3各自為將服務(wù)器2連接至存儲(chǔ)設(shè)備10的路徑,并且可以為例如FC。[0075]磁盤(pán)13-1至13-4各自為可以存儲(chǔ)信息的存儲(chǔ)設(shè)備,并且包括例如近線13_1、HDD13-2 和 13-3、以及 SSD13-4?
[0076]近線13-1是如下存儲(chǔ)驅(qū)動(dòng)器:其使用被施加有磁性物質(zhì)的磁盤(pán)作為記錄介質(zhì),并移動(dòng)磁頭以從高速旋轉(zhuǎn)的磁盤(pán)讀取信息以及將信息寫(xiě)入高速旋轉(zhuǎn)的磁盤(pán)。近線13-1通常具有比HDD13-2和13-3的容量大的容量,但具有降低的存取速度。
[0077]HDD13-2和13_3各自為如下存儲(chǔ)驅(qū)動(dòng)器:其使用被施加有磁性物質(zhì)的磁盤(pán)作為記錄介質(zhì),并移動(dòng)磁頭以從高速旋轉(zhuǎn)的磁盤(pán)讀取信息以及將信息寫(xiě)入高速旋轉(zhuǎn)的磁盤(pán)。
[0078]SSD13-4是如下存儲(chǔ)驅(qū)動(dòng)器:其使用半導(dǎo)體器件存儲(chǔ)器作為存儲(chǔ)設(shè)備并且被稱(chēng)為硅磁盤(pán)驅(qū)動(dòng)器或半導(dǎo)體磁盤(pán)驅(qū)動(dòng)器。由于SSD33通常不像是近線13-1以及HDD13-2和13-3那樣具有磁頭移動(dòng)伴有的頭尋道時(shí)間,所以SSD33可以以比近線113-1以及HDD13-2和13-3更高的速度執(zhí)行隨機(jī)存取。然而,由于SSD33采用半導(dǎo)體存儲(chǔ)器,所以SSD33通常比近線13-1或HDD13-2和13-3昂貴。
[0079]超時(shí)表14是存儲(chǔ)包括在存儲(chǔ)設(shè)備10中的每個(gè)磁盤(pán)13的超時(shí)時(shí)間的表。超時(shí)表14被存儲(chǔ)在例如CMll-1和11-2的存儲(chǔ)器(未示出)中。下面將參照?qǐng)D5描述超時(shí)表14。
[0080]當(dāng)由于例如存儲(chǔ)設(shè)備10的高載荷而發(fā)生延遲處理時(shí),IO超時(shí)錯(cuò)誤的頻繁發(fā)生是不期望的。
[0081]因此,超時(shí)時(shí)間改變單元15監(jiān)視存儲(chǔ)設(shè)備10的載荷狀態(tài),以在由于例如維護(hù)和存儲(chǔ)設(shè)備10的高載荷而預(yù)計(jì)會(huì)發(fā)生超時(shí)時(shí)增加在超時(shí)表14中設(shè)定的超時(shí)時(shí)間的值。在此情況下,超時(shí)時(shí)間改變單元15通過(guò)對(duì)在下面要描述的超時(shí)上限表16中設(shè)定的上限值進(jìn)行設(shè)定將針對(duì)每條路徑30的超時(shí)時(shí)間設(shè)定至上限。此外,超時(shí)時(shí)間改變單元15使用感知(sense)向服務(wù)器2通知超時(shí)表14的更新。
[0082]在本文中感知是在存儲(chǔ)設(shè)備10和20響應(yīng)來(lái)自服務(wù)器2的IO時(shí)用于通知服務(wù)器2的消息。感知是本領(lǐng)域公知的方法,從而將省略其描述。
[0083]甚至在存儲(chǔ)設(shè)備10的高載荷狀態(tài)被消除(resolve)或固件被更新時(shí),超時(shí)時(shí)間改變單元15改變?cè)诔瑫r(shí)表14中設(shè)定的值。甚至在此情況下,超時(shí)時(shí)間改變單元15使用感知將超時(shí)表14被更新的事實(shí)通知給服務(wù)器2。
[0084]下面將參照?qǐng)D9來(lái)描述改變這些超時(shí)時(shí)間并且通知給服務(wù)器2的處理。
[0085]超時(shí)上限表16是存儲(chǔ)可以在存儲(chǔ)設(shè)備10中包括的磁盤(pán)13和路徑30中的每個(gè)中設(shè)定的超時(shí)時(shí)間的上限值的表。下面將參照?qǐng)D6描述超時(shí)上限表16。
[0086]存儲(chǔ)設(shè)備20還為服務(wù)器2提供存儲(chǔ)區(qū),并且可以為例如RAID設(shè)備。存儲(chǔ)設(shè)備20是不可以從外部設(shè)定超時(shí)值的類(lèi)型。此外,在圖1的示例中,存儲(chǔ)設(shè)備20以“E3000”作為設(shè)備名稱(chēng)并且以“4A0291”作為ID。存儲(chǔ)設(shè)備20包括例如CM21-1和21_2以及磁盤(pán)23_1和 23-2。
[0087]除CA22-1和22_2之外,CM21-1包括例如CPU、存儲(chǔ)器和高速緩沖存儲(chǔ)器(均未示出),并且執(zhí)行IO處理。
[0088]除CA22-3和22_4之外,CM21-2包括例如CPU、存儲(chǔ)器和高速緩沖存儲(chǔ)器(均未示出),并且執(zhí)行IO處理。
[0089]CA22-1至22_4各自為通信地連接至 服務(wù)器2的接口控制器,并且可以為例如光纖信道適配器。CA22-U22-2和22_4各自經(jīng)由路徑30_4至30_6中的每條路徑而連接到服務(wù)器的 HBA9-4 至 9-6。
[0090]在此配置中,CM21-1和CM21-2具有相同配置。此外,CA22-1至CA22-4具有相同配置。
[0091]路徑30-4至30-6各自為將服務(wù)器2連接至存儲(chǔ)設(shè)備20的路徑,并且可以為例如FC。
[0092]磁盤(pán)23-1和23-2各自為可以存儲(chǔ)信息的存儲(chǔ)設(shè)備,并且可以為例如HDD23-1和23-2。
[0093]HDD23-1和23_2各自為如下存儲(chǔ)驅(qū)動(dòng)器:其使用施加有磁性物質(zhì)的磁盤(pán)作為記錄介質(zhì),并移動(dòng)磁頭以從高速旋轉(zhuǎn)的磁盤(pán)讀取信息以及向高速旋轉(zhuǎn)的磁盤(pán)寫(xiě)入信息。
[0094]在下文中,作為表示包括在存儲(chǔ)設(shè)備10中的CM的附圖標(biāo)記,當(dāng)需要指定多個(gè)CM之一時(shí)使用附圖標(biāo)記11_1和11_2,但是在需要指定任意CM時(shí)使用附圖標(biāo)記11。
[0095]作為表示包括在存儲(chǔ)設(shè)備10中的CA的附圖標(biāo)記,當(dāng)需要指定多個(gè)CA之一時(shí)使用附圖標(biāo)記12-1至12-4,但是在需要指定任意CA時(shí)使用附圖標(biāo)記12。
[0096]作為表示包括在存儲(chǔ)設(shè)備10中的磁盤(pán)的附圖標(biāo)記,當(dāng)需要指定多個(gè)磁盤(pán)之一時(shí)使用附圖標(biāo)記13-1至13-4,但是在需要指定任意磁盤(pán)時(shí)使用附圖標(biāo)記13。
[0097]作為表示包括在存儲(chǔ)設(shè)備20中的CM的附圖標(biāo)記,當(dāng)需要指定多個(gè)CM之一時(shí)使用附圖標(biāo)記21_1和21-2,但是在需要指定任意CM時(shí)使用附圖標(biāo)記21。
[0098]作為表示包括在存儲(chǔ)設(shè)備20中的CA的附圖標(biāo)記,當(dāng)需要指定多個(gè)CA之一時(shí)使用附圖標(biāo)記22_1至22-4,但是在需要指定任意CA時(shí)使用附圖標(biāo)記22。
[0099]作為表示包括在存儲(chǔ)設(shè)備20中的磁盤(pán)的附圖標(biāo)記,當(dāng)需要指定多個(gè)磁盤(pán)之一時(shí)使用附圖標(biāo)記23_1和23-2,但是在需要指定任意磁盤(pán)時(shí)使用附圖標(biāo)記23。
[0100]作為表示路徑的附圖標(biāo)記,當(dāng)需要指定多條路徑之一時(shí)使用附圖標(biāo)記30-1至30-6,但是在需要指定任意路徑時(shí)使用附圖標(biāo)記30。
[0101]作為圖1所示的示例,在存儲(chǔ)設(shè)備10中包括兩個(gè)CM12,但是本公開(kāi)內(nèi)容的實(shí)施方式不限于此,并且存儲(chǔ)設(shè)備10可以包括多于三個(gè)的CM12。
[0102]在存儲(chǔ)設(shè)備10中包括四個(gè)磁盤(pán)13,但是本公開(kāi)內(nèi)容的實(shí)施方式不限于此,并且存儲(chǔ)設(shè)備10可以包括三個(gè)或更多個(gè)至五個(gè)或更少的磁盤(pán)13。
[0103]作為圖1所示的示例,在存儲(chǔ)設(shè)備20中包括兩個(gè)CM22,但是本公開(kāi)內(nèi)容的實(shí)施方式不限于此,并且存儲(chǔ)設(shè)備20可以包括多于三個(gè)CM22。
[0104]在存儲(chǔ)設(shè)備20中可以包括兩個(gè)磁盤(pán)23,但是本公開(kāi)內(nèi)容的實(shí)施方式不限于此,并且存儲(chǔ)設(shè)備20可以包括多于三個(gè)磁盤(pán)23。
[0105]接下來(lái),將參照?qǐng)D2至圖4來(lái)描述包括在服務(wù)器2中的服務(wù)器側(cè)超時(shí)表4。
[0106]圖2是示出作為本公開(kāi)內(nèi)容的實(shí)施方式的示例的服務(wù)器側(cè)超時(shí)表4的初始狀態(tài)的圖。此外,圖3是示出作為本公開(kāi)內(nèi)容的實(shí)施方式的示例的在識(shí)別存儲(chǔ)設(shè)備10和20之后的服務(wù)器側(cè)超時(shí)表4的圖。圖4是示出將記錄添加到圖3的服務(wù)器側(cè)超時(shí)表4中的示例的圖。
[0107]服務(wù)器側(cè)超時(shí)表4包括諸如設(shè)備識(shí)別信息41、磁盤(pán)類(lèi)型42、CM系數(shù)43、最前(leading)路徑的超時(shí)時(shí)間44、中間路徑的超時(shí)時(shí)間45、最后路徑的超時(shí)時(shí)間46以及上限47的字段。[0108]設(shè)備識(shí)別信息字段41表示識(shí)別存儲(chǔ)設(shè)備10的信息。例如,設(shè)備識(shí)別信息字段41存儲(chǔ)有連接存儲(chǔ)設(shè)備10的型號(hào)名稱(chēng)和序列號(hào)的字符串。
[0109]磁盤(pán)類(lèi)型字段42表示包括在存儲(chǔ)設(shè)備10中的每個(gè)磁盤(pán)13的類(lèi)型。例如,如圖3所示,磁盤(pán)類(lèi)型字段42存儲(chǔ)有表示磁盤(pán)的性能或特性的字符串,如“HDD10000”、“HDD15000”、“SSD” 以及“NEARLINE”?!癏DD10000” 表示旋轉(zhuǎn)速度為 10,000RPM 的 HDD,而“HDD15000” 表示旋轉(zhuǎn)速度為15,000RPM的HDD?!癝SD”表示固態(tài)驅(qū)動(dòng)器而“NEARLINE”表示近線。
[0110]在多路徑環(huán)境的情況下,最前路徑的超時(shí)時(shí)間字段44存儲(chǔ)在最前路徑中使用的超時(shí)時(shí)間。
[0111]在多路徑環(huán)境的情況下,中間路徑的超時(shí)時(shí)間字段45存儲(chǔ)除最前路徑和最后路徑之外的路徑(在下文中,該路徑被稱(chēng)為“中間路徑”)的超時(shí)時(shí)間。
[0112]在多路徑環(huán)境的情況下,最后路徑的超時(shí)時(shí)間字段46存儲(chǔ)在最后路徑中使用的超時(shí)時(shí)間。
[0113]“最前路徑”、“中間路徑”以及“最后路徑”不一定與路徑的物理編號(hào)一致。這里,在IO發(fā)出時(shí)首先存取的路徑被稱(chēng)為“最前路徑”,在最前路徑處于錯(cuò)誤狀態(tài)的情況下在重試時(shí)使用的路徑被稱(chēng)為“中間路徑”,以及在最后重試(以最大重試頻數(shù)重試)時(shí)使用的路徑被稱(chēng)為“最后路徑”。此外,最前路徑和中間路徑被稱(chēng)為“除最后路徑之外的路徑”。
[0114]通常,在IO存取時(shí),在IO發(fā)出時(shí)選擇具有最低載荷的路徑并且將IO發(fā)出到該路徑。
[0115]例如,考慮具有四條路徑即物理路徑#1至#4的配置。
[0116](I)將第一 IO發(fā)出到物理路徑#1至#4中的具有最低載荷的物理路徑#2。
[0117](2)在物理路徑#2處于錯(cuò)誤狀態(tài)時(shí),切換該路徑,從而執(zhí)行第一(最初)重試。在物理路徑#1、#3以及#4中,選擇具有最低載荷的物理路徑#1。
[0118](3)當(dāng)物理路徑#1也處于錯(cuò)誤狀態(tài)時(shí),在第二重試時(shí)選擇物理路徑#4。
[0119](4)當(dāng)物理路徑#4也處于錯(cuò)誤狀態(tài)時(shí),在第三重試時(shí)選擇物理路徑#3。
[0120]由于該示例描述了具有四條路徑的配置,所以物理路徑#3處的重試變?yōu)樽詈蟆?br>
[0121]在此情況下,最前路徑變?yōu)槲锢砺窂?2,中間路徑變?yōu)樵诘谝恢卦嚭偷诙卦嚂r(shí)選擇的物理路徑#1和#4,而最后路徑變?yōu)樵谧詈笾卦嚂r(shí)選擇的物理路徑#3。
[0122]在路徑30的數(shù)目大于最大重試頻數(shù)(frequency)的情況下,即使仍有尚未重試的路徑30,在最大重試頻數(shù)處的重試變?yōu)樽詈笾卦嚒?br>
[0123]下面將描述在超時(shí)時(shí)間字段44至46中設(shè)定最前路徑、中間路徑以及最后路徑的超時(shí)時(shí)間的原因。
[0124]可能由于路徑30的高載荷或故障而發(fā)生IO的超時(shí)。通常也可能由于例如存儲(chǔ)設(shè)備10的高載荷或故障而在存儲(chǔ)設(shè)備10中發(fā)生IO的超時(shí)。
[0125]當(dāng)發(fā)生取決于路徑30的超時(shí)時(shí),可以切換該路徑。相反,當(dāng)由于存儲(chǔ)設(shè)備10的高載荷而發(fā)生超時(shí)時(shí),響應(yīng)可能會(huì)被擱置。在存儲(chǔ)設(shè)備10故障的情況下,IO不會(huì)成功,并且因此可以立即宣布IO錯(cuò)誤狀態(tài)。
[0126]然而,不能從服務(wù)器2確定超時(shí)的原因?yàn)槁窂健⑦€是存儲(chǔ)設(shè)備10的高載荷或故障。
[0127]因此,根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式,分別針對(duì)最前路徑、中間路徑和最后路徑中的每條路徑來(lái)設(shè)定超時(shí)時(shí)間T1、T2和Τ3,而不是在存儲(chǔ)設(shè)備10的超時(shí)表14中設(shè)定一個(gè)超時(shí)時(shí)間。在此情況下,超時(shí)時(shí)間中的每個(gè)被設(shè)定為在最前路徑、中間路徑和最后路徑的各超時(shí)時(shí)間之間建立關(guān)系Tl≥T2>T3。
[0128]詳細(xì)地,考慮到路徑的異常,將最前路徑的超時(shí)時(shí)間Tl設(shè)定為短值,從而在短時(shí)間內(nèi)切換路徑。
[0129]考慮到甚至在第二路徑之后由于存儲(chǔ)設(shè)備10而引起超時(shí)的可能性,將中間路徑的超時(shí)時(shí)間Τ2設(shè)定為短值。因此,在存儲(chǔ)設(shè)備10具有高載荷時(shí),最前路徑和第二路徑的總時(shí)間的響應(yīng)延緩(wait),使得存在避免IO錯(cuò)誤的發(fā)生的高可能性。甚至在存儲(chǔ)設(shè)備10故障的情況下,超時(shí)時(shí)間被設(shè)定為短的,以使得可以縮短總待機(jī)時(shí)間。
[0130]假設(shè)處于高載荷狀態(tài),最后路徑的超時(shí)時(shí)間T3被設(shè)定為比Tl和T2長(zhǎng)的值,這是因?yàn)?如果IO可以等待久一點(diǎn)的時(shí)間,則IO很可能成功。
[0131]上限字段47表示存儲(chǔ)設(shè)備10和20的超時(shí)時(shí)間的上限值。[0132]當(dāng)存儲(chǔ)設(shè)備10為專(zhuān)有CM類(lèi)型時(shí),CM系數(shù)字段43存儲(chǔ)在將IO發(fā)出到通過(guò)待機(jī)CM的路徑時(shí)使用的CM系數(shù)O I)。
[0133]在此,存儲(chǔ)設(shè)備10和20設(shè)置有:其中用于每個(gè)LUN的正常存取路徑被固定到CMll和21之一的存儲(chǔ)設(shè)備;以及其中用于每個(gè)LUN的正常存取路徑未固定到CMll和21之一的存儲(chǔ)設(shè)備。存取路徑所固定到的存儲(chǔ)設(shè)備被稱(chēng)為“專(zhuān)有CM類(lèi)型”,而存取路徑未固定到的存儲(chǔ)設(shè)備被稱(chēng)為“非專(zhuān)有CM類(lèi)型”。
[0134]在專(zhuān)有CM類(lèi)型存儲(chǔ)設(shè)備10和20中,連接至CMll和21之一的路徑處于活動(dòng)狀態(tài),而連接至CMll和21中的另一個(gè)CM的路徑處于待機(jī)狀態(tài)。在正常存取中,僅使用處于活動(dòng)狀態(tài)的路徑而不使用處于待機(jī)狀態(tài)的路徑。連接至處于活動(dòng)狀態(tài)的路徑的CM被稱(chēng)為“專(zhuān)有CM”,而連接至處于待機(jī)狀態(tài)的路徑的CM被稱(chēng)為“待機(jī)CM”。
[0135]相反,在非專(zhuān)有CM類(lèi)型存儲(chǔ)設(shè)備10和20中,所有路徑均處于活動(dòng)狀態(tài),使得所有路徑均用于正常存取。
[0136]像這樣,在專(zhuān)有CM類(lèi)型存儲(chǔ)設(shè)備10和20中,由于存儲(chǔ)設(shè)備10和20根據(jù)CMll和21是專(zhuān)有CM還是待機(jī)CM而具有性能差別,因此甚至針對(duì)超時(shí)時(shí)間也要考慮CMll和21是否為專(zhuān)有CM。
[0137]雖然性能差別對(duì)于每個(gè)存儲(chǔ)設(shè)備10或20不同,但是性能差別是預(yù)先已知的信息,因此,將取決于性能差別的比率的CM系數(shù)存儲(chǔ)在CM系數(shù)字段43中。
[0138]可以從服務(wù)器2認(rèn)識(shí)到存取路徑是否通過(guò)專(zhuān)有CM。出于此原因,當(dāng)向待機(jī)CM發(fā)出IO時(shí),通過(guò)將要在下面描述的超時(shí)字段44至46的超時(shí)時(shí)間乘以CM系數(shù),使超時(shí)時(shí)間設(shè)定為比通過(guò)專(zhuān)有CM的路徑的超時(shí)時(shí)間略長(zhǎng)的值。
[0139]可以假設(shè)提供了具有四條路徑的配置,并且在這四條路徑中,兩條路徑連接至專(zhuān)有CMll并且剩余的兩條路徑連接至待機(jī)CM11,使得路徑對(duì)SSD13-4進(jìn)行存取。
[0140]參照?qǐng)D4的第五行,在SSD中,將10秒用作最前路徑的超時(shí)時(shí)間,15秒用作第二路徑的超時(shí)時(shí)間。
[0141]當(dāng)在連接至專(zhuān)有CMll的最前路徑和第二路徑兩者中均發(fā)生IO錯(cuò)誤時(shí),使用連接至非專(zhuān)有CMll的第三路徑。
[0142]在此情況下,在位于待機(jī)CM側(cè)的第三路徑的超時(shí)時(shí)間中,根據(jù)圖4的中間路徑的超時(shí)時(shí)間字段45的值“15”和CM系數(shù)字段43的值“1.4”設(shè)置15X1.4=21秒。作為最后路徑的第四路徑的超時(shí)時(shí)間為20X1.4=28,但是由于該超時(shí)時(shí)間超過(guò)上限字段47的值“25秒”,所以設(shè)定上限值25秒。
[0143]在服務(wù)器2啟動(dòng)時(shí),通過(guò)超時(shí)表采集單元5在服務(wù)器2的存儲(chǔ)器(未示出)中得到(secure)圖2中示出的服務(wù)器側(cè)超時(shí)表4。在初始狀態(tài)下,在服務(wù)器側(cè)超時(shí)表4中針對(duì)所有路徑設(shè)定“40秒”,40秒為在超時(shí)不對(duì)應(yīng)存儲(chǔ)設(shè)備20中使用的默認(rèn)超時(shí)時(shí)間。
[0144]接下來(lái),當(dāng)存儲(chǔ)設(shè)備10和20被識(shí)別時(shí),超時(shí)表采集單元5通過(guò)在識(shí)別存儲(chǔ)設(shè)備10時(shí)使用例如查詢(xún)命令來(lái)從存儲(chǔ)設(shè)備10獲取超時(shí)表14,并且將數(shù)據(jù)添加到服務(wù)器側(cè)超時(shí)表4中。
[0145]這里,查詢(xún)命令是用于向SCSI設(shè)備查詢(xún)SCSI設(shè)備的種類(lèi)和配置的SCSI命令,并且其功能是公知的,因此將省略其描述。此外,多路徑驅(qū)動(dòng)器單元3可以使用另一命令來(lái)查詢(xún)存儲(chǔ)設(shè)備10和20。
[0146]在此情況下,如上所述,超時(shí)表采集單元5將信息(例如像存儲(chǔ)設(shè)備10的型號(hào)名稱(chēng)和序列號(hào))添加到服務(wù)器側(cè)超時(shí)表4中作為設(shè)備識(shí)別信息。例如,通過(guò)超時(shí)表采集單元5將如圖2所示的記錄添加到服務(wù)器側(cè)超時(shí)表4中。
[0147]接下來(lái),例如,在另一存儲(chǔ)設(shè)備(未示出)被識(shí)別時(shí),將如圖2所示的記錄添加到服務(wù)器側(cè)超時(shí)表4中。
[0148]如上所述,甚至在存儲(chǔ)設(shè)備10中添加超時(shí)表14。
[0149]圖5是示出作為本公開(kāi)內(nèi)容的實(shí)施方式的示例的在存儲(chǔ)設(shè)備10側(cè)的超時(shí)表14的圖。
[0150]超時(shí)表14具有各種字段,例如磁盤(pán)類(lèi)型142、CM系數(shù)143、最前路徑的超時(shí)時(shí)間144、中間路徑的超時(shí)時(shí)間145、最后路徑的超時(shí)時(shí)間146、以及上限147。
[0151]磁盤(pán)類(lèi)型字段142表示在存儲(chǔ)設(shè)備10內(nèi)的磁盤(pán)類(lèi)型。例如,如圖5所示,磁盤(pán)類(lèi)型字段142存儲(chǔ)表示磁盤(pán)的性能或特性的字符串,例如“HDD10000”、“HDD15000”、“SSD”以及“NEARLINE”?!癏DD10000”表示旋轉(zhuǎn)速度為10,000RPM的HDD,而“HDD15000”表示旋轉(zhuǎn)速度為15,000RPM的HDD?!癝SD”表示固態(tài)驅(qū)動(dòng)器,而“NEARLINE”表示近線。
[0152]當(dāng)存儲(chǔ)設(shè)備10為專(zhuān)有CM類(lèi)型時(shí),CM系數(shù)字段143存儲(chǔ)在將IO發(fā)出到待機(jī)CM時(shí)所使用的CM系數(shù)。
[0153]在多路徑環(huán)境的情況下,最前路徑的超時(shí)時(shí)間字段144存儲(chǔ)在最前路徑中使用的超時(shí)時(shí)間。
[0154]在多路徑環(huán)境的情況下,中間路徑的超時(shí)時(shí)間字段145存儲(chǔ)在中間路徑中使用的超時(shí)時(shí)間。
[0155]在多路徑環(huán)境的情況下,最后路徑的超時(shí)時(shí)間字段146存儲(chǔ)在最后路徑中使用的超時(shí)時(shí)間。
[0156]當(dāng)存儲(chǔ)設(shè)備10例如處于高載荷狀態(tài)時(shí),上限字段147表示存儲(chǔ)設(shè)備10的超時(shí)時(shí)間可以改變的范圍的上限值。
[0157]在從工廠發(fā)布存儲(chǔ)設(shè)備10時(shí),字段144至147各自被預(yù)先設(shè)定有最優(yōu)值以滿(mǎn)足特性,如存儲(chǔ)設(shè)備10的性能。此外,字段144至147的每個(gè)值可以在后來(lái)通過(guò)例如操作者進(jìn)行改變。
[0158]圖6是示出作為本公開(kāi)內(nèi)容的實(shí)施方式的示例的超時(shí)上限表16的圖。[0159]超時(shí)上限表16包括磁盤(pán)類(lèi)型字段162和上限字段167。
[0160]磁盤(pán)類(lèi)型字段162表示存儲(chǔ)設(shè)備10內(nèi)的磁盤(pán)類(lèi)型。例如,如圖6所示,磁盤(pán)類(lèi)型字段162存儲(chǔ)表示磁盤(pán)的性能或特性的字符串,例如“HDD10000”、“HDD15000”、“SSD”以及“NEARLINE”。“HDD10000”表示旋轉(zhuǎn)速度為10,000RPM的HDD,而“HDD15000”表示旋轉(zhuǎn)速度為15,000RPM的HDD?!癝SD”表示固態(tài)驅(qū)動(dòng)器,而“NEARLINE”表示近線。
[0161]當(dāng)存儲(chǔ)設(shè)備10例如處于高載荷狀態(tài)時(shí),上限字段167表示存儲(chǔ)設(shè)備10的超時(shí)時(shí)間可以改變的范圍的上限值。
[0162]在從工廠發(fā)布存儲(chǔ)設(shè)備10時(shí),上限字段167被預(yù)先設(shè)定有最優(yōu)值以滿(mǎn)足特性,如存儲(chǔ)設(shè)備10的性能。此外,上限字段167可以在后來(lái)通過(guò)操作者等進(jìn)行改變。
[0163]在服務(wù)器2中,以記錄在計(jì)算機(jī)可讀記錄介質(zhì)中的形式提供用于實(shí)現(xiàn)用作多路徑驅(qū)動(dòng)器單元3、超時(shí)表采集單元5、超時(shí)時(shí)間獲取單元6和IO發(fā)出單元8的功能的程序,例如該計(jì)算機(jī)可讀記錄介質(zhì)為諸如軟盤(pán)、⑶(例如,⑶-ROM和⑶-RW)、DVD (例如,DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW、DVD+RW以及HD DVD)、藍(lán)光光盤(pán)、磁盤(pán)、光盤(pán)以及磁光盤(pán)。此夕卜,計(jì)算機(jī)從記錄介質(zhì)讀取程序以將其傳輸、存儲(chǔ)以及用在在內(nèi)部存儲(chǔ)設(shè)備或外部存儲(chǔ)設(shè)備中。此外,程序可以被記錄在存儲(chǔ)設(shè)備(記錄介質(zhì))中,例如像磁盤(pán)、光盤(pán)以及磁光盤(pán),并且可以經(jīng)由通信路徑將程序從存儲(chǔ)設(shè)備提供給計(jì)算機(jī)。
[0164]在存儲(chǔ)設(shè)備10中,以記錄在計(jì)算機(jī)可讀記錄介質(zhì)中的形式提供用于實(shí)現(xiàn)用作超時(shí)時(shí)間改變單元15的功能的程序,例如該計(jì)算機(jī)可讀記錄介質(zhì)諸如為軟盤(pán)、CD (例如,CD-ROM、CD-R 和 CD-RW)、DVD (例如,DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW、DVD+Rff 以及HD DVD)、藍(lán)光光盤(pán)、磁盤(pán)、光盤(pán)以及磁光盤(pán)。此外,計(jì)算機(jī)從記錄介質(zhì)讀取程序以將其傳輸、存儲(chǔ)以及用在在內(nèi)部存儲(chǔ)設(shè)備或外部存儲(chǔ)設(shè)備中。此外,程序可以被記錄在存儲(chǔ)設(shè)備(記錄介質(zhì))中,例如像磁盤(pán)、光盤(pán)以及磁光盤(pán),并且可以經(jīng)由通信路徑將程序從存儲(chǔ)設(shè)備提供給計(jì)算機(jī)。
[0165]當(dāng)要實(shí)現(xiàn)用作多路徑驅(qū)動(dòng)器單元3、超時(shí)表采集單元5、超時(shí)時(shí)間獲取單元6和IO發(fā)出單元8的功能時(shí),可以通過(guò)計(jì)算機(jī)的微處理器(例如,服務(wù)器2的CPU (未示出))來(lái)執(zhí)行存儲(chǔ)在內(nèi)部存儲(chǔ)設(shè)備(在本公開(kāi)內(nèi)容的實(shí)施方式中,服務(wù)器2的RAM或ROM (未示出))中的程序。在此情況下,記錄在記錄介質(zhì)中的程序可以由計(jì)算機(jī)讀取以被執(zhí)行。
[0166]當(dāng)要實(shí)現(xiàn)用作超時(shí)時(shí)間改變單元15的功能時(shí),通過(guò)計(jì)算機(jī)的微處理器(例如,存儲(chǔ)設(shè)備10的CMlI)來(lái)執(zhí)行存儲(chǔ)在內(nèi)部存儲(chǔ)設(shè)備(例如,存儲(chǔ)設(shè)備10的RAM或R0M(未示出))中的程序。在此情況下,記錄在記錄介質(zhì)中的程序可以由計(jì)算機(jī)讀取以被執(zhí)行。
[0167]在本公開(kāi)內(nèi)容的實(shí)施方式中,計(jì)算機(jī)為包括硬件和操作系統(tǒng)(OS)的概念,并且是指在OS的控制下進(jìn)行操作的硬件。此外,當(dāng)OS是不必要的并且硬件僅由應(yīng)用程序操作時(shí),硬件本身對(duì)應(yīng)于計(jì)算機(jī)。硬件至少包括微處理器,例如CPU和用于讀取記錄在記錄介質(zhì)中的計(jì)算機(jī)程序的單元。在本公開(kāi)內(nèi)容的實(shí)施方式中,服務(wù)器2和CMll用作計(jì)算機(jī)。
[0168](B)操作
[0169]接下來(lái)將參照?qǐng)D7至圖9來(lái)描述存儲(chǔ)系統(tǒng)I的操作。
[0170]首先,將參照?qǐng)D7來(lái)描述啟動(dòng)多路徑驅(qū)動(dòng)器單元3時(shí)的處理。
[0171]圖7是示出作為本公開(kāi)內(nèi)容的實(shí)施方式的示例的初始化處理的流程圖(從步驟SAl 起的 SAlU SBl 和 SB2)。[0172]在步驟SAl處,服務(wù)器2啟動(dòng)并且多路徑驅(qū)動(dòng)器單元3被加載,使得在例如服務(wù)器2的存儲(chǔ)器(未示出)中得到服務(wù)器側(cè)超時(shí)表4。
[0173]在步驟SA2處,多路徑驅(qū)動(dòng)器單元3識(shí)別存儲(chǔ)設(shè)備10和20的LUN并且構(gòu)建多路徑。在此情況下,多路徑驅(qū)動(dòng)單元3獲取存儲(chǔ)設(shè)備10和20的磁盤(pán)類(lèi)型作為查詢(xún)命令等。此夕卜,多路徑驅(qū)動(dòng)器單元3將所獲取的磁盤(pán)類(lèi)型記錄在LUN信息7中(參見(jiàn)例如圖1)。
[0174]然后,超時(shí)表采集單元5對(duì)連接至服務(wù)器2的存儲(chǔ)設(shè)備10和20中的每個(gè)設(shè)備執(zhí)行后續(xù)步驟SA3至SAll的處理。
[0175]首先,在步驟SA4處,超時(shí)表采集單元5向存儲(chǔ)設(shè)備10和20發(fā)出例如查詢(xún)命令并且查詢(xún)存儲(chǔ)設(shè)備10和20是否對(duì)應(yīng)于超時(shí)。
[0176]在步驟SBl處,存儲(chǔ)設(shè)備10返回表示存儲(chǔ)設(shè)備10對(duì)應(yīng)于超時(shí)的信息,作為查詢(xún)命令的響應(yīng)。然而,超時(shí)不對(duì)應(yīng)存儲(chǔ)設(shè)備20沒(méi)有返回這樣的信息。
[0177]在步驟SA5處,超時(shí)表采集單元5確定是否從存儲(chǔ)設(shè)備10和20返回表示超時(shí)對(duì)應(yīng)的響應(yīng)。
[0178]當(dāng)返回表示超時(shí)對(duì)應(yīng)的響應(yīng)時(shí)(參見(jiàn)步驟SA5的“是”路線),在步驟SA6,超時(shí)表采集單元5向存儲(chǔ)設(shè)備10發(fā)出用于獲取超時(shí)表14的命令。
[0179]在步驟SB2處,存儲(chǔ)設(shè)備10將超時(shí)表14傳輸至服務(wù)器2。
[0180]在步驟SA7處,超時(shí)表采集單元5從存儲(chǔ)設(shè)備10獲取超時(shí)表14并且將所獲取的超時(shí)表14的數(shù)據(jù)添加到在步驟SAl處得到的服務(wù)器側(cè)超時(shí)表4。
[0181]在步驟SA8處,超時(shí)表采集單元5向存儲(chǔ)設(shè)備10的每個(gè)LUN發(fā)出查詢(xún)命令,并且獲取設(shè)備名稱(chēng)和磁盤(pán)類(lèi)型。
[0182]在步驟SA9處,超時(shí)表采集單元5將在步驟SA8處獲取的設(shè)備名稱(chēng)和磁盤(pán)類(lèi)型添加到超時(shí)表采集單元5的LUN信息7中。
[0183]然而,當(dāng)沒(méi)有返回表示超時(shí)對(duì)應(yīng)的響應(yīng)時(shí)(參見(jiàn)步驟SA5的“否”路線),由于存儲(chǔ)設(shè)備20為不對(duì)應(yīng)存儲(chǔ)設(shè)備,所以在步驟SAlO處超時(shí)表采集單元5在LUN信息7中設(shè)定標(biāo)志,以允許存儲(chǔ)設(shè)備20使用默認(rèn)超時(shí)值。
[0184]超時(shí)表采集單元5通過(guò)對(duì)連接到至服務(wù)器3所有存儲(chǔ)設(shè)備10和20執(zhí)行步驟SA3至SAll的處理而獲取關(guān)于所有存儲(chǔ)設(shè)備10和20的信息。
[0185]接下來(lái),將參照?qǐng)D8描述在發(fā)出IO并響應(yīng)IO時(shí)的處理。
[0186]圖8是示出作為本公開(kāi)內(nèi)容的實(shí)施方式的示例的在發(fā)出IO并響應(yīng)IO時(shí)的處理的流程圖(步驟SCl至SC16)。
[0187]在步驟SCl處,超時(shí)時(shí)間獲取單元6確定意圖發(fā)出IO的存儲(chǔ)設(shè)備10和20是否為超時(shí)對(duì)應(yīng)存儲(chǔ)設(shè)備。在此情況下,超時(shí)時(shí)間獲取單元6調(diào)查設(shè)備信息和磁盤(pán)類(lèi)型是否存在于LUN信息7中,如果存在,則確定存儲(chǔ)設(shè)備為超時(shí)對(duì)應(yīng)存儲(chǔ)設(shè)備。
[0188]在超時(shí)對(duì)應(yīng)存儲(chǔ)設(shè)備的情況下(參見(jiàn)步驟SCl的“是”路線),在步驟SC2處超時(shí)時(shí)間獲取單元6參考服務(wù)器側(cè)超時(shí)表4以獲取超時(shí)值。詳細(xì)地,超時(shí)時(shí)間獲取單元6基于關(guān)于LUN信息7的存儲(chǔ)設(shè)備10和LUN的磁盤(pán)13的信息來(lái)參考服務(wù)器側(cè)超時(shí)表4的記錄。例如,當(dāng)IO的發(fā)出目的地的LUN為“E4000-6A0299”并且磁盤(pán)類(lèi)型為“SSD”時(shí),超時(shí)時(shí)間獲取單元6參考圖4的服務(wù)器側(cè)超時(shí)表4以獲取“10秒”作為第一 IO的超時(shí)時(shí)間。
[0189]然而,在不具有超時(shí)表14并且不可以從外部設(shè)定超時(shí)值的存儲(chǔ)設(shè)備20的情況下(參見(jiàn)步驟SCl的“否”路線),超時(shí)時(shí)間獲取單元6在步驟SC3處參考用于默認(rèn)的記錄以獲取其超時(shí)值。例如,超時(shí)時(shí)間獲取單元6獲取“40秒”作為超時(shí)時(shí)間。
[0190]在步驟SC4處,超時(shí)時(shí)間獲取單元6確認(rèn)是否存在可以發(fā)出IO的另一路徑。
[0191]當(dāng)另外存在可以發(fā)出IO的另一路徑時(shí)(參見(jiàn)步驟SC4的“是”路線),超時(shí)時(shí)間獲取單元6在步驟SC5處確定IO為首次嘗試還是重試。
[0192]當(dāng)IO為首次嘗試時(shí)(參見(jiàn)步驟SC5的“是”路線),在步驟SC6處,超時(shí)時(shí)間獲取單元6在IO中設(shè)定在步驟SC2或SC3處參考的記錄的最前路徑的超時(shí)時(shí)間。如上所述,在發(fā)出第一 IO時(shí),超時(shí)時(shí)間獲取單元6使用具有短的最前路徑的超時(shí)時(shí)間。雖然超時(shí)時(shí)間短,但是該值足夠長(zhǎng)以使得不會(huì)被誤檢測(cè)為正常IO性能中的超時(shí)。
[0193]當(dāng)IO為重試時(shí)(參見(jiàn)步驟SC5的“否”路線),在步驟SC7處,超時(shí)時(shí)間獲取單元6在IO中設(shè)定在步驟SC2或SC3處參考的記錄的中間路徑的超時(shí)時(shí)間。在此情況下,當(dāng)IO的發(fā)出目的地的路徑30為通過(guò)待機(jī)CMll的路徑時(shí),將超時(shí)表14的CM系數(shù)字段47的值乘以超時(shí)時(shí)間。
[0194]然而,當(dāng)在步驟SC4處不存在可以發(fā)出IO的另一路徑時(shí),也就是說(shuō),在最后路徑的情況下(參見(jiàn)步驟SC4的“否”路線),在步驟SC8處,超時(shí)時(shí)間獲取單元6在IO中設(shè)定在步驟SC2或SC3處選擇的記錄的最后路徑的超時(shí)值。甚至在此情況下,當(dāng)IO的發(fā)出目的地的路徑30為通過(guò)待機(jī)CMll的路徑時(shí),超時(shí)表14的CM系數(shù)字段47的值也乘以超時(shí)時(shí)間。
[0195]在步驟SC9處,IO發(fā)出單元8發(fā)出10。
[0196]在步驟SClO處,IO發(fā)出單元8接收所返回的IO的響應(yīng),以確定是否發(fā)生除超時(shí)之外的錯(cuò)誤。
[0197]在除超時(shí)之外的錯(cuò)誤的情況下(參見(jiàn)步驟SClO的“是”路線),IO發(fā)出單元8在步驟SCll處根據(jù)需要重試10。
[0198]然而,在超時(shí)錯(cuò)誤的情況下(參見(jiàn)步驟SClO的“否”路線),在步驟SC12處,IO發(fā)出單元8確定是否形成超時(shí)。
[0199]在超時(shí)的情況下(參見(jiàn)步驟SC12的“是”路線),IO發(fā)出單元8在步驟SC13處確定是否存在替代路徑并且重試次數(shù)是否沒(méi)有超過(guò)最大重試頻數(shù)(超出重試)。
[0200]如果存在替代路徑并且重試次數(shù)沒(méi)有超過(guò)最大重試頻數(shù)(參見(jiàn)步驟SC13的“是”路線),IO發(fā)出單元8在步驟SC14處返回到步驟SC4以改變路徑并且重試10。
[0201]然而,當(dāng)在步驟SC13處不存在替代路徑或重試次數(shù)超過(guò)最大重試頻數(shù)時(shí)(步驟SC13處的“否”路線),IO發(fā)出單元8在步驟SC16處確定IO錯(cuò)誤地結(jié)束。
[0202]當(dāng)在步驟SC12處未形成超時(shí)時(shí)(參見(jiàn)步驟SC12的“是”路線),IO發(fā)出單元8在步驟SC15處確定IO正常結(jié)束。
[0203]接下來(lái),將參照?qǐng)D9描述在更新磁盤(pán)13和23的超時(shí)值以及更新存儲(chǔ)設(shè)備10和20的超時(shí)表14時(shí)的處理。
[0204]如上所述,除如參照?qǐng)D7所描述的識(shí)別存儲(chǔ)設(shè)備10的時(shí)間之外,可以更新超時(shí)表
14。作為這樣的情況,可存在如下情況:其中存儲(chǔ)設(shè)備10的固件被更新以使得例如存儲(chǔ)設(shè)備10具有改進(jìn)的性能。
[0205]在此情況下,存儲(chǔ)設(shè)備10使用例如特定的感知信息將超時(shí)表14的更新通知給多路徑驅(qū)動(dòng)器單元3。多路徑驅(qū)動(dòng)器單元3使用例如查詢(xún)命令來(lái)獲取更新的超時(shí)表14并且更新服務(wù)器側(cè)超時(shí)表4。
[0206]圖9是示出作為本實(shí)施方式的示例的超時(shí)值的更新處理的流程圖(步驟SDl至SD4以及SEl至SE6)。
[0207]在步驟SDl處,存儲(chǔ)設(shè)備10的超時(shí)時(shí)間改變單元15更新固件或檢測(cè)例如磁盤(pán)13和23的高載荷或載荷的消除,由此改變超時(shí)表14的超時(shí)值。
[0208]在步驟SD2處,超時(shí)時(shí)間改變單元15設(shè)定(準(zhǔn)備)用于將超時(shí)時(shí)間的更新通知給服務(wù)器2的感知。
[0209]如上所述,感知是用于在存儲(chǔ)設(shè)備10和20響應(yīng)來(lái)自服務(wù)器2的IO時(shí)通知服務(wù)器2的消息。出于此原因,除非從服務(wù)器2發(fā)出10,否則存儲(chǔ)設(shè)備10的超時(shí)時(shí)間改變單元15不將超時(shí)表14的更新通知給服務(wù)器2。
[0210]在步驟SEl處,從例如服務(wù)器2的應(yīng)用發(fā)出正常10。
[0211]在步驟SD3處,存儲(chǔ)設(shè)備10的超時(shí)時(shí)間改變單元15使在步驟SD2處設(shè)定的感知響應(yīng)服務(wù)器10。
[0212]在步驟SE2處,服務(wù)器2的IO發(fā)出單元8接收感知消息以及在步驟SEl發(fā)出的IO的響應(yīng)。
[0213]在步驟SE3處,服務(wù)器2的IO發(fā)出單元8確定IO正常響應(yīng)并且結(jié)束IO的處理。
[0214]在步驟SE4處,服務(wù)器2的超時(shí)表采集單元5向存儲(chǔ)設(shè)備10發(fā)出超時(shí)表獲取命令。
[0215]在步驟SD4處,存儲(chǔ)設(shè)備10的超時(shí)時(shí)間改變單元15將更新后的超時(shí)表14傳輸至服務(wù)器2。
[0216]在步驟SE5處,服務(wù)器2的超時(shí)表采集單元5獲取超時(shí)表14,并且使用所獲取的超時(shí)表14來(lái)更新服務(wù)器側(cè)超時(shí)表14。
[0217]在步驟SE6處,服務(wù)器2的IO發(fā)出單元8使用更新的超時(shí)值來(lái)發(fā)出10。
[0218](C)修改例
[0219](C-1)第一修改例
[0220]在上述實(shí)施方式中,針對(duì)最前路徑、中間路徑以及最后路徑中的每條路徑設(shè)定超時(shí)時(shí)間。
[0221]然而,作為上述實(shí)施方式的第一修改例,可以通過(guò)布置圖2至圖4所示的最前路徑和中間路徑作為“存在替代路徑的情況”來(lái)簡(jiǎn)化處理。
[0222]圖10示出在將最前路徑和中間路徑布置為“存在替代路徑的情況”時(shí)的服務(wù)器側(cè)超時(shí)表204。
[0223]圖10是不出本公開(kāi)內(nèi)容的實(shí)施方式的第一修改例中的服務(wù)器側(cè)超時(shí)表204的圖。
[0224]服務(wù)器側(cè)超時(shí)表204具有在存在替代路徑的情況下的超時(shí)時(shí)間字段48,而不是根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的服務(wù)器側(cè)超時(shí)表4的最前路徑的超時(shí)時(shí)間44和中間路徑的超時(shí)時(shí)間40。
[0225]在多路徑環(huán)境的情況下,在存在替代路徑的情況下的超時(shí)時(shí)間字段48存儲(chǔ)在除最后路徑之外的路徑中使用的超時(shí)時(shí)間。
[0226]服務(wù)器側(cè)超時(shí)表204的其它字段與上述實(shí)施方式的字段相同,因此將省略其描述。
[0227]雖然未具體示出,但是在如上所述的本公開(kāi)內(nèi)容的實(shí)施方式的第一修改例中,存儲(chǔ)設(shè)備10側(cè)的超時(shí)表14也具有在存在替代路徑的情況下的超時(shí)時(shí)間字段,而不是超時(shí)時(shí)間字段144至145。
[0228]超時(shí)時(shí)間獲取單元6參考服務(wù)器側(cè)超時(shí)表204以針對(duì)除最后路徑之外的路徑來(lái)設(shè)定在超時(shí)時(shí)間字段48中所設(shè)定的值,從而發(fā)出10。在最后路徑的情況下,通過(guò)使用在最后路徑的超時(shí)時(shí)間字段46中設(shè)定的值來(lái)發(fā)出10。
[0229](C-2)第二修改例
[0230]可替選地,作為本公開(kāi)內(nèi)容的實(shí)施方式的第二修改例,超時(shí)時(shí)間獲取單元6可以使用圖10的服務(wù)器側(cè)超時(shí)表204并且在最前路徑中設(shè)定在超時(shí)時(shí)間字段48中所設(shè)定的值以發(fā)出10。此外,可以按照第二路徑、第三路徑等的順序設(shè)定略長(zhǎng)的值。
[0231](C-3)第三修改例
[0232]可替選地,作為本公開(kāi)內(nèi)容的實(shí)施方式的第三修改例,可以設(shè)定服務(wù)器側(cè)超時(shí)表4的僅一個(gè)超時(shí)時(shí)間,而不是設(shè)定服務(wù)器側(cè)超時(shí)表4中的多個(gè)超時(shí)時(shí)間。在此情況下,超時(shí)時(shí)間獲取單元6可以通過(guò)將超時(shí)時(shí)間乘以取決于可以重試的剩余路徑的數(shù)目的系數(shù)而使超時(shí)時(shí)間變短。多路徑驅(qū)動(dòng)器單元3可以獨(dú)立具有該系數(shù)。
[0233](C-4)第四修改例
[0234]可替選地,作為本公開(kāi)內(nèi)容的實(shí)施方式的第四修改例,如圖11所示,可以按照最
前路徑、第二路徑.....第N條路徑(例如,N是2或更大的整數(shù))的順序在服務(wù)器側(cè)超時(shí)表
304中設(shè)定所有路徑的超時(shí)時(shí)間。
[0235]圖11示出設(shè)定所有路徑的超時(shí)時(shí)間的服務(wù)器側(cè)超時(shí)表304。
[0236]圖11是示出本公開(kāi)內(nèi)容的實(shí)施方式的第四修改例中的服務(wù)器側(cè)超時(shí)表304的圖。
[0237]服務(wù)器側(cè)超時(shí)表304具有用于最前路徑、第二路徑.....第N條路徑中的每條路徑
的超時(shí)時(shí)間字段44,45-1至45- (N-2)以及46。
[0238](C-5)第五修改例
[0239]取決于存儲(chǔ)設(shè)備10,LUN可以被構(gòu)造為多種存儲(chǔ)器。其示例可以包括LUN級(jí)聯(lián)或自動(dòng)精簡(jiǎn)配置(thin provisioning)。在LUN級(jí)聯(lián)或自動(dòng)精簡(jiǎn)配置中,在單個(gè)LUN中混合多個(gè)RAID組或者多種磁盤(pán)類(lèi)型。
[0240]因此,作為本公開(kāi)內(nèi)容的實(shí)施方式的第五修改例,多路徑驅(qū)動(dòng)器單元3使用查詢(xún)命令從存儲(chǔ)設(shè)備10和20獲取邏輯塊地址(LBA)范圍以及LUN單元中的磁盤(pán)類(lèi)型。此外,多路徑驅(qū)動(dòng)器單元3將所獲取的信息存儲(chǔ)在LUN管理表50中,如圖12所示。LUN管理表50是針對(duì)每個(gè)LUN而準(zhǔn)備的。
[0241]圖12是示出本公開(kāi)內(nèi)容的實(shí)施方式的第五修改例的LUN管理表50的圖。
[0242]LUN管理表50具有設(shè)備識(shí)別信息字段51、磁盤(pán)類(lèi)型字段52、起始LBA字段53和結(jié)束LBA字段54。
[0243]設(shè)備識(shí)別信息字段51表示識(shí)別存儲(chǔ)設(shè)備10的信息。例如,設(shè)備識(shí)別信息字段51存儲(chǔ)有通過(guò)連接存儲(chǔ)設(shè)備10的型號(hào)名稱(chēng)和序列號(hào)形成的字符串。
[0244]磁盤(pán)類(lèi)型字段52表示存儲(chǔ)設(shè)備10內(nèi)的磁盤(pán)類(lèi)型。例如,磁盤(pán)類(lèi)型字段52存儲(chǔ)有表示磁盤(pán)的性能或特性的字符串,例如“HDD10000”、“HDD15000”、“SSD”以及“NEARLINE”?!癏DD10000”表示旋轉(zhuǎn)速度為10,000RPM的HDD,而“HDD15000”表示旋轉(zhuǎn)速度為15,000RPM的HDD。“SSD”表示固態(tài)驅(qū)動(dòng)器而“NEARLINE”表示近線。[0245]起始LBA字段53表示磁盤(pán)類(lèi)型字段52的磁盤(pán)的頭部處的LBA。
[0246]結(jié)束LBA字段53表示磁盤(pán)類(lèi)型字段52的磁盤(pán)的尾部處的LBA。
[0247]超時(shí)時(shí)間獲取單元6參考超時(shí)表4和LUN管理表50,以根據(jù)IO的發(fā)出位置來(lái)改變超時(shí)時(shí)間。
[0248]例如,示出了如下示例:其中圖12所示的LUN由針對(duì)每10000個(gè)LBA的兩種磁盤(pán)13和23級(jí)聯(lián)。
[0249]在該示例中,在IO在LBAO至LBA9999的范圍內(nèi)存取的情況下,超時(shí)時(shí)間獲取單元6使用在HDD150000中設(shè)定的超時(shí)值。然而,當(dāng)存在在LBA10000至LBA19999的范圍內(nèi)的存取時(shí),超時(shí)時(shí)間獲取單元6使用在HDD10000中設(shè)定的超時(shí)值。
[0250]在IO介于LBA9999至LBA10000的范圍內(nèi)的情況下,超時(shí)時(shí)間獲取單元6使用在具有長(zhǎng)超時(shí)時(shí)間的HDD10000中設(shè)定的超時(shí)值,由此即使HDD10000稍微延遲,也防止發(fā)生超時(shí)。
[0251](D)效果
[0252]如上所述,根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例及其每個(gè)修改例,當(dāng)在多路徑環(huán)境下存在替代路徑時(shí),通過(guò)在從服務(wù)器向存儲(chǔ)設(shè)備發(fā)出IO時(shí)設(shè)定短超時(shí)時(shí)間而發(fā)出10。在IO中發(fā)生超時(shí)時(shí),切換路徑以設(shè)定比之前時(shí)間更長(zhǎng)的超時(shí)時(shí)間以使得重試10,從而縮短IO響應(yīng)時(shí)間。因此,當(dāng)發(fā)生異常時(shí),可以縮短直到發(fā)生錯(cuò)誤響應(yīng)或路徑切換為止的時(shí)間,從而縮短總IO響應(yīng)時(shí)間。
[0253]詳細(xì)地,根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例及其修改例,在將關(guān)于磁盤(pán)13的類(lèi)型或最優(yōu)IO超時(shí)時(shí)間的信息預(yù)先存儲(chǔ)到存儲(chǔ)設(shè)備10中并且服務(wù)器2識(shí)別到存儲(chǔ)設(shè)備10的情況下,該信息被傳送至服務(wù)器2。此外,多路徑驅(qū)動(dòng)器單元3的超時(shí)時(shí)間獲取單元6基于在發(fā)出IO時(shí)從存儲(chǔ)設(shè)備10獲取的超時(shí)表14來(lái)獲取最優(yōu)IO超時(shí)時(shí)間。因此,在考慮存儲(chǔ)設(shè)備10的磁盤(pán)13的類(lèi)型和剩余路徑的數(shù)目的情況下,多路徑驅(qū)動(dòng)器單元3可以設(shè)定最優(yōu)IO超時(shí)時(shí)間。
[0254]根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例及其修改例,由于超時(shí)表4和14有CM系數(shù)43和143,可以在考慮存儲(chǔ)設(shè)備10的CM (例如關(guān)于是否為專(zhuān)有CM)的性能的情況下適當(dāng)?shù)卦O(shè)定超時(shí)時(shí)間。
[0255]根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式的示例及其修改例,存儲(chǔ)設(shè)備10的超時(shí)時(shí)間改變單元15檢測(cè)例如高載荷和/或故障以將超時(shí)表14的超時(shí)時(shí)間設(shè)定為略長(zhǎng)。因此,可以縮短IO響應(yīng)時(shí)間。
[0256]在此情況下,由于超時(shí)時(shí)間改變單元15使用感知將超時(shí)值的變化通知給服務(wù)器2,所以可以在存儲(chǔ)設(shè)備10側(cè)更新超時(shí)值時(shí)抑制網(wǎng)絡(luò)載荷的增加。
[0257](E)其它
[0258]所公開(kāi)的技術(shù)不限于上述實(shí)施方式,并且因此可以在不背離本公開(kāi)內(nèi)容的實(shí)施方式的范圍的情況下通過(guò)進(jìn)行各種改變來(lái)實(shí)施。
[0259]例如,根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式及其修改例,通過(guò)使用查詢(xún)命令從存儲(chǔ)設(shè)備10和20獲取超時(shí)對(duì)應(yīng)/不對(duì)應(yīng)條件或超時(shí)表14。然而,可以通過(guò)使用其它命令來(lái)獲取信息。
[0260]可替選地,根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式及其修改例,根據(jù)CM是專(zhuān)有CM還是非專(zhuān)有CM來(lái)設(shè)定CM系數(shù),但是可以根據(jù)在從服務(wù)器2觀看時(shí)路徑是專(zhuān)有路徑還是非專(zhuān)有路徑來(lái)設(shè)定“路徑系數(shù)”。
[0261]根據(jù)本公開(kāi)內(nèi)容的實(shí)施方式及其修改例,存儲(chǔ)設(shè)備10的超時(shí)時(shí)間改變單元15使用感知將超時(shí)表14被更新的事實(shí)通知給服務(wù)器2。然而,可以通過(guò)使用其它方法來(lái)通知更新。此外,一旦存儲(chǔ)設(shè)備10更新超時(shí)表14,存儲(chǔ)設(shè)備10就可以將超時(shí)表14傳送至服務(wù)器2。
[0262](F)聲明
[0263]參照以上實(shí)施方式公開(kāi)所附權(quán)利要求。
[0264]本文中所記載的所有實(shí)施例和條件用語(yǔ)意圖用于教導(dǎo)的目的,以幫助讀者理解本公開(kāi)內(nèi)容和由本發(fā)明人為促進(jìn)技術(shù)而貢獻(xiàn)的構(gòu)思,并且應(yīng)當(dāng)被理解為不限于這些具體記載的示例和條件,而且說(shuō)明書(shū)中的這些示例的組織也不涉及表明本公開(kāi)內(nèi)容的優(yōu)勢(shì)和劣勢(shì)。盡管已經(jīng)詳細(xì)地描述了本公開(kāi)內(nèi)容的實(shí)施方案,但是應(yīng)當(dāng)理解,可以在不背離本公開(kāi)內(nèi)容的精神和范圍的情況下對(duì)其做出各種變化、替代和改變。
【權(quán)利要求】
1.一種信息處理設(shè)備,包括: 存儲(chǔ)單元,經(jīng)由多條路徑連接至存儲(chǔ)設(shè)備,并且被配置為存儲(chǔ)關(guān)于所述多條路徑中的每條路徑的超時(shí)時(shí)間的管理信息;以及 獲取單元,被配置為對(duì)于用于針對(duì)所述存儲(chǔ)單元的輸入或輸出請(qǐng)求的發(fā)出方的路徑和另一路徑,從所述存儲(chǔ)單元獲取按照每條路徑的超時(shí)時(shí)間量。
2.根據(jù)權(quán)利要求1所述的信息處理設(shè)備,還包括: 采集單元,被配置為采集所述管理信息并且將所采集的管理信息存儲(chǔ)在所述存儲(chǔ)單元中;以及 發(fā)出單元,被配置為通過(guò)使用由所述獲取單元獲取的所述超時(shí)時(shí)間向所述存儲(chǔ)設(shè)備發(fā)出輸入和輸出。
3.根據(jù)權(quán)利要求2所述的信息處理設(shè)備,其中,所述采集單元從所述存儲(chǔ)設(shè)備采集所述多條路徑的多個(gè)輸入和輸出超時(shí)時(shí)間作為所述管理信息;以及 所述獲取單元針對(duì)所述多條路徑中的第一路徑獲取第一輸入和輸出超時(shí)時(shí)間,以及當(dāng)在針對(duì)所述第一路徑的輸入和輸出上發(fā)生超時(shí)錯(cuò)誤時(shí),所述獲取單元針對(duì)所述多條路徑中的不同于所述第一路徑的第二路徑獲取比所述第一輸入和輸出超時(shí)時(shí)間更長(zhǎng)的第二輸入和輸出超時(shí)時(shí)間。
4.根據(jù)權(quán)利要求3所述的信息處理設(shè)備,其中,所述第一輸入和輸出超時(shí)時(shí)間是所述多條路徑中的除最后路徑之外的路徑的超時(shí)時(shí)間;以及 所述第二輸入 和輸出超時(shí)時(shí)間是所述多條路徑中的所述最后路徑的超時(shí)時(shí)間。
5.根據(jù)權(quán)利要求4所述的信息處理設(shè)備,其中,當(dāng)在針對(duì)所述第一路徑的所述輸入和輸出上發(fā)生超時(shí)錯(cuò)誤時(shí),在向所述第二路徑發(fā)出所述輸入和輸出之前,所述獲取單元針對(duì)所述多條路徑中的與所述第一路徑和所述第二路徑不同的第三路徑獲取第三輸入和輸出超時(shí)時(shí)間,所述第三輸入和輸出超時(shí)時(shí)間比所述第一輸入和輸出超時(shí)時(shí)間更長(zhǎng)且比所述第二輸入和輸出超時(shí)時(shí)間更短。
6.根據(jù)權(quán)利要求2所述的信息處理設(shè)備,其中,當(dāng)在所述存儲(chǔ)設(shè)備中所述多個(gè)輸入和輸出超時(shí)時(shí)間改變時(shí),所述采集單元采集改變之后的所述多個(gè)輸入和輸出超時(shí)時(shí)間作為所述管理信息。
7.一種存儲(chǔ)設(shè)備,包括: 存儲(chǔ)單元,經(jīng)由多條路徑連接至信息處理設(shè)備,并且被配置為存儲(chǔ)所述多條路徑的多個(gè)輸入和輸出超時(shí)時(shí)間;以及 傳輸單元,被配置為:當(dāng)所述信息處理設(shè)備需要所述多個(gè)輸入和輸出超時(shí)時(shí)間時(shí),將所述多個(gè)輸入和輸出超時(shí)時(shí)間傳輸給所述信息處理設(shè)備。
8.根據(jù)權(quán)利要求7所述的存儲(chǔ)設(shè)備,還包括: 改變單元,被配置為根據(jù)所述多條路徑中的每條路徑的狀況來(lái)改變所述多個(gè)輸入和輸出超時(shí)時(shí)間, 其中,當(dāng)所述傳輸單元接收到來(lái)自所述信息處理設(shè)備的輸入和輸出時(shí),所述傳輸單元將由所述改變單元改變的所述多個(gè)輸入和輸出超時(shí)時(shí)間傳輸給所述信息處理設(shè)備。
9.一種信息處理系統(tǒng),包括: 信息處理設(shè)備;存儲(chǔ)設(shè)備,經(jīng)由多條路徑連接至所述信息處理設(shè)備; 存儲(chǔ)單元,被配置為存儲(chǔ)針對(duì)所述多條路徑中的每條路徑的超時(shí)時(shí)間的管理信息;以及 獲取單元,被配置為根據(jù)從所述信息處理設(shè)備到所述存儲(chǔ)設(shè)備的輸入和輸出發(fā)出目的地的一條路徑和另一路徑,從所述存儲(chǔ)單元獲取所述一條路徑和所述另一路徑的超時(shí)時(shí)間。
10.根據(jù)權(quán)利要求9所述的信息處理系統(tǒng),還包括: 采集單元,被配置為采集所述管理信息并且將所采集的管理信息存儲(chǔ)在所述存儲(chǔ)單元中;以及 發(fā)出單元,被配置為通過(guò)使用由所述獲取單元獲取的所述超時(shí)時(shí)間向所述存儲(chǔ)設(shè)備發(fā)出來(lái)自所述信息處理設(shè)備的輸入和輸出。
11.根據(jù)權(quán)利要求10所述的信息處理系統(tǒng),其中,所述采集單元從所述存儲(chǔ)設(shè)備采集所述多條路徑的多個(gè)輸入和輸出超時(shí)時(shí)間作為所述管理信息;以及 所述獲取單元針對(duì)所述多條路徑中的第一路徑獲取第一輸入和輸出超時(shí)時(shí)間,以及當(dāng)在針對(duì)所述第一路徑的所述輸入和輸出上發(fā)生超時(shí)錯(cuò)誤時(shí),所述獲取單元針對(duì)所述多條路徑中的不同于所述第一路徑的第二路徑,獲取比所述第一輸入和輸出超時(shí)時(shí)間更長(zhǎng)的第二輸入和輸出超時(shí)時(shí)間。
12.根據(jù)權(quán)利要求11所述的信息處理系統(tǒng),其中,所述第一輸入和輸出超時(shí)時(shí)間是所述多條路徑中的除最后路徑之 外的路徑的超時(shí)時(shí)間;以及 所述第二輸入和輸出超時(shí)時(shí)間是所述多條路徑中的所述最后路徑的超時(shí)時(shí)間。
13.根據(jù)權(quán)利要求12所述的信息處理系統(tǒng),其中,當(dāng)在針對(duì)所述第一路徑的所述輸入和輸出上發(fā)生超時(shí)錯(cuò)誤時(shí),在向所述第二路徑發(fā)出所述輸入和輸出之前,所述獲取單元針對(duì)所述多條路徑中的與所述第一路徑和所述第二路徑不同的第三路徑獲取第三輸入和輸出超時(shí)時(shí)間,所述第三輸入和輸出超時(shí)時(shí)間比所述第一輸入和輸出超時(shí)時(shí)間更長(zhǎng)且比所述第二輸入和輸出超時(shí)時(shí)間更短。
14.根據(jù)權(quán)利要求10所述的信息處理系統(tǒng),其中,當(dāng)在所述存儲(chǔ)設(shè)備中所述多個(gè)輸入和輸出超時(shí)時(shí)間改變時(shí),所述采集單元采集改變之后的所述多個(gè)輸入和輸出超時(shí)時(shí)間作為所述管理信息。
15.—種輸入和輸出方法,包括: 經(jīng)由多條路徑將存儲(chǔ)設(shè)備連接至信息處理設(shè)備; 將針對(duì)所述多條路徑中的每條路徑的超時(shí)時(shí)間的管理信息存儲(chǔ)在所述存儲(chǔ)設(shè)備的存儲(chǔ)單元中;以及 根據(jù)針對(duì)所述存儲(chǔ)設(shè)備的輸入/輸出發(fā)出目的地的一條路徑和另一路徑,從所述存儲(chǔ)單元獲取所述一條路徑和所述另一路徑的所述超時(shí)時(shí)間。
16.一種計(jì)算機(jī)可讀記錄介質(zhì),所述計(jì)算機(jī)可讀記錄介質(zhì)存儲(chǔ)計(jì)算機(jī)可執(zhí)行程序,所述計(jì)算機(jī)可執(zhí)行程序在被執(zhí)行時(shí)使計(jì)算機(jī)執(zhí)行輸入和輸出方法,所述輸入和輸出方法包括: 經(jīng)由多條路徑將存儲(chǔ)設(shè)備連接至信息處理設(shè)備; 將針對(duì)所述多條路徑中的每條路 徑的超時(shí)時(shí)間的管理信息存儲(chǔ)在所述存儲(chǔ)設(shè)備的存儲(chǔ)單元中;以及根據(jù)針對(duì)所述存儲(chǔ)設(shè)備的輸入/輸出發(fā)出目的地的一條路徑和另一路徑,從所述存儲(chǔ)單元獲取所 述一條路徑和所述另一路徑的所述超時(shí)時(shí)間。
【文檔編號(hào)】G06F3/06GK103885722SQ201310675159
【公開(kāi)日】2014年6月25日 申請(qǐng)日期:2013年12月11日 優(yōu)先權(quán)日:2012年12月19日
【發(fā)明者】小橋究 申請(qǐng)人:富士通株式會(huì)社