亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)轉(zhuǎn)發(fā)方法及使用該方法的盤控制裝置的制作方法

文檔序號(hào):6430561閱讀:101來源:國知局
專利名稱:數(shù)據(jù)轉(zhuǎn)發(fā)方法及使用該方法的盤控制裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及經(jīng)網(wǎng)絡(luò)高可靠且高速轉(zhuǎn)發(fā)數(shù)據(jù)的數(shù)據(jù)轉(zhuǎn)發(fā)方法及用來控制多個(gè)磁盤裝置的盤控制裝置。
背景技術(shù)
伴隨信息通信的高度化,信息通信系統(tǒng)所要求的處理性能日益提高。特別是最近,集成LSI向微細(xì)化發(fā)展的結(jié)果,致使LSI之間的數(shù)據(jù)轉(zhuǎn)發(fā)性能達(dá)到可以左右系統(tǒng)性能的狀況。因此,正在致力于進(jìn)行對(duì)IO系統(tǒng)的高性能化·多功能化的研究,提高轉(zhuǎn)發(fā)速度的同時(shí),開發(fā)具有多樣化傳輸功能的通信協(xié)議·引擎。
例如,按InfiniBand Architecture Specification Release 1.0a規(guī)定的InfiniBand轉(zhuǎn)發(fā)方式就是在由發(fā)送隊(duì)列(SQ)和接收隊(duì)列(RQ)構(gòu)成的隊(duì)列對(duì)(QP)、和在隊(duì)列對(duì)累積的請(qǐng)求處理完成時(shí)刻通知完成狀況的完成隊(duì)列(CQ)采取應(yīng)用處理和IO系統(tǒng)的接口的數(shù)據(jù)轉(zhuǎn)發(fā)方法。用圖4說明其構(gòu)成。
處理51和處理52分別使用2個(gè)隊(duì)列對(duì)進(jìn)行通信。處理51具有由發(fā)送隊(duì)列11和接收隊(duì)列21構(gòu)成的隊(duì)列對(duì)41以及由發(fā)送隊(duì)列12和接收隊(duì)列22構(gòu)成的隊(duì)列對(duì)42。同樣,處理52具有由發(fā)送隊(duì)列13和接收隊(duì)列23構(gòu)成的隊(duì)列對(duì)43以及由發(fā)送隊(duì)列14和接收隊(duì)列24構(gòu)成的隊(duì)列對(duì)44。完成隊(duì)列31中存儲(chǔ)隊(duì)列對(duì)41和隊(duì)列對(duì)42的完成狀況,完成隊(duì)列32中存儲(chǔ)隊(duì)列對(duì)43和隊(duì)列對(duì)44的完成狀況。
發(fā)送隊(duì)列的各表目中存放轉(zhuǎn)發(fā)請(qǐng)求。把依照該轉(zhuǎn)發(fā)請(qǐng)求轉(zhuǎn)發(fā)的數(shù)據(jù)的單位叫做邏輯記錄。接收隊(duì)列的各表目中存放指向接收緩沖器的指針。發(fā)送隊(duì)列12的轉(zhuǎn)發(fā)請(qǐng)求有指向處理緩沖器71內(nèi)的記錄緩沖器81的指針,發(fā)送隊(duì)列14的轉(zhuǎn)發(fā)請(qǐng)求有指向處理緩沖器72內(nèi)的記錄緩沖器82的指針。同樣,接收隊(duì)列22、24存儲(chǔ)有指向記錄緩沖器81、82的指針。
在進(jìn)行通信的兩個(gè)隊(duì)列對(duì)之間,發(fā)送隊(duì)列與接收隊(duì)列連接起來。發(fā)送隊(duì)列12與接收隊(duì)列24進(jìn)行連接,發(fā)送隊(duì)列14與接收隊(duì)列22進(jìn)行連接。這時(shí),如果處理累積在發(fā)送隊(duì)列12內(nèi)的轉(zhuǎn)發(fā)請(qǐng)求,就把存儲(chǔ)在記錄緩沖器81內(nèi)的邏輯記錄轉(zhuǎn)發(fā)給向由接收隊(duì)列24指定的記錄緩沖器82。在完成了正常轉(zhuǎn)發(fā)的時(shí)刻,從接收隊(duì)列24把完成狀況通知給完成隊(duì)列32,并從發(fā)送隊(duì)列12把完成狀況通知給完成隊(duì)列31。
這些隊(duì)列對(duì)或完成隊(duì)列的處理由被稱為主機(jī)信道適配器(HCA)的硬件進(jìn)行。圖5示出了它的構(gòu)成。HCA具有接收端口613和發(fā)送端口623、接收側(cè)的邏輯鏈路層631、邏輯傳輸層632、處理器633、發(fā)送側(cè)的邏輯鏈路層641、邏輯傳輸層642、處理器643、存儲(chǔ)器650和連接接口660。HCA與應(yīng)用處理間的通信經(jīng)連接接口和存儲(chǔ)器來進(jìn)行。接收側(cè)和發(fā)送側(cè)可以并行工作,從而可以用鏈路層·邏輯傳輸層高速進(jìn)行高功能協(xié)議處理。
圖6說明在兩個(gè)HCA之間簡(jiǎn)單地處理轉(zhuǎn)發(fā)請(qǐng)求的情況??紤]把HCA1側(cè)的處理緩沖器73內(nèi)的記錄緩沖器83轉(zhuǎn)發(fā)給HCA2側(cè)的處理緩沖器74內(nèi)的記錄緩沖器84的情況。在HCA1,把記錄緩沖器83分解為適于發(fā)送的大小,分別加上適當(dāng)?shù)念^部和錯(cuò)誤校驗(yàn)碼(CRC)之后,作為數(shù)據(jù)包401~403進(jìn)行轉(zhuǎn)發(fā)。在HCA2,用CRC確認(rèn)在接收數(shù)據(jù)包內(nèi)是否有錯(cuò)誤,在檢測(cè)到錯(cuò)誤的情況下,用表示該意旨的NAK(否定確認(rèn))通知HCA1。在HCA1,對(duì)返回的NAK的數(shù)據(jù)包進(jìn)行重發(fā)。在HCA2,在全部數(shù)據(jù)包被正常接收的時(shí)刻,進(jìn)行邏輯記錄的再構(gòu)建,并存儲(chǔ)到記錄緩沖器84內(nèi),然后把完成狀況通知給完成隊(duì)列34,同時(shí)讓HCA1知道接收完成。在HCA1,接收到HCA2的接收完成通知后,把轉(zhuǎn)發(fā)完成狀況通知給完成隊(duì)列33,由此結(jié)束一連串的轉(zhuǎn)發(fā)請(qǐng)求處理。
作為其他的例子,用圖7說明處理兩個(gè)HCA之間的RDMA轉(zhuǎn)發(fā)請(qǐng)求的情況。在RDMA轉(zhuǎn)發(fā)中,把發(fā)起者的應(yīng)用存儲(chǔ)器空間75內(nèi)的RDMA轉(zhuǎn)發(fā)空間85轉(zhuǎn)發(fā)給目標(biāo)側(cè)的應(yīng)用存儲(chǔ)器空間76內(nèi)的RDMA轉(zhuǎn)發(fā)空間86。在RDMA轉(zhuǎn)發(fā)中,因?yàn)樵谵D(zhuǎn)發(fā)目標(biāo)側(cè)的應(yīng)用存儲(chǔ)器空間內(nèi)進(jìn)行直接轉(zhuǎn)發(fā),所以必須附加轉(zhuǎn)發(fā)目標(biāo)側(cè)的存儲(chǔ)器地址信息。此外,進(jìn)行與簡(jiǎn)單轉(zhuǎn)發(fā)請(qǐng)求同樣的動(dòng)作。在HCA1,按適當(dāng)?shù)拇笮“裄DMA轉(zhuǎn)發(fā)空間85構(gòu)成為數(shù)據(jù)包,按順序轉(zhuǎn)發(fā)給HCA2。在HCA2,將接收數(shù)據(jù)包存儲(chǔ)在RDMA轉(zhuǎn)發(fā)空間86內(nèi)的被決定下來的地方,必要的話進(jìn)行數(shù)據(jù)包的重發(fā)處理,進(jìn)行空間整體的再構(gòu)建。在HCA2,在正常接收到全部數(shù)據(jù)包的時(shí)刻,將完成狀況通知給完成隊(duì)列36,同時(shí)讓HCA1知道接收完成。在HCA1,接收到HCA2的接收完成通知之后,將轉(zhuǎn)發(fā)完成狀況通知給完成隊(duì)列35,由此完成一連串的轉(zhuǎn)發(fā)請(qǐng)求處理。
此前說明的協(xié)議是保證無轉(zhuǎn)發(fā)錯(cuò)誤的可靠的數(shù)據(jù)轉(zhuǎn)發(fā)方法,是通常所廣泛使用的基本方法。以往的可靠的數(shù)據(jù)轉(zhuǎn)發(fā)方法有以下兩個(gè)特征1.在目標(biāo)側(cè),確認(rèn)作為轉(zhuǎn)發(fā)請(qǐng)求單位的邏輯記錄這整體無錯(cuò)誤之后通知完成狀況。
2.在發(fā)起者側(cè),確認(rèn)來自目標(biāo)側(cè)的邏輯記錄整體正常轉(zhuǎn)發(fā)完成狀況通知之后,開始下一個(gè)邏輯記錄的轉(zhuǎn)發(fā)。
用圖2和圖3來說明上述特征。圖2中,從HCA1側(cè)的應(yīng)用(AP)1根據(jù)轉(zhuǎn)發(fā)請(qǐng)求121開始邏輯記錄221的轉(zhuǎn)發(fā)。在HCA2檢測(cè)到錯(cuò)誤的情況下,進(jìn)行重發(fā)。在正常完成邏輯記錄接收的時(shí)刻,HCA2把完成狀況321通知給應(yīng)用2的完成隊(duì)列。接收到完成狀況321之后,應(yīng)用2可以開始使用了邏輯記錄221的處理721。結(jié)束了邏輯記錄221的正常接收的HCA2讓HCA1知道接收完成,HCA1把轉(zhuǎn)發(fā)完成狀況361通知給應(yīng)用1的完成隊(duì)列。由該例可知,目標(biāo)側(cè)的應(yīng)用2完成邏輯記錄221整體的接收之后接受完成狀況321。在HCA2完成了邏輯記錄221整體的接收之后,發(fā)起者側(cè)的應(yīng)用1可以開始下一個(gè)邏輯記錄的轉(zhuǎn)發(fā)請(qǐng)求。
圖3中,從HCA1側(cè)的應(yīng)用1根據(jù)轉(zhuǎn)發(fā)請(qǐng)求131開始RDMA轉(zhuǎn)發(fā)。這種情況下,RDMA轉(zhuǎn)發(fā)空間整體成為一個(gè)邏輯記錄。在HCA2一邊接收被分割為多個(gè)的數(shù)據(jù)包,一邊根據(jù)需要進(jìn)行重發(fā)請(qǐng)求。在正常完成了全部數(shù)據(jù)包的轉(zhuǎn)發(fā)(邏輯記錄整體的轉(zhuǎn)發(fā))的時(shí)刻,把完成狀況331通知給HCA2側(cè)的應(yīng)用2的完成隊(duì)列。接收到完成狀況331之后,應(yīng)用2就可以開始使用了所轉(zhuǎn)發(fā)的邏輯記錄即RDMA轉(zhuǎn)發(fā)空間的處理731。完成了邏輯記錄的正常接收的HCA2讓HCA1知道接收已完成,HCA1把轉(zhuǎn)發(fā)完成狀況37 1通知給應(yīng)用1(的完成隊(duì)列)。
如用該例也可知的那樣,目標(biāo)側(cè)的應(yīng)用2完成邏輯記錄(RDMA轉(zhuǎn)發(fā)空間)整體接收之后接受完成狀況331。在HCA2完成了邏輯記錄(RDMA轉(zhuǎn)發(fā)空間)整體的接收之后,發(fā)起者側(cè)的應(yīng)用1就可以開始下一個(gè)邏輯記錄的轉(zhuǎn)發(fā)請(qǐng)求。
這樣,在以往的可靠的數(shù)據(jù)轉(zhuǎn)發(fā)方法中,作為避免轉(zhuǎn)發(fā)錯(cuò)誤的措施,必須具備上述的兩個(gè)基本特征。如特開平8-179999號(hào)公報(bào)所披露的以往的可靠的數(shù)據(jù)轉(zhuǎn)發(fā)方法,雖然也可知保證錯(cuò)誤發(fā)生以前的轉(zhuǎn)發(fā)數(shù)據(jù)的方式,但是必須滿足上述的特征這一點(diǎn)是不能改變的。
專利文獻(xiàn)特開平8-179999非專利文獻(xiàn)InfiniBand Architecture Specification Release 1.0a為了避免轉(zhuǎn)發(fā)錯(cuò)誤,以往的可靠的數(shù)據(jù)轉(zhuǎn)發(fā)方法必須利用上述兩個(gè)特征,而為此存在以下問題。
首先,因?yàn)樗^“發(fā)起者必須確認(rèn)目標(biāo)側(cè)的邏輯記錄整體的正常接收完成”的特征,所以從發(fā)起者向目標(biāo)側(cè)的邏輯記錄轉(zhuǎn)發(fā)所需要的時(shí)間之外,還要花費(fèi)從目標(biāo)側(cè)向發(fā)起者通知轉(zhuǎn)發(fā)完成的時(shí)間來作為額外的時(shí)間。在邏輯記錄的記錄長度短時(shí),該額外的時(shí)間就顯著,致使通信線路的效率明顯降低。特別是隨IO系統(tǒng)的高功能化,目標(biāo)側(cè)的處理任務(wù)增加,通知邏輯記錄的轉(zhuǎn)發(fā)完成狀況所需要的時(shí)間趨于增大。邏輯記錄的轉(zhuǎn)發(fā)時(shí)間隨轉(zhuǎn)發(fā)速度的提高而縮短,所以,來自發(fā)起者的轉(zhuǎn)發(fā)完成通知額外時(shí)間相對(duì)增大,轉(zhuǎn)發(fā)效率惡化,改善這種狀況就成為所要解決的問題。
其次,因?yàn)樗^“在目標(biāo)側(cè),確認(rèn)所接收到的邏輯記錄整體無錯(cuò)誤之后通知完成狀況”的特征,即使在例如邏輯記錄的途中可以正常接收,目標(biāo)側(cè)的應(yīng)用也不能認(rèn)識(shí)到該問題并有效地靈活運(yùn)用,到結(jié)束邏輯記錄整體的接收為止,必須延遲開始利用接收邏輯記錄的應(yīng)用處理。在邏輯記錄的記錄長度長時(shí),到該處理開始為止的延遲時(shí)間顯著,使應(yīng)用的處理效率降低。如果記錄長度長,轉(zhuǎn)發(fā)錯(cuò)誤的發(fā)生率上升,一旦因轉(zhuǎn)發(fā)錯(cuò)誤要進(jìn)行重發(fā)處理,上述延遲時(shí)間就進(jìn)一步增加,處理效率降低。在長的記錄長度的轉(zhuǎn)發(fā)或轉(zhuǎn)發(fā)錯(cuò)誤發(fā)生時(shí)不使應(yīng)用的處理效率降低就成為需要解決的另一問題。

發(fā)明內(nèi)容
本發(fā)明的目的是提供改善上述現(xiàn)有技術(shù)的缺點(diǎn)同時(shí)能夠?qū)崿F(xiàn)高轉(zhuǎn)發(fā)效率和高應(yīng)用處理效率的數(shù)據(jù)轉(zhuǎn)發(fā)方法。更具體地說,提供數(shù)據(jù)轉(zhuǎn)發(fā)方法和使用這種數(shù)據(jù)轉(zhuǎn)發(fā)方法的盤控制裝置,該數(shù)據(jù)轉(zhuǎn)發(fā)方法能夠有效地縮短目標(biāo)側(cè)的接收完成通知所需要的時(shí)間和向發(fā)起者通知轉(zhuǎn)發(fā)完成所需要的時(shí)間。
為實(shí)現(xiàn)上述的目的,按照本發(fā)明,在從發(fā)起者向目標(biāo)側(cè)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),用附加在數(shù)據(jù)中的錯(cuò)誤校驗(yàn)碼確認(rèn)由目標(biāo)側(cè)接收到的數(shù)據(jù)有無通信錯(cuò)誤,從目標(biāo)側(cè)把通信錯(cuò)誤的有無作為轉(zhuǎn)發(fā)狀況返發(fā)給發(fā)起者,在根據(jù)轉(zhuǎn)發(fā)狀況判明數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)產(chǎn)生轉(zhuǎn)發(fā)錯(cuò)誤的情況下,從發(fā)起者向目標(biāo)側(cè)進(jìn)行數(shù)據(jù)的重發(fā),在這種可靠的轉(zhuǎn)發(fā)中,發(fā)起者與目標(biāo)側(cè)間的數(shù)據(jù)轉(zhuǎn)發(fā)單位即邏輯記錄的轉(zhuǎn)發(fā)協(xié)議包括如下執(zhí)行步驟集中匯總轉(zhuǎn)發(fā)多個(gè)邏輯記錄,在發(fā)起者側(cè),按匯總轉(zhuǎn)發(fā)單位進(jìn)行轉(zhuǎn)發(fā)狀況的確認(rèn),并依照發(fā)起者發(fā)出的轉(zhuǎn)發(fā)請(qǐng)求進(jìn)行邏輯記錄的轉(zhuǎn)發(fā),在目標(biāo)側(cè),對(duì)于符合預(yù)定的匯總轉(zhuǎn)發(fā)條件的邏輯記錄,在完成了其正常接收的時(shí)刻,把對(duì)應(yīng)于轉(zhuǎn)發(fā)請(qǐng)求的完成狀況通知給存在于目標(biāo)側(cè)內(nèi)的完成隊(duì)列。
在目標(biāo)側(cè),在匯總轉(zhuǎn)發(fā)的過程中用錯(cuò)誤校驗(yàn)碼檢測(cè)到邏輯記錄的轉(zhuǎn)發(fā)錯(cuò)誤時(shí),直到匯總轉(zhuǎn)發(fā)結(jié)束為止,不管相應(yīng)的邏輯記錄及其后的邏輯記錄的接收,都抑制所述完成狀況的通知。
另外,在目標(biāo)側(cè),在匯總轉(zhuǎn)發(fā)的過程中用錯(cuò)誤校驗(yàn)碼檢測(cè)到邏輯記錄的轉(zhuǎn)發(fā)錯(cuò)誤時(shí),直到匯總轉(zhuǎn)發(fā)結(jié)束為止,不管相應(yīng)的邏輯記錄及其后的邏輯記錄中的用匯總轉(zhuǎn)發(fā)條件字段指定的邏輯記錄的接收,都抑制所述完成狀況的通知。
另外,在對(duì)每個(gè)匯總轉(zhuǎn)發(fā)的單位進(jìn)行確認(rèn)的所述轉(zhuǎn)發(fā)狀況之中包含在目標(biāo)側(cè)檢測(cè)到轉(zhuǎn)發(fā)錯(cuò)誤的最初的邏輯記錄的ID,在發(fā)起者側(cè)根據(jù)轉(zhuǎn)發(fā)狀況,從發(fā)生轉(zhuǎn)發(fā)錯(cuò)誤的邏輯記錄開始重發(fā)。
在匯總轉(zhuǎn)發(fā)過程中,從發(fā)起者或目標(biāo)側(cè)發(fā)出刪除請(qǐng)求后,就可以中止匯總轉(zhuǎn)發(fā)。
另外,盤控制裝置具有帶有與主機(jī)間的接口的多個(gè)主機(jī)接口單元和帶有與磁盤裝置間的接口的多個(gè)盤接口單元,所述主機(jī)接口單元具有暫時(shí)存儲(chǔ)對(duì)所述主機(jī)進(jìn)行讀/寫的數(shù)據(jù)的存儲(chǔ)器,并在所述存儲(chǔ)器與所述主機(jī)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),所述盤接口單元具有暫時(shí)存儲(chǔ)對(duì)所述磁盤裝置進(jìn)行讀/寫的數(shù)據(jù)的超高速緩沖存儲(chǔ)器,并在所述存儲(chǔ)器與所述磁盤裝置之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),該盤控制裝置中,多個(gè)主機(jī)接口單元與多個(gè)盤接口單元之間的轉(zhuǎn)發(fā)、多個(gè)主機(jī)接口單元之間的轉(zhuǎn)發(fā)或者多個(gè)主機(jī)接口單元或多個(gè)盤接口單元與所述存儲(chǔ)器之間的轉(zhuǎn)發(fā)適用上述的數(shù)據(jù)轉(zhuǎn)發(fā)方法。
另一種盤控制裝置具有帶有與主機(jī)間的接口的多個(gè)主機(jī)接口單元、帶有與磁盤裝置間的接口的多個(gè)盤接口單元、多個(gè)存儲(chǔ)器單元和多個(gè)處理器單元,所述主機(jī)接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述主機(jī)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),所述盤接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述磁盤裝置之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),該盤控制裝置中,所述多個(gè)主機(jī)接口單元或所述多個(gè)盤接口單元與所述存儲(chǔ)器單元之間的轉(zhuǎn)發(fā)、所述多個(gè)主機(jī)接口單元或所述多個(gè)盤接口單元與所述處理器單元之間的轉(zhuǎn)發(fā)、多個(gè)存儲(chǔ)器單元與處理器單元之間的轉(zhuǎn)發(fā)、多個(gè)存儲(chǔ)器單元之間的轉(zhuǎn)發(fā)或者多個(gè)處理器單元之間的轉(zhuǎn)發(fā)適用上述的數(shù)據(jù)轉(zhuǎn)發(fā)方法。
如上所述,按照本發(fā)明的數(shù)據(jù)轉(zhuǎn)發(fā)方法,在匯總轉(zhuǎn)發(fā)中,連續(xù)處理各邏輯記錄的轉(zhuǎn)發(fā)請(qǐng)求,發(fā)起者不等待來自目標(biāo)側(cè)的個(gè)別邏輯記錄轉(zhuǎn)發(fā)完成狀況。因此,就不需要個(gè)別的邏輯記錄轉(zhuǎn)發(fā)完成通知所花的時(shí)間,從而能夠大幅度地提高轉(zhuǎn)發(fā)效率。
按照本發(fā)明,對(duì)于符合匯總轉(zhuǎn)發(fā)條件的正常接收的邏輯記錄,在相應(yīng)的邏輯記錄的接收完成時(shí)刻把完成狀況通知給應(yīng)用。因此,即使匯總轉(zhuǎn)發(fā)多個(gè)邏輯記錄的情況下,不等待匯總轉(zhuǎn)發(fā)整體的完成,而在個(gè)別的邏輯記錄的接收完成時(shí)刻也能夠開始對(duì)應(yīng)的應(yīng)用的處理,從而可以改善應(yīng)用的處理效率。特別是,即使在匯總轉(zhuǎn)發(fā)過程中發(fā)生了接收錯(cuò)誤的情況下,對(duì)于發(fā)生錯(cuò)誤之前正常接收到的邏輯記錄也能夠在其接收完成時(shí)刻開始應(yīng)用的執(zhí)行。
按照本發(fā)明,能夠更詳細(xì)地規(guī)定匯總轉(zhuǎn)發(fā)中的匯總轉(zhuǎn)發(fā)條件,即使在匯總轉(zhuǎn)發(fā)中出現(xiàn)了轉(zhuǎn)發(fā)錯(cuò)誤的情況下,也沒有數(shù)據(jù)依存關(guān)系,仍然能夠按到達(dá)順序?qū)Σ豢赡艹霈F(xiàn)問題的邏輯記錄繼續(xù)進(jìn)行接收動(dòng)作。因此,能夠提高應(yīng)用的處理效率,由于減少重發(fā)的記錄數(shù),所以能夠?qū)崿F(xiàn)更高效率的轉(zhuǎn)發(fā)。
按照本發(fā)明,由于僅對(duì)必須重發(fā)的邏輯記錄進(jìn)行重發(fā)處理,所以能夠?qū)⒅匕l(fā)處理所花費(fèi)的時(shí)間抑制到最小限度。因此,由于減少重發(fā)的記錄數(shù),能夠?qū)崿F(xiàn)更高效率的轉(zhuǎn)發(fā)。
按照本發(fā)明,在因匯總轉(zhuǎn)發(fā)過程中發(fā)生轉(zhuǎn)發(fā)錯(cuò)誤等而不需要繼續(xù)進(jìn)行其后的匯總轉(zhuǎn)發(fā)的情況下,能夠中途中止相應(yīng)的匯總轉(zhuǎn)發(fā)。因此,由于抑制不需要的邏輯記錄的轉(zhuǎn)發(fā),所以能夠?qū)崿F(xiàn)更高效率的轉(zhuǎn)發(fā)。
按照本發(fā)明的盤控制裝置,能夠大幅度地改善主機(jī)接口單元與盤接口單元的轉(zhuǎn)發(fā)效率。特別是能夠提高盤控制裝置內(nèi)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)效率,并能夠縮短對(duì)來自主機(jī)接口單元或盤接口單元的IO請(qǐng)求的應(yīng)答時(shí)間,從而能夠提高盤控制裝置的處理性能。


圖1是本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法的動(dòng)作原理圖。
圖2是現(xiàn)有的數(shù)據(jù)轉(zhuǎn)發(fā)方法的動(dòng)作原理圖。
圖3是現(xiàn)有的數(shù)據(jù)轉(zhuǎn)發(fā)方法的動(dòng)作原理圖。
圖4是IO系統(tǒng)的構(gòu)成圖。
圖5是主機(jī)信道適配器(HCA)的構(gòu)成圖。
圖6是現(xiàn)有的簡(jiǎn)單數(shù)據(jù)轉(zhuǎn)發(fā)方法的動(dòng)作詳圖。
圖7是現(xiàn)有的RDMA數(shù)據(jù)轉(zhuǎn)發(fā)方法的動(dòng)作詳圖。
圖8是本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法使用的轉(zhuǎn)發(fā)請(qǐng)求和邏輯記錄的結(jié)構(gòu)圖。
圖9是本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法使用的數(shù)據(jù)包的結(jié)構(gòu)圖。
圖10是本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法的動(dòng)作流程圖。
圖11是本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法中的發(fā)送請(qǐng)求動(dòng)作流程圖。
圖12是本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法中的發(fā)送請(qǐng)求動(dòng)作流程圖。
圖13是本發(fā)明的盤控制裝置的構(gòu)成圖。
圖14是本發(fā)明的盤控制裝置所使用的主機(jī)接口單元的構(gòu)成圖。
圖15是本發(fā)明的盤控制裝置所使用的盤接口單元的構(gòu)成圖。
圖16是本發(fā)明的盤控制裝置的構(gòu)成圖。
圖17是本發(fā)明的盤控制裝置所使用的主機(jī)接口單元的構(gòu)成圖。
圖18是本發(fā)明的盤控制裝置所使用的盤接口單元的構(gòu)成圖。
具體實(shí)施例方式
以下用附圖詳細(xì)描述本發(fā)明的實(shí)施例。
《實(shí)施例1》
圖1和圖8中示出本發(fā)明的一個(gè)實(shí)施例。在本發(fā)明的數(shù)據(jù)轉(zhuǎn)發(fā)方法中,集中匯總轉(zhuǎn)發(fā)多個(gè)邏輯記錄。因此,如圖8所示,多個(gè)轉(zhuǎn)發(fā)請(qǐng)求被連續(xù)存儲(chǔ)在發(fā)起者的發(fā)送隊(duì)列內(nèi)。在各轉(zhuǎn)發(fā)請(qǐng)求中,包含有在邏輯記錄的每個(gè)轉(zhuǎn)發(fā)時(shí)唯一確定的轉(zhuǎn)發(fā)ID、規(guī)定轉(zhuǎn)發(fā)請(qǐng)求的動(dòng)作的轉(zhuǎn)發(fā)命令碼、轉(zhuǎn)發(fā)記錄緩沖器的起始地址及該緩沖器的長度。圖8中,轉(zhuǎn)發(fā)請(qǐng)求101表示記錄緩沖器89的簡(jiǎn)單轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)請(qǐng)求105表示RDMA轉(zhuǎn)發(fā)區(qū)87的RDMA轉(zhuǎn)發(fā),這些都被定義為匯總轉(zhuǎn)發(fā)請(qǐng)求。
圖8中,還示出了通知邏輯記錄的接收完成所用的目標(biāo)側(cè)的完成隊(duì)列39和存儲(chǔ)在該隊(duì)列中的(邏輯記錄的)完成狀況300的構(gòu)成。完成狀況300包含有與邏輯記錄的轉(zhuǎn)發(fā)ID相對(duì)應(yīng)的狀況ID和該完成狀況代碼。
圖1示出了處理該匯總轉(zhuǎn)發(fā)請(qǐng)求的情況之一例。這里,應(yīng)用1經(jīng)HCA1和HCA2向應(yīng)用2發(fā)出轉(zhuǎn)發(fā)請(qǐng)求101~105。在HCA1,依照轉(zhuǎn)發(fā)請(qǐng)求101開始邏輯記錄201的轉(zhuǎn)發(fā)。在HCA2確認(rèn)邏輯記錄201的正常接收完成之后,對(duì)應(yīng)用2的完成隊(duì)列通知完成狀況301。在應(yīng)用2,接受完成狀況301后,就能夠開始對(duì)邏輯記錄201的處理動(dòng)作701。
按照本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法,與原來的方式不同,在開始邏輯記錄102的轉(zhuǎn)發(fā)時(shí)不等待來自HCA2的邏輯記錄101的轉(zhuǎn)發(fā)完成狀況通知。在HCA1,結(jié)束邏輯記錄101的轉(zhuǎn)發(fā)之后,立即開始邏輯記錄102的轉(zhuǎn)發(fā)。在HCA2,所接受到的邏輯記錄102中包含有錯(cuò)誤的情況下,如原來的方式那樣,不進(jìn)行邏輯記錄102的重發(fā)請(qǐng)求處理,把邏輯記錄102的接受錯(cuò)誤記錄在匯總轉(zhuǎn)發(fā)完成狀況內(nèi)之后,轉(zhuǎn)移到下一個(gè)邏輯記錄103的處理。一旦到達(dá)處理完直至轉(zhuǎn)發(fā)請(qǐng)求105的全部匯總轉(zhuǎn)發(fā)請(qǐng)求的時(shí)刻,HCA2就集中把匯總轉(zhuǎn)發(fā)完成狀況351返發(fā)給HCA1。接受到該匯總轉(zhuǎn)發(fā)完成狀況351之后,HCA1就進(jìn)行在HCA2未結(jié)束正常接收的邏輯記錄的重發(fā)。在HCA2,對(duì)于由重發(fā)而能夠正常接收到的記錄212~215,向完成隊(duì)列通知完成狀況312~315,并在應(yīng)用2開始對(duì)應(yīng)的處理712~715。根據(jù)匯總轉(zhuǎn)發(fā)完成狀況352通知全部匯總轉(zhuǎn)發(fā)請(qǐng)求的正常轉(zhuǎn)發(fā)完成狀況,由此就完成一連串的匯總轉(zhuǎn)發(fā)。
按照本實(shí)施例,在匯總轉(zhuǎn)發(fā)中,連續(xù)處理各邏輯記錄的轉(zhuǎn)發(fā)請(qǐng)求,發(fā)起者不等待來自目標(biāo)側(cè)的個(gè)別的邏輯記錄轉(zhuǎn)發(fā)完成狀況通知。因此,就無需個(gè)別的邏輯記錄轉(zhuǎn)發(fā)完成狀況通知所花費(fèi)的時(shí)間,從而能夠大幅度地提高轉(zhuǎn)發(fā)效率。
按照本實(shí)施例,對(duì)于符合匯總轉(zhuǎn)發(fā)條件的正常接收的邏輯記錄,在相應(yīng)的邏輯記錄接收完成時(shí)刻把完成狀況通知給應(yīng)用。因此,即使在匯總轉(zhuǎn)發(fā)多個(gè)邏輯記錄的情況下,不等待匯總轉(zhuǎn)發(fā)整體的完成,也能在個(gè)別的邏輯記錄接收完成時(shí)刻開始對(duì)應(yīng)的應(yīng)用處理,所以能夠改善應(yīng)用處理效率。特別是即使在匯總轉(zhuǎn)發(fā)過程中發(fā)生了轉(zhuǎn)發(fā)錯(cuò)誤的情況下,對(duì)于錯(cuò)誤發(fā)生前正常接收的邏輯記錄,也能夠在其接收完成時(shí)刻開始執(zhí)行應(yīng)用程序。
《實(shí)施例2》按照本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法,在接收匯總轉(zhuǎn)發(fā)的邏輯記錄時(shí),有選擇地僅接收符合匯總轉(zhuǎn)發(fā)條件的邏輯記錄。這樣,即使在匯總轉(zhuǎn)發(fā)內(nèi)的邏輯記錄之間存在依存關(guān)系,也能保證接收記錄的時(shí)間序列順序。例如,在某個(gè)邏輯記錄內(nèi)包含有接收錯(cuò)誤的情況下,可以實(shí)施不管匯總轉(zhuǎn)發(fā)中的此后的邏輯記錄的方法。按照該方法,用在連續(xù)處理全部匯總轉(zhuǎn)發(fā)請(qǐng)求之后,集中進(jìn)行重發(fā)處理的本發(fā)明的方式,在接收邏輯記錄的依存關(guān)系方面不會(huì)發(fā)生問題,不必像原來的方式那樣在發(fā)起者側(cè)等待來自目標(biāo)側(cè)的轉(zhuǎn)發(fā)完成通知。
《實(shí)施例3》用圖9更詳細(xì)說明本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法所使用的匯總轉(zhuǎn)發(fā)條件。
圖9所表示的是本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法所使用的數(shù)據(jù)包結(jié)構(gòu)。該數(shù)據(jù)包由具有有關(guān)路由選擇的信息的路由選擇頭部441、加入了有關(guān)傳輸處理的信息的轉(zhuǎn)發(fā)頭部442、加入了邏輯記錄信息的凈荷443和作為錯(cuò)誤校驗(yàn)碼的CRC444構(gòu)成。路由選擇頭部包含有發(fā)起者·目標(biāo)側(cè)的目的地地址、數(shù)據(jù)包優(yōu)先級(jí)信息、數(shù)據(jù)包長度。轉(zhuǎn)發(fā)頭部內(nèi)包含有規(guī)定轉(zhuǎn)發(fā)處理的處理動(dòng)作代碼和目的地地址的隊(duì)列對(duì)號(hào)碼、數(shù)據(jù)包順序號(hào)、規(guī)定匯總轉(zhuǎn)發(fā)的動(dòng)作的匯總轉(zhuǎn)發(fā)標(biāo)識(shí)符450、匯總轉(zhuǎn)發(fā)條件字段451。
匯總轉(zhuǎn)發(fā)標(biāo)識(shí)符450是表示匯總轉(zhuǎn)發(fā)相應(yīng)的數(shù)據(jù)包的標(biāo)識(shí)符,確認(rèn)該標(biāo)識(shí)符就能夠判斷是否是在匯總轉(zhuǎn)發(fā)過程中。匯總轉(zhuǎn)發(fā)條件字段451是表示匯總轉(zhuǎn)發(fā)中的各邏輯記錄的數(shù)據(jù)依存關(guān)系的字段。如果把對(duì)應(yīng)于各邏輯記錄的位字段內(nèi)設(shè)定“1”,表示該邏輯記錄與其他邏輯記錄沒有依存關(guān)系。即使在匯總轉(zhuǎn)發(fā)中發(fā)生了錯(cuò)誤的情況下,對(duì)于該匯總轉(zhuǎn)發(fā)條件字段被設(shè)定為“1”的邏輯記錄,即使執(zhí)行接收處理,數(shù)據(jù)的到達(dá)順序也不會(huì)出現(xiàn)問題。
如后面所清楚的那樣,也可以把匯總轉(zhuǎn)發(fā)標(biāo)識(shí)符信息或匯總轉(zhuǎn)發(fā)條件字段信息置于凈荷之中,預(yù)先從發(fā)起者通知目標(biāo)側(cè)。這種情況下,在各數(shù)據(jù)包中的轉(zhuǎn)發(fā)頭部內(nèi)也可以沒有匯總轉(zhuǎn)發(fā)標(biāo)識(shí)符或匯總轉(zhuǎn)發(fā)條件字段。
按照本實(shí)施例,能夠更詳細(xì)地規(guī)定匯總轉(zhuǎn)發(fā)中的匯總轉(zhuǎn)發(fā)條件。因此,即使在匯總轉(zhuǎn)發(fā)中發(fā)生了轉(zhuǎn)發(fā)錯(cuò)誤的情況下,對(duì)于不存在數(shù)據(jù)依存關(guān)系,到達(dá)順序不可能出現(xiàn)問題的邏輯記錄也可以繼續(xù)進(jìn)行接收動(dòng)作。因此,能夠提高應(yīng)用的處理效率,由于減少重發(fā)記錄數(shù),從而能夠?qū)崿F(xiàn)效率更高的轉(zhuǎn)發(fā)。
《實(shí)施例4》用圖10來說明本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法的動(dòng)作流程。這里,開始匯總轉(zhuǎn)發(fā)時(shí),發(fā)起者向目標(biāo)側(cè)發(fā)出匯總轉(zhuǎn)發(fā)模式開始請(qǐng)求。如上所述,這是把有關(guān)匯總轉(zhuǎn)發(fā)條件字段等匯總轉(zhuǎn)發(fā)的信息包含在通常的可靠的發(fā)送數(shù)據(jù)包的凈荷內(nèi)進(jìn)行發(fā)送。如果從目標(biāo)側(cè)送達(dá)了對(duì)相應(yīng)的數(shù)據(jù)包的接收完成通知,發(fā)起者·目標(biāo)側(cè)就都成為匯總轉(zhuǎn)發(fā)模式。這里,發(fā)起者按順序開始處理存儲(chǔ)在發(fā)送隊(duì)列內(nèi)的匯總轉(zhuǎn)發(fā)請(qǐng)求,在目標(biāo)側(cè),進(jìn)行與此相對(duì)應(yīng)的應(yīng)答處理。在結(jié)束了一連串匯總轉(zhuǎn)發(fā)請(qǐng)求的時(shí)刻,從目標(biāo)側(cè)把匯總轉(zhuǎn)發(fā)模式的結(jié)束請(qǐng)求作為通常的可靠的發(fā)送數(shù)據(jù)包進(jìn)行發(fā)送。
這時(shí),把作為目標(biāo)側(cè)的匯總轉(zhuǎn)發(fā)接收記錄的匯總轉(zhuǎn)發(fā)完成狀況包含在凈荷的一部分內(nèi)進(jìn)行發(fā)送。從發(fā)起者返發(fā)其接收完成通知,發(fā)起者·目標(biāo)側(cè)解除匯總轉(zhuǎn)發(fā)模式。發(fā)起者和目標(biāo)側(cè)參照匯總轉(zhuǎn)發(fā)完成狀況,如果必要的話,開始重發(fā)處理。即,如果存在應(yīng)重發(fā)的邏輯記錄,就依次按照上述步驟進(jìn)行匯總轉(zhuǎn)發(fā)。如果目標(biāo)側(cè)正常接收到匯總轉(zhuǎn)發(fā)請(qǐng)求的全部邏輯記錄,就結(jié)束匯總轉(zhuǎn)發(fā)。
在本實(shí)施例中,在目標(biāo)側(cè),不管發(fā)生了轉(zhuǎn)發(fā)錯(cuò)誤的以后的相應(yīng)匯總模式中的邏輯記錄接收,都不通知給應(yīng)用的完成隊(duì)列。接著,在上述的匯總轉(zhuǎn)發(fā)完成狀況中包含匯總轉(zhuǎn)發(fā)模式中檢測(cè)到轉(zhuǎn)發(fā)錯(cuò)誤的最初的邏輯記錄的轉(zhuǎn)發(fā)ID,并進(jìn)行返發(fā)。在發(fā)起者側(cè),從包含在匯總轉(zhuǎn)發(fā)完成狀況內(nèi)的檢測(cè)到錯(cuò)誤的邏輯記錄開始重發(fā)。
按照本實(shí)施例,關(guān)于完成了匯總轉(zhuǎn)發(fā)中發(fā)生轉(zhuǎn)發(fā)錯(cuò)誤之前的正常接收的邏輯記錄,接收完成后可以立即開始對(duì)應(yīng)的應(yīng)用的處理。因此,即使發(fā)生了轉(zhuǎn)發(fā)錯(cuò)誤時(shí),也能夠提高應(yīng)用的處理效率,由于減少重發(fā)記錄數(shù),從而能夠?qū)崿F(xiàn)效率更高的轉(zhuǎn)發(fā)。
《實(shí)施例5》在其他實(shí)施例中,把必須重發(fā)的邏輯記錄的轉(zhuǎn)發(fā)ID列表包含在上述匯總轉(zhuǎn)發(fā)完成狀況內(nèi)進(jìn)行返發(fā)。在發(fā)起者側(cè),參照目標(biāo)側(cè)所通知的所述轉(zhuǎn)發(fā)ID列表進(jìn)行重發(fā)處理。
按照本實(shí)施例,僅對(duì)必須重發(fā)的邏輯記錄進(jìn)行重發(fā)處理,由此就能夠把重發(fā)所需要的時(shí)間抑制到最小限度。因此,由于減少重發(fā)記錄數(shù),從而能夠?qū)崿F(xiàn)效率更高的轉(zhuǎn)發(fā)。
《實(shí)施例6》用圖11和圖12來說明本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法中的動(dòng)作細(xì)節(jié)。圖11所表示的是圖10內(nèi)的匯總轉(zhuǎn)發(fā)模式中的發(fā)送請(qǐng)求動(dòng)作流程。如果相應(yīng)的邏輯記錄符合匯總轉(zhuǎn)發(fā)條件,就進(jìn)行發(fā)送處理1201,對(duì)于是否已正常發(fā)送了,進(jìn)行發(fā)送狀況記錄處理1221。圖12表示的是對(duì)應(yīng)于發(fā)送請(qǐng)求的應(yīng)答的動(dòng)作流程。如果相應(yīng)的邏輯記錄符合匯總轉(zhuǎn)發(fā)條件,就進(jìn)行接收處理1101,在正常接收的情況下,進(jìn)行完成隊(duì)列通知1110,最后,進(jìn)行接收狀況記錄處理1121。
對(duì)于發(fā)送請(qǐng)求處理和發(fā)送應(yīng)答處理都不符合匯總轉(zhuǎn)發(fā)條件的邏輯記錄,跳過相應(yīng)的記錄。這時(shí),相互發(fā)出刪除請(qǐng)求1112和1212,可以中途中止相應(yīng)的匯總轉(zhuǎn)發(fā)。接受了刪除請(qǐng)求的一方將其應(yīng)答1111或1211返回之后,解除匯總轉(zhuǎn)發(fā)模式。發(fā)出刪除請(qǐng)求的一方在對(duì)方收到來自對(duì)方的應(yīng)答之后,解除匯總轉(zhuǎn)發(fā)模式。
按照本實(shí)施例,在因匯總轉(zhuǎn)發(fā)過程中發(fā)生轉(zhuǎn)發(fā)錯(cuò)誤等而不需要繼續(xù)其后的匯總轉(zhuǎn)發(fā)的情況下,能夠中途中止相應(yīng)的匯總轉(zhuǎn)發(fā)。因此,由于抑制不需要的邏輯記錄的轉(zhuǎn)發(fā),所以能夠?qū)崿F(xiàn)更高效率的數(shù)據(jù)轉(zhuǎn)發(fā)。
《實(shí)施例7》圖13、圖14、圖15表示有關(guān)本發(fā)明的盤控制裝置的一個(gè)實(shí)施例。圖13中,盤控制裝置500具有用主機(jī)接口網(wǎng)絡(luò)501連接在主機(jī)560上的多個(gè)主機(jī)接口單元510和用盤接口網(wǎng)絡(luò)502連接在磁盤裝置570上的多個(gè)盤接口單元520,盤控制裝置內(nèi)網(wǎng)絡(luò)503把多個(gè)主機(jī)接口單元510和多個(gè)盤接口單元520連接起來。
圖14中所表示的是主機(jī)接口單元510的構(gòu)成,具有多個(gè)主機(jī)信道接口511、處理器512、存儲(chǔ)器513和HCA603,這些部件經(jīng)主機(jī)集線器514連接起來。
圖15中所表示的是盤接口單元520的構(gòu)成,具有多個(gè)盤信道接口521、處理器522、存儲(chǔ)器523和HCA604,這些部件經(jīng)盤集線器524連接起來。在盤集線器524上還連接有超高速緩沖存儲(chǔ)器525。
各主機(jī)接口單元510進(jìn)行接口和超高速緩沖存儲(chǔ)器525與主機(jī)560之間的數(shù)據(jù)轉(zhuǎn)發(fā),各盤接口單元520進(jìn)行接口和超高速緩沖存儲(chǔ)器525與磁盤裝置570之間的數(shù)據(jù)轉(zhuǎn)發(fā)。
主機(jī)接口單元510和盤接口單元520經(jīng)HCA603和HCA604進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。這時(shí),主機(jī)接口單元用主總線把來自多個(gè)主機(jī)信道的指令或數(shù)據(jù)集中起來轉(zhuǎn)發(fā)給盤接口單元。這時(shí),采用上述的高速轉(zhuǎn)發(fā)協(xié)議。HCA只要具有與圖5所示的功能同等的功能就可以,例如,只要能用處理器512或處理器522的軟件處理來實(shí)現(xiàn)其部分功能就行。
按照本實(shí)施例,可以大幅度地改善主機(jī)單元與盤接口單元的轉(zhuǎn)發(fā)效率。特別是能夠提高盤控制裝置內(nèi)網(wǎng)絡(luò)503的轉(zhuǎn)發(fā)效率,可以縮短對(duì)來自主機(jī)接口單元和盤接口單元的IO請(qǐng)求的應(yīng)答時(shí)間,從而能夠提高盤控制裝置的處理性能。
《實(shí)施例8》圖13所示的盤控制裝置為了提高其可靠性,把數(shù)據(jù)冗長地存儲(chǔ)在內(nèi)置在多個(gè)盤接口單元內(nèi)的超高速緩沖存儲(chǔ)器中。因此,在從主機(jī)接口單元510對(duì)盤接口單元520有寫入請(qǐng)求的情況下,把數(shù)據(jù)存儲(chǔ)到某個(gè)盤接口單元內(nèi)的超高速緩沖存儲(chǔ)器之后,對(duì)于別的盤接口單元內(nèi)的超高速緩沖存儲(chǔ)器也能進(jìn)行冗長寫入。該多個(gè)盤接口單元之間的冗長寫入中使用上述的高速轉(zhuǎn)發(fā)協(xié)議。
雖然為了提高盤控制裝置的可靠性而不可缺少冗長寫入,但是會(huì)因此而增加盤控制裝置內(nèi)網(wǎng)絡(luò)的負(fù)荷以及由此而引起的系統(tǒng)性能的惡化。按照本實(shí)施例,能夠提高盤控制裝置內(nèi)網(wǎng)絡(luò)的轉(zhuǎn)發(fā)效率,并能夠提高盤控制裝置的處理性能。
《實(shí)施例9》在圖13所示的盤控制裝置中,為了實(shí)現(xiàn)虛擬功能而與其他盤控制裝置協(xié)作的情況下,在主機(jī)接口單元之間必須進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。該主機(jī)接口單元之間的數(shù)據(jù)轉(zhuǎn)發(fā)適用上述的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法。
在主機(jī)接口單元之間轉(zhuǎn)發(fā)的情況下,就成了經(jīng)由多個(gè)盤控制裝置的數(shù)據(jù)訪問,所以必須盡可能地縮短其應(yīng)答時(shí)間。按照本實(shí)施例,可以大幅度地縮短主機(jī)接口單元之間的應(yīng)答時(shí)間,從而提高盤控制裝置的處理性能。
《實(shí)施例10》圖16所示的盤控制裝置500具有用主機(jī)接口網(wǎng)絡(luò)501連接在主機(jī)560上的多個(gè)主機(jī)接口單元610、用盤接口網(wǎng)絡(luò)502連接在磁盤裝置570上的多個(gè)盤接口單元620、多個(gè)存儲(chǔ)器單元580和多個(gè)處理器單元590,盤控制裝置內(nèi)網(wǎng)絡(luò)503把多個(gè)主機(jī)接口單元610和多個(gè)盤接口單元620、多個(gè)存儲(chǔ)器單元580、多個(gè)處理器單元590連接起來。
所述多個(gè)主機(jī)接口單元501與上述多個(gè)處理器單元590協(xié)作,與存儲(chǔ)器單元580進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),或者多個(gè)盤接口單元620與上述處理器單元590協(xié)作,在上述磁盤裝置570與上述存儲(chǔ)器單元580之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。這種數(shù)據(jù)轉(zhuǎn)發(fā)中采用上述的本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法。
按照本實(shí)施例,能夠提高盤控制裝置內(nèi)網(wǎng)絡(luò)503的轉(zhuǎn)發(fā)效率,可以縮短對(duì)來自主機(jī)接口單元501和盤接口單元620的IO請(qǐng)求的應(yīng)答時(shí)間,從而能夠提高盤控制裝置的處理性能。
上述多個(gè)存儲(chǔ)器單元580與處理器單元590間的數(shù)據(jù)轉(zhuǎn)發(fā)、上述多個(gè)存儲(chǔ)器單元580之間、和處理器單元590之間的數(shù)據(jù)轉(zhuǎn)發(fā)都可以使用上述的本發(fā)明的高速數(shù)據(jù)轉(zhuǎn)發(fā)方法,同樣,能夠提高盤控制裝置的處理性能。
權(quán)利要求
1.一種數(shù)據(jù)轉(zhuǎn)發(fā)方法,是在從發(fā)起者向目標(biāo)側(cè)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),用附加在所述數(shù)據(jù)中的錯(cuò)誤校驗(yàn)碼確認(rèn)由所述目標(biāo)側(cè)接收到的數(shù)據(jù)有無通信錯(cuò)誤,從所述目標(biāo)側(cè)把所述通信錯(cuò)誤的有無作為轉(zhuǎn)發(fā)狀況返發(fā)給所述發(fā)起者,在根據(jù)所述轉(zhuǎn)發(fā)狀況判明所述數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)產(chǎn)生轉(zhuǎn)發(fā)錯(cuò)誤的情況下,從所述發(fā)起者向所述目標(biāo)側(cè)進(jìn)行所述數(shù)據(jù)的重發(fā)的可靠的轉(zhuǎn)發(fā)中,所述發(fā)起者與所述目標(biāo)側(cè)間的所述數(shù)據(jù)轉(zhuǎn)發(fā)單位即邏輯記錄的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其特征在于包括如下步驟集中匯總轉(zhuǎn)發(fā)多個(gè)所述邏輯記錄;在所述發(fā)起者側(cè),按所述匯總轉(zhuǎn)發(fā)單位進(jìn)行所述轉(zhuǎn)發(fā)狀況的確認(rèn);依照所述發(fā)起者發(fā)出的轉(zhuǎn)發(fā)請(qǐng)求進(jìn)行所述邏輯記錄的轉(zhuǎn)發(fā);在所述目標(biāo)側(cè),對(duì)于符合預(yù)定的匯總轉(zhuǎn)發(fā)條件的所述邏輯記錄,在完成了其正常接收的時(shí)刻,把對(duì)應(yīng)于所述邏輯記錄的所述轉(zhuǎn)發(fā)請(qǐng)求的完成狀況通知給存在于所述目標(biāo)側(cè)內(nèi)的完成隊(duì)列。
2.一種數(shù)據(jù)轉(zhuǎn)發(fā)方法,在從發(fā)起者向目標(biāo)側(cè)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),用附加在所述數(shù)據(jù)中的錯(cuò)誤校驗(yàn)碼確認(rèn)由所述目標(biāo)側(cè)接收到的數(shù)據(jù)有無通信錯(cuò)誤,從所述目標(biāo)側(cè)把所述通信錯(cuò)誤的有無作為轉(zhuǎn)發(fā)狀況返發(fā)給所述發(fā)起者,在根據(jù)所述轉(zhuǎn)發(fā)狀況判明所述數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)產(chǎn)生轉(zhuǎn)發(fā)錯(cuò)誤的情況下,從所述發(fā)起者向所述目標(biāo)側(cè)進(jìn)行所述數(shù)據(jù)的重發(fā),在這種可靠的轉(zhuǎn)發(fā)中,所述發(fā)起者與所述目標(biāo)側(cè)間的所述數(shù)據(jù)轉(zhuǎn)發(fā)單位即邏輯記錄的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其特征在于包括如下步驟集中匯總轉(zhuǎn)發(fā)多個(gè)所述邏輯記錄;依照所述發(fā)起者發(fā)出的轉(zhuǎn)發(fā)請(qǐng)求進(jìn)行所述邏輯記錄的轉(zhuǎn)發(fā),在其正常到達(dá)所述目標(biāo)側(cè)的時(shí)刻,把對(duì)應(yīng)于所述邏輯記錄的所述轉(zhuǎn)發(fā)請(qǐng)求的完成狀況通知給存在于所述目標(biāo)側(cè)內(nèi)的完成隊(duì)列;在所述發(fā)起者側(cè),按所述匯總轉(zhuǎn)發(fā)單位進(jìn)行所述轉(zhuǎn)發(fā)狀況的確認(rèn);在所述目標(biāo)側(cè),在所述匯總轉(zhuǎn)發(fā)的過程中用所述錯(cuò)誤校驗(yàn)碼檢測(cè)到所述邏輯記錄的轉(zhuǎn)發(fā)錯(cuò)誤時(shí),直到所述匯總轉(zhuǎn)發(fā)結(jié)束為止,不管相應(yīng)的邏輯記錄及其后的邏輯記錄的接收,都抑制所述完成狀況的通知。
3.一種數(shù)據(jù)轉(zhuǎn)發(fā)方法,在從發(fā)起者向目標(biāo)側(cè)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)時(shí),用附加在所述數(shù)據(jù)中的錯(cuò)誤校驗(yàn)碼確認(rèn)由所述目標(biāo)側(cè)接收到的數(shù)據(jù)有無通信錯(cuò)誤,從所述目標(biāo)側(cè)把所述通信錯(cuò)誤的有無作為轉(zhuǎn)發(fā)狀況返發(fā)給所述發(fā)起者,在根據(jù)所述轉(zhuǎn)發(fā)狀況判明所述數(shù)據(jù)轉(zhuǎn)發(fā)時(shí)產(chǎn)生轉(zhuǎn)發(fā)錯(cuò)誤的情況下,從所述發(fā)起者向所述目標(biāo)側(cè)進(jìn)行所述數(shù)據(jù)的重發(fā),在這種可靠的轉(zhuǎn)發(fā)中,所述發(fā)起者與所述目標(biāo)側(cè)間的所述數(shù)據(jù)轉(zhuǎn)發(fā)單位即邏輯記錄的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其特征在于包括如下步驟集中匯總轉(zhuǎn)發(fā)多個(gè)所述邏輯記錄;在所述發(fā)起者側(cè),按所述匯總轉(zhuǎn)發(fā)單位進(jìn)行所述轉(zhuǎn)發(fā)狀況的確認(rèn);在依照所述發(fā)起者發(fā)出的轉(zhuǎn)發(fā)請(qǐng)求進(jìn)行所述邏輯記錄的轉(zhuǎn)發(fā)正常到達(dá)所述目標(biāo)側(cè)的時(shí)刻,把對(duì)應(yīng)于所述邏輯記錄的所述轉(zhuǎn)發(fā)請(qǐng)求的完成狀況通知給存在于所述目標(biāo)側(cè)內(nèi)的完成隊(duì)列;在所述目標(biāo)側(cè),在所述匯總轉(zhuǎn)發(fā)的過程中用所述錯(cuò)誤校驗(yàn)碼檢測(cè)到所述邏輯記錄的轉(zhuǎn)發(fā)錯(cuò)誤時(shí),直到所述匯總轉(zhuǎn)發(fā)結(jié)束為止,不管相應(yīng)的邏輯記錄及其后的邏輯記錄中的由匯總轉(zhuǎn)發(fā)條件字段指定的邏輯記錄的接收,都抑制所述完成狀況的通知。
4.根據(jù)權(quán)利要求1的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其特征在于在所述發(fā)起者與所述目標(biāo)側(cè)間的所述匯總轉(zhuǎn)發(fā)中,在所述目標(biāo)側(cè),把檢測(cè)到轉(zhuǎn)發(fā)錯(cuò)誤的最初的邏輯記錄的ID包含在對(duì)每個(gè)所述匯總轉(zhuǎn)發(fā)單位進(jìn)行確認(rèn)的所述轉(zhuǎn)發(fā)狀況內(nèi),在所述發(fā)起者側(cè),根據(jù)所述轉(zhuǎn)發(fā)狀況,從發(fā)生轉(zhuǎn)發(fā)錯(cuò)誤的邏輯記錄開始重發(fā)。
5.根據(jù)權(quán)利要求1的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其特征在于在所述發(fā)起者與所述目標(biāo)側(cè)間的所述匯總轉(zhuǎn)發(fā)中,在所述目標(biāo)側(cè),把檢測(cè)到轉(zhuǎn)發(fā)錯(cuò)誤的邏輯記錄的ID的列表包含在對(duì)每個(gè)所述匯總轉(zhuǎn)發(fā)單位進(jìn)行確認(rèn)的所述轉(zhuǎn)發(fā)狀況內(nèi),在所述發(fā)起者側(cè),根據(jù)所述列表,進(jìn)行發(fā)生轉(zhuǎn)發(fā)錯(cuò)誤的邏輯記錄的重發(fā)。
6.根據(jù)權(quán)利要求1的數(shù)據(jù)轉(zhuǎn)發(fā)方法,其特征在于在所述匯總轉(zhuǎn)發(fā)的過程中,從所述發(fā)起者或所述目標(biāo)側(cè)發(fā)出刪除請(qǐng)求后,可以中止所述匯總轉(zhuǎn)發(fā)。
7.一種盤控制裝置,具有帶有與主機(jī)間的接口的多個(gè)主機(jī)接口單元、和帶有與磁盤裝置間的接口的多個(gè)盤接口單元,所述主機(jī)接口單元具有暫時(shí)存儲(chǔ)對(duì)所述主機(jī)進(jìn)行讀/寫的數(shù)據(jù)的存儲(chǔ)器,并在所述存儲(chǔ)器與所述主機(jī)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),所述盤接口單元具有暫時(shí)存儲(chǔ)對(duì)所述磁盤裝置進(jìn)行讀/寫的數(shù)據(jù)的超高速緩沖存儲(chǔ)器,并在所述存儲(chǔ)器與所述磁盤裝置之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),其特征在于所述多個(gè)主機(jī)接口單元與所述多個(gè)盤接口單元之間的轉(zhuǎn)發(fā)適用權(quán)利要求1記載的數(shù)據(jù)轉(zhuǎn)發(fā)方法。
8.一種盤控制裝置,具有帶有與主機(jī)間的接口的多個(gè)主機(jī)接口單元、和帶有與磁盤裝置間的接口的多個(gè)盤接口單元,所述主機(jī)接口單元具有暫時(shí)存儲(chǔ)對(duì)所述主機(jī)進(jìn)行讀/寫的數(shù)據(jù)的存儲(chǔ)器,并在所述存儲(chǔ)器與所述主機(jī)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),所述盤接口單元具有暫時(shí)存儲(chǔ)對(duì)所述磁盤裝置進(jìn)行讀/寫的數(shù)據(jù)的超高速緩沖存儲(chǔ)器,并在所述存儲(chǔ)器與所述磁盤裝置之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),其特征在于所述多個(gè)主機(jī)接口單元之間的轉(zhuǎn)發(fā)適用權(quán)利要求1記載的數(shù)據(jù)轉(zhuǎn)發(fā)方法。
9.一種盤控制裝置,具有帶有與主機(jī)間的接口的多個(gè)主機(jī)接口單元、和帶有與磁盤裝置間的接口的多個(gè)盤接口單元,所述主機(jī)接口單元具有暫時(shí)存儲(chǔ)對(duì)所述主機(jī)進(jìn)行讀/寫的數(shù)據(jù)的存儲(chǔ)器,并在所述存儲(chǔ)器與所述主機(jī)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),所述盤接口單元具有暫時(shí)存儲(chǔ)對(duì)所述磁盤裝置進(jìn)行讀/寫的數(shù)據(jù)的超高速緩沖存儲(chǔ)器,并在所述存儲(chǔ)器與所述磁盤裝置之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),其特征在于所述多個(gè)盤接口單元之間的轉(zhuǎn)發(fā)適用權(quán)利要求1記載的數(shù)據(jù)轉(zhuǎn)發(fā)方法。
10.一種盤控制裝置,具有帶有與主機(jī)間的接口的多個(gè)主機(jī)接口單元、帶有與磁盤裝置間的接口的多個(gè)盤接口單元、多個(gè)存儲(chǔ)器單元和多個(gè)處理器單元,所述主機(jī)接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述主機(jī)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),所述盤接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述磁盤裝置之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),其特征在于所述多個(gè)主機(jī)接口單元或所述多個(gè)盤接口單元與所述存儲(chǔ)器單元之間的轉(zhuǎn)發(fā)適用權(quán)利要求1記載的數(shù)據(jù)轉(zhuǎn)發(fā)方法。
11.一種盤控制裝置,具有帶有與主機(jī)間的接口的多個(gè)主機(jī)接口單元、帶有與磁盤裝置間的接口的多個(gè)盤接口單元、多個(gè)存儲(chǔ)器單元和多個(gè)處理器單元,所述主機(jī)接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述主機(jī)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),所述盤接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述磁盤裝置之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),其特征在于所述多個(gè)主機(jī)接口單元或所述多個(gè)盤接口單元與所述處理器單元之間的轉(zhuǎn)發(fā)適用權(quán)利要求1記載的數(shù)據(jù)轉(zhuǎn)發(fā)方法。
12.一種盤控制裝置,具有帶有與主機(jī)間的接口的多個(gè)主機(jī)接口單元、帶有與磁盤裝置間的接口的多個(gè)盤接口單元、多個(gè)存儲(chǔ)器單元和多個(gè)處理器單元,所述主機(jī)接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述主機(jī)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),所述盤接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述磁盤裝置之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),其特征在于所述多個(gè)存儲(chǔ)器單元與所述處理器單元之間的轉(zhuǎn)發(fā)適用權(quán)利要求1記載的數(shù)據(jù)轉(zhuǎn)發(fā)方法。
13.一種盤控制裝置,具有帶有與主機(jī)間的接口的多個(gè)主機(jī)接口單元、帶有與磁盤裝置間的接口的多個(gè)盤接口單元、多個(gè)存儲(chǔ)器單元和多個(gè)處理器單元,所述主機(jī)接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述主機(jī)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),所述盤接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述磁盤裝置之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),其特征在于所述多個(gè)存儲(chǔ)器單元之間的轉(zhuǎn)發(fā)適用權(quán)利要求1記載的數(shù)據(jù)轉(zhuǎn)發(fā)方法。
14.一種盤控制裝置,具有帶有與主機(jī)間的接口的多個(gè)主機(jī)接口單元、帶有與磁盤裝置間的接口的多個(gè)盤接口單元、多個(gè)存儲(chǔ)器單元和多個(gè)處理器單元,所述主機(jī)接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述主機(jī)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),所述盤接口單元與所述處理器單元協(xié)作在所述存儲(chǔ)器單元與所述磁盤裝置之間進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),其特征在于所述多個(gè)處理器單元之間的轉(zhuǎn)發(fā)適用權(quán)利要求1記載的數(shù)據(jù)轉(zhuǎn)發(fā)方法。
全文摘要
本發(fā)明涉及高速數(shù)據(jù)轉(zhuǎn)發(fā)方法及使用該方法的盤控制裝置。從所述發(fā)起者向所述目標(biāo)側(cè)的邏輯記錄的數(shù)據(jù)轉(zhuǎn)發(fā)方法包括如下步驟在所述邏輯記錄的轉(zhuǎn)發(fā)依照所述發(fā)起者發(fā)出的轉(zhuǎn)發(fā)請(qǐng)求正常到達(dá)所述目標(biāo)側(cè)的時(shí)刻,把對(duì)應(yīng)于所述邏輯記錄的所述轉(zhuǎn)發(fā)請(qǐng)求的完成狀況通知給存在于所述目標(biāo)側(cè)內(nèi)的完成隊(duì)列,集中進(jìn)行多個(gè)所述邏輯記錄的匯總轉(zhuǎn)發(fā),在所述發(fā)起者側(cè),按所述匯總轉(zhuǎn)發(fā)單位進(jìn)行所述轉(zhuǎn)發(fā)狀況的確認(rèn),在所述目標(biāo)側(cè),對(duì)于符合預(yù)定的匯總轉(zhuǎn)發(fā)條件的所述邏輯記錄,在完成了其正常接收的時(shí)刻,將對(duì)應(yīng)于所述邏輯記錄的所述轉(zhuǎn)發(fā)請(qǐng)求的完成狀況通知給存在于目標(biāo)側(cè)內(nèi)的完成隊(duì)列。
文檔編號(hào)G06F3/06GK1607785SQ20041008088
公開日2005年4月20日 申請(qǐng)日期2004年10月11日 優(yōu)先權(quán)日2003年10月14日
發(fā)明者細(xì)谷睦 申請(qǐng)人:株式會(huì)社日立制作所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1