專利名稱:傳輸系統(tǒng)、設(shè)備和方法
技術(shù)領(lǐng)域:
此處討論的實(shí)施例涉及傳輸系統(tǒng),還涉及用于在該傳輸系統(tǒng)中使用的傳輸設(shè)備和傳輸方法,在該傳輸系統(tǒng)中經(jīng)由傳輸i^連接設(shè)備,并且經(jīng)由傳賴^^發(fā)送和接收用于處理的請求和對該請求的響應(yīng)。
背景技術(shù):
近年來,對于信息處理設(shè)備而言,諸如中央處理單元(CPU)和輸入/輸出(I/O)處理器之類的各種設(shè)備通過與傳統(tǒng)的并行傳輸相比在il^上
更高的串行傳輸而相互耦合。
這是因?yàn)椋S著對于各種設(shè)備中的高的數(shù)據(jù)傳送性能的曰益增加的需
求,對于傳統(tǒng)的并行傳輸而言,已變得難以確保足夠的總線帶寬和傳iHil
率o -
高速串行傳輸一方面滿足了對于高的數(shù)據(jù)傳送性能的需求,但另一方面就其數(shù)據(jù)傳輸而言缺乏可靠性。因此,高速串行傳輸需M對任何傳輸差錯(cuò)的發(fā)生的數(shù)據(jù)重傳系統(tǒng).
傳統(tǒng)的高速串行傳輸中的傳輸差錯(cuò)是通過使用每分組ACK來挽救的。具體地,發(fā)送端針對每個(gè)分組指定序號和循環(huán)冗余校驗(yàn)(CRC),將發(fā)送的分組記錄在重傳緩沖器中,并M記錄的分組,直到>^接收端返回ACK。
接收端檢查接收的分組的CRC。如果分組已被正常接收,則接收端返回指定序號的ACK。然而,如恭險(xiǎn)測到傳輸差錯(cuò),則分組被丟棄,且接收端返回指定最近正常接收的分組的序號的NACK。
此外,如果發(fā)送端接收ACK響應(yīng),則發(fā)送端釋放針對指定的序號和指定的序號之前的任何序號的重傳緩沖器。如果發(fā)送端接收NACK響應(yīng),則發(fā)送端發(fā)送來自重傳緩沖器的、指定的序號的分組和在指定的序號之后的序號的任何分組。
此外,已知逐個(gè)分組傳輸控制的變形的例子,例如當(dāng)通過串行總線執(zhí)行分組傳輸時(shí)選擇包括使用ACK分組的握手傳送的通信和不發(fā)送ACK分組的通信中的任一個(gè)的通信方法(例如參見日本公開專利公報(bào)2005-210389 ),以^分組傳輸中僅針對來自接收端的丟失分組進(jìn)行重傳請求以提高數(shù)據(jù)傳輸效率的技術(shù)(例如參見日本公開專利公報(bào)2000-341252 )。
一般地,與通過并行傳輸?shù)姆纸M傳送相比,由于串行/并行轉(zhuǎn)換和其它系統(tǒng),在通過串行傳輸?shù)姆纸M傳送中延遲增加。因此,在傳統(tǒng)的逐個(gè)分組的差錯(cuò)挽救技術(shù)中,需要能夠保存從分組發(fā)送時(shí)間到ACK響應(yīng)接收時(shí)間的所有發(fā)送的分組的巨大的重傳緩沖器。而且,還需要用于使用ACK/NACK響應(yīng)來確i人交4f的流程控制。
因此,傳統(tǒng)的串行傳輸具有必須針對用于差錯(cuò)^Jt的數(shù)據(jù)重傳系統(tǒng)在電路和流程控制上花費(fèi)巨大成本的問題。而且,即使是在傳統(tǒng)的并行傳輸中,當(dāng)傳輸il^被認(rèn)為比傳輸可靠性更重要且因此恢復(fù)系統(tǒng)對于任何傳輸差錯(cuò)的發(fā)生而言是必需的時(shí),需要用于提供這種恢復(fù)系統(tǒng)的費(fèi)用。
本發(fā)明已被實(shí)現(xiàn)用于解決傳統(tǒng)技術(shù)中的上述問題,并且本發(fā)明的目的是提供傳輸系統(tǒng)、設(shè)備和方法,通過該傳輸系統(tǒng)、i更備和方法可以減小用于傳輸?shù)碾娐窅u漢,并且可以通過簡單的控制來挽救差錯(cuò)。
發(fā)明內(nèi)容
#>據(jù)本發(fā)明的一方面, 一種傳輸系統(tǒng),包括第一i殳備和第二i殳備。第一設(shè)備包括請求發(fā)送單元,該請求發(fā)送單元發(fā)送作為至少一個(gè)分組的請求,并在該請求與響應(yīng)之間的時(shí)段不小于預(yù)定時(shí)段的情況下重傳該至少一個(gè)請求分組;以及響應(yīng)接收單元,該響應(yīng)接收單元接收作為至少一個(gè)響應(yīng)分組的響應(yīng),并丟棄所接收的至少一個(gè)響應(yīng)分組中的^#^分組和冗余分組。第二設(shè)備經(jīng)由傳輸路徑與第一設(shè)備相連接,通過該傳輸#來發(fā)送和接)!^第一設(shè)備至第二設(shè)備的請求和從第二設(shè)備至笫一設(shè)備的響應(yīng)。第二設(shè)備還包括請求接收單元,該請求接收單元接收至少一個(gè)請求分組,并丟棄所接收的至少一個(gè)請求分組中的任何錯(cuò)誤分組;以及響應(yīng)發(fā)送單元,該響應(yīng)發(fā)送單元確定響應(yīng)的類型,針對M特定類型的響應(yīng)而選擇性地使至少一個(gè)響應(yīng)分組冗余,并發(fā)送該冗余響應(yīng)分組。
借助于權(quán)利要求中特別指出的要素和組合,將實(shí)現(xiàn)和獲得本發(fā)明的目的和優(yōu)點(diǎn)。應(yīng)當(dāng)理解,上述的一般性描述和下面的詳細(xì)描述均為示例性的和說明 性的,而不是對所要求保護(hù)的本發(fā)明的限定。
圖l是根據(jù)實(shí)施例的計(jì)算機(jī)系統(tǒng)的示意性框圖2是在I/0處理器和算術(shù)單元之間傳輸?shù)姆纸M的類型以及在傳輸差 錯(cuò)時(shí)的挽救處理的表;
圖3是^L據(jù)圖2中列出的第一^Mt類型的挽救^Mt的說明圖4是根據(jù)圖2中列出的第二操作類型的^t操作的說明圖5是^^據(jù)圖2中列出的第三操作類型的挽救操作的說明圖6是通過I/O處理器的保證順序的操作的說明圖7是通過I/O處理器和算術(shù)單元的保證順序的操作的說明圖8是請求發(fā)送單元的處理操作的流程圖9是響應(yīng)接收單元的處理操作的^^呈圖ia是請求接收單元的處理操作的流程圖;以及
圖11是響應(yīng)發(fā)送單元的處理操作的流程圖。
具體實(shí)施例方式
以下將參照附圖來詳細(xì)描述根據(jù)本發(fā)明的傳輸系統(tǒng)、傳輸i殳備和傳輸 方法的實(shí)施例。
在本實(shí)施例中,通過使用以下三個(gè)操作來實(shí)現(xiàn)高速串行傳輸中的低成 ;^:據(jù)重傳系統(tǒng)
1. 在沒有任何分組交付確認(rèn)的情況下,通過在請求處理的請求端處 的時(shí)間監(jiān)測來重傳來自請求隊(duì)列的請求分組;
2. 通過再次執(zhí)行請求處理來挽救響應(yīng)分組的傳輸差錯(cuò);以及
3. 對于對應(yīng)于如下請求的響應(yīng)分組,使分組傳送冗余對該請求不 能再運(yùn)行或再次執(zhí)幹清求處理。
圖1是根據(jù)本實(shí)施例的計(jì)算機(jī)系統(tǒng)1的示意性框圖。圖1所示的計(jì)算機(jī)系統(tǒng)1是串行傳輸系統(tǒng),其中輸"輸出(I/O)處理器10和算術(shù)單元 20 (中央處理單元)經(jīng)由串行傳輸路徑而相互連接。
I/O處理器10連接到在計(jì)算機(jī)系統(tǒng)1外部的未示出的I/O裝置。在 接收到來自I/O裝置的輸入時(shí),I/O處理器10將請求發(fā)送到算術(shù)單元20, 在接收到來自算術(shù)單元20的響應(yīng)時(shí),I/O處理器10產(chǎn)生至I/O裝置的輸 出。
1/O處理器10在其中包括請求處理單元U、請求發(fā)送單元12、響應(yīng) 接收單元13、計(jì)時(shí)器14和I/O裝置控制單元15。 I/O裝置控制單元15 是與未示出的I/O裝置相連接的接口。請求處理單元11基于來自I/O裝 置的輸入而執(zhí)fr清求算術(shù)單元20執(zhí)行預(yù)定處理的處理。
請求發(fā)送單元12執(zhí)行將請求處理單元11產(chǎn)生的請求作為請求分組或 多個(gè)請求分組而經(jīng)由串行傳輸i^發(fā)送到算術(shù)單元20的處理。響應(yīng)接收 單元13執(zhí)行經(jīng)由串行傳輸路徑而接收來自算術(shù)單元20的請求作為響應(yīng)分 組或多個(gè)響應(yīng)分組的處理。
計(jì)時(shí)器14是測量從請求發(fā)送單元12發(fā)送請求與在響應(yīng)接收單元13 處接收響應(yīng)之間的時(shí)段的時(shí)間記錄單元。如果測量的針對該響應(yīng)時(shí)段不小 于預(yù)定時(shí)段,則請求發(fā)送單元12重傳請求分組。
響應(yīng)接收單元13在其中包括#^分組丟棄單元13a和冗余分組丟棄 單元13b。在接收到來自算術(shù)單元20的4^分組時(shí),即,在所接收的來 自算術(shù)單元20的響應(yīng)分組中出現(xiàn)差錯(cuò)時(shí),#^分組丟棄單元13a執(zhí)行丟 棄4m分組的處理,類似地,在接收到冗余分組時(shí),即,在所接收的來自 算術(shù)單元20的響應(yīng)分組與已接收的響應(yīng)分組相同時(shí),冗余分組丟棄單元 13b執(zhí)行丟棄冗余分組的處理。
算術(shù)單元20是處理從I/O處理器10接收的請求并對I/O處理器10 進(jìn)行響應(yīng)的設(shè)備。算術(shù)單元20連接到第一存儲器31和笫4儲器32, 并且能夠?qū)懭氪鎯ζ?即,所謂的存儲)和M儲器讀取(即,所謂的提 取)。
算術(shù)單元20在其中包括響應(yīng)處理單元21、請求接收單元22、響應(yīng)發(fā) 送單元23和存儲器訪問控制單元24。請求接收單元22執(zhí)行經(jīng)由串行傳
請求接收單元22在其中包括^^分組丟棄單元22a。當(dāng)接收到來自I/O 處理器10的4m分組時(shí),即,當(dāng)所接收的來自!/O處理器10的請求分組中出現(xiàn)差錯(cuò)時(shí),4m分組丟棄單元22a執(zhí)行丟棄a分組的處理。
響應(yīng)處理單元21執(zhí)行對請求接收單元22接收的請求進(jìn)行處理并生成 響應(yīng)的處理。當(dāng)請求接收單元22接收的請求是提取請求或存餘清求時(shí), 響應(yīng)處理單元21經(jīng)由存儲器訪問控制單元24將數(shù)據(jù)寫入第一存儲器31 和/或第4儲器32以及從第一存儲器31和/或笫二存儲器32讀取數(shù)據(jù)。
響應(yīng)發(fā)送單元23執(zhí)行經(jīng)由串行傳輸路徑將響應(yīng)處理單元21生成的響 應(yīng)作為響應(yīng)分組或多個(gè)響應(yīng)分組而發(fā)送到I/O處理器10的處理。響應(yīng)發(fā) 送單元23在其中包括響應(yīng)類型確定單元23a和響應(yīng)冗余處理單元23b。
響應(yīng)類型確定單元23a確定響應(yīng)處理單元21生成的響應(yīng)的類型。響 應(yīng)冗余處理單元23b執(zhí)行基于響應(yīng)類型確定單元23a的確定結(jié)果、針對特 定類型的響應(yīng)而選擇性地使響應(yīng)分組冗余的處理。
特定類型的響應(yīng)4^對如下請求的響應(yīng)該請求影響另一請求的處理結(jié) 果并因此不能被簡單地再運(yùn)行或再次執(zhí)行。這種請求的例子包括對算術(shù)單 元20的中斷請求和存儲請求。換言之,這些請求需要保證請求處理的順 序。因此,對于作為對存儲請求的響應(yīng)的存儲響應(yīng)和作為對至算術(shù)單元 20的中斷請求的響應(yīng)的中斷響應(yīng),使響應(yīng)分組冗余以使其作為具有相同 內(nèi)容的多個(gè)分組而^L送。
另一方面.,對于用于從存儲器讀取數(shù)據(jù)的提取請求,執(zhí)行該請求的結(jié) 果對于另一請求無影響。因此,不需要使響應(yīng)分組冗余。
如同已描述的,在計(jì)算機(jī)系統(tǒng)l中,在其中算術(shù)單元20執(zhí)行來自I/O 處理器10的請求以進(jìn)行處理的請求處理中,位于請求處理的請求端處的 I/O處理器10監(jiān)測請求分組的發(fā)送與在請求處理完成時(shí)響應(yīng)分組的接收 之間的時(shí)間,如恭險(xiǎn)測到超時(shí)則向算術(shù)單元20重傳請求分組。請求分組 的重傳是根據(jù)請求隊(duì)列(即,每個(gè)請求)來執(zhí)行的。因此,1/0處理器10 不包括用于重傳分組的緩沖器。當(dāng)接收到來自算術(shù)單元20的響應(yīng)分組時(shí), I/O處理器10根本不對算術(shù)單元20進(jìn)行用于交付確認(rèn)的ACK/NACK響 應(yīng)。當(dāng)在響應(yīng)分組中檢測到傳輸差錯(cuò)時(shí),僅將響應(yīng)分組丟棄,在預(yù)定時(shí)段 之后檢測到超時(shí),然后請求分組被重傳到算術(shù)單元20。在該重傳之后, 在位于請求接收端處的算術(shù)單元20中再次執(zhí)行請求處理。對于已被進(jìn)行 冗余的響應(yīng)分組,使用首先正常接收的分組,并且隨后的相同的分組或多 個(gè)分組^L作為冗余分組或冗余的多個(gè)分組而丟棄。
在接收請求分組時(shí),位于請求處理的接收端處的算術(shù)單元20根本不對I/O處理器10進(jìn)行用于交付確認(rèn)的ACK/NACK響應(yīng)。如果在請求分 組中檢測到傳輸差錯(cuò),則僅丟棄請求分組。對于針對不可能對其再運(yùn)#* 求處理的的請求的、至I/O處理器10的響應(yīng)分組,使分組傳送冗余,以 使得至少一個(gè)被I/O處理器10正常地接收。
為了使分組傳送冗余,冗余分組的發(fā)送端可以定義相同分組之間的最 ;UL送時(shí)間間隔,并保證接收端將會在該時(shí)間間隔內(nèi)接收到多個(gè)相同的分 組。如果在最大發(fā)送時(shí)間間隔的時(shí)段內(nèi)檢測到連續(xù)的傳輸差錯(cuò),則這些差 錯(cuò)可被作為致命的差錯(cuò)來處理,由此防止在所有冗余分組傳送導(dǎo)致差錯(cuò)且 失敗的情況下的系統(tǒng)的故障。例如,如果針對冗余分組的最;m送時(shí)間間 隔是l毫秒,則第一個(gè)冗余分組的發(fā)送時(shí)間與最后的冗余分組的發(fā)送時(shí)間 之間的時(shí)段最大為1毫秒。因此,如M 1毫秒內(nèi)連續(xù)發(fā)生傳輸差錯(cuò),則 在冗余分組的接收端確定可能在所有冗余分組中已發(fā)生差錯(cuò),作為致命差 錯(cuò)的發(fā)生而停止處理,并輸出警告。通過該停止和警告,可以防止系統(tǒng)的 故障。也就是說,可以防止系統(tǒng)將對其的所有冗余響應(yīng)均已失敗的請求視 為未完成并在請求處理實(shí)際上已完成時(shí)再運(yùn)行該請求。
圖2是在I/O處理器10和算術(shù)單元20之間傳輸?shù)姆纸M的類型以及在 傳輸差錯(cuò)時(shí)的挽救處理的表。如同圖2中所列出的,如果在從I/0處理器 10至算術(shù)單元20的提取請求分組的傳輸?shù)钠陂g發(fā)生差錯(cuò),則分組不到達(dá) 算術(shù)單元20或#^分組到達(dá)算術(shù)單元20。 4m分組在算術(shù)單元20處被 丟棄。沒有關(guān)于該差錯(cuò)的通知被從算術(shù)單元20向I/O處理器10發(fā)出。然 而,由于未^L行4I::^請求,因此沒有響應(yīng)被發(fā)送到I/0處理器10。因此, 在I/O處理器10中,請求超時(shí),并且目標(biāo)請求(即,相同的^t^請求) 被再次發(fā)送到算術(shù)單元20。
如^L從算術(shù)單元20至I/O處理器10的提取響應(yīng)分組的傳輸?shù)钠陂g 發(fā)生差錯(cuò),則分組不到達(dá)I/O處理器10或4m分組到達(dá)I/O處理器10。 錯(cuò)誤分組被I/O處理器10丟棄。沒有關(guān)于該差錯(cuò)的通知#^從I/O處理器 10向算術(shù)單元20發(fā)出。然而,由于未確認(rèn)提取請求的執(zhí)行的完成,在1/0 處理器10中請求超時(shí)。因此,1/O處理器10將目標(biāo)請求(即,相同的提 取請求)再U送到算術(shù)單元20。
當(dāng)在至算術(shù)單元20的中斷請求的傳輸或存儲請求的傳輸?shù)钠陂g發(fā)生
差錯(cuò)時(shí),分組不到達(dá)算術(shù)單元20或4m分組到達(dá)。4m分組被算術(shù)單元
20丟棄。如同在提取請求的傳輸?shù)钠陂g的差錯(cuò)的情況下那樣地,沒有差 錯(cuò)通知被從算術(shù)單元20向I/O處理器10發(fā)出,不執(zhí)行存儲請求或中斷請求,因此沒有響應(yīng)被從算術(shù)單元20發(fā)送到I/O處理器10。因此,在1/0 處理器10中請求超時(shí),并且目標(biāo)請求被再次發(fā)送到算術(shù)單元20。
對于針對存儲請求或中斷請求的響應(yīng),算術(shù)單元20預(yù)先4吏響應(yīng)分組 冗余,并將冗余響應(yīng)分組發(fā)送到I/O處理器10。 I/O處理器10 4吏用冗余 響應(yīng)分組中的正常的一個(gè)冗余響應(yīng)分組。因此,即使當(dāng)在響應(yīng)分組的傳輸 的期間發(fā)生差錯(cuò)時(shí),1/O處理器10也可獲得正常的響應(yīng)。
如同已描述的,在提取響應(yīng)分組的傳輸差錯(cuò)的情況下,作為對重傳來 自算術(shù)單元20的響應(yīng)分組的替代,通過從I/O處理器10再發(fā)出請求來再 次執(zhí)行請求處理,由此挽救傳輸差錯(cuò)。這是因?yàn)?,即使再發(fā)出請求,考慮 到提取訪問的特性,并不存在由于對高速緩存或主存儲器的再訪問而導(dǎo)致 的影響。
對于存儲響應(yīng)和中斷響應(yīng),由于再訪問而導(dǎo)致的影響大,因此并不再 次執(zhí)fr清求處理。存儲響應(yīng)或中斷響應(yīng)的響應(yīng)分組并不伴隨有響應(yīng)數(shù)據(jù), 因此在尺寸上是小的。因此,使傳送冗余以確保至少一個(gè)^tit常地接收。
也就是說,在計(jì)算機(jī)系統(tǒng)l的串行傳輸中,通過三種類型的^Mt來挽 救傳輸差錯(cuò)。在第一種IMt類型中,算術(shù)單元20丟棄g分組,并且1/0 處理器10檢測超時(shí)并重傳請求分組。當(dāng)在提取請求、存儲請求或中斷請 求中出現(xiàn)傳輸差錯(cuò)時(shí)應(yīng)用第一種操作類型。在第二種操作類型中,1/0處 理器10丟棄#^分組,并且I/O處理器10檢測超時(shí)并將請求分組重傳到 算術(shù)單元20。當(dāng)在提取響應(yīng)中出現(xiàn)傳輸差錯(cuò)時(shí)應(yīng)用第二種操作類型。在 第三種操作類型中,通過算術(shù)單元20使分組冗余,1/O處理器10選擇正 常的分組以使用。第三種操作類型被應(yīng)用于存儲響應(yīng)和中斷響應(yīng)。
圖3是根據(jù)第一種操作類型的挽救操作的說明圖。在圖3中,1/0處 理器10發(fā)出請求REQ并啟動計(jì)時(shí)器。然而,當(dāng)在傳輸期間出現(xiàn)傳輸差 錯(cuò)時(shí),請求REQ被算術(shù)單元20丟棄。作為結(jié)果,在未從算術(shù)單元20獲 得響應(yīng)的情況下,計(jì)時(shí)器計(jì)數(shù)到8以超時(shí)(圖3中的T.O.)。然后I/O處 理器10再發(fā)出請求REQ并再啟動計(jì)時(shí)器。
在圖3中,再發(fā)出的請求REQ被正常M送并被算術(shù)單元20接收。 然后算術(shù)單元20處理接收的請求并向I/O處理器10發(fā)出響應(yīng)RES。響 應(yīng)RES被正常地發(fā)送并被I/O處理器10接收。然后I/O處理器10重置 計(jì)時(shí)器以完成處理。
圖4是根據(jù)第二種操作類型的挽救操作的說明圖。在圖4中,1/0處理器10向算術(shù)單元20發(fā)出請求REQ并啟動計(jì)時(shí)器。請求REQ被正常 地發(fā)送并被算術(shù)單元20接收。然后算術(shù)單元20處理接收的請求并發(fā)出響 應(yīng)RES'
然而,在傳輸期間在響應(yīng)RES中出現(xiàn)傳輸差錯(cuò),并且該傳輸差錯(cuò)被 1/O處理器10丟棄。作為結(jié)果,在未從算術(shù)單元20獲得正常響應(yīng)的情況 下,計(jì)時(shí)器計(jì)數(shù)到8以超時(shí)。然后I/O處理器10再發(fā)出請求REQ并再啟 動計(jì)時(shí)器。
再發(fā)出的請求REQ被正常地發(fā)送并被算術(shù)單元20接收。然后算術(shù) 單元20再次處理請求REQ,并與先前所做的相類似地發(fā)出響應(yīng)RES。響 應(yīng)RES被正常地發(fā)送并被I/O處理器10接收。然后I/O處理器10重置 計(jì)時(shí)器以完成處理。
圖5是根據(jù)第三種操作類型的挽救操作的說明圖。在圖5中,1/0處 理器10發(fā)出請求REQ并啟動計(jì)時(shí)器。請求REQ被正常地發(fā)送并被算術(shù) 單元20接收.算術(shù)單元20處理接收的請求并發(fā)出響應(yīng)RES,算術(shù)單元 20生成具有相同內(nèi)容的多個(gè)響應(yīng)RES并發(fā)送多個(gè)響應(yīng)。
I/O處理器10從具有相同內(nèi)容的響應(yīng)RES中丟棄其中已出現(xiàn)差錯(cuò)的 響應(yīng)RES,接收正常的響應(yīng)RES,并重置計(jì)時(shí)器,然后完成處理。 一旦 接收到正常的響應(yīng)RES, 1/0處理器19丟棄其它的冗余響應(yīng)RES,即使 這些冗余響應(yīng)RES是正常的。
接下來說明對請求的順序的保證。圖6是通過I/Q處理器10的保證 順序的操作的說明圖。在圖6中,當(dāng)存在不能M對在先請求的處理的后 續(xù)請求時(shí),作為請求的請求源的I/O處理器10在接收到對在先請求的響 應(yīng)之后向算術(shù)單元20發(fā)出后續(xù)的請求。這是為了防止對后續(xù)請求的處理 在在先請求的傳輸差錯(cuò)時(shí)的重試期間^逸。根據(jù)該方法,存儲器訪問的 順序僅由I/O處理器10來保證。
圖7是通過I/0處理器10和算術(shù)單元20的保證順序的操作的說明圖。 在圖7中,當(dāng)在不改變順序的情況下要處理對REQ 1至REQ 6的處理時(shí), I/O處理器10順序地發(fā)送每個(gè)請求,而不等待接iM"每個(gè)在先請求的響 應(yīng)。算術(shù)單元20以從I/O處理器10接收請求的順序來執(zhí)行請求處理。當(dāng) 在REQ 3中出現(xiàn)傳輸差錯(cuò)時(shí),算術(shù)單元20丟棄此后接收的所有分組,即, 自REQ 4向后的所有分組,然后請求I/O處理器10停止對后續(xù)請求的發(fā) 送。在接收到停止發(fā)送的請求時(shí),I/O處理器10停止新發(fā)送請求。算術(shù) 單元20處理已接收的請求或多個(gè)請求,并發(fā)送響應(yīng)RES或多個(gè)響應(yīng)RES。 在完成對所有已接收的請求的處理和對對應(yīng)響應(yīng)的發(fā)送時(shí),算術(shù)單元20 請求I/O處理器10再繼續(xù)發(fā)送請求。響應(yīng)于該再繼續(xù)的請求,1/0處理 器10再繼續(xù)根據(jù)順序?qū)⒄埱箨?duì)列中的來自REQ 3的未完成的請求發(fā)送到 算術(shù)單元20。相應(yīng)地,存儲器訪問的順序由I/O處理器10和算術(shù)單元二 者來保證,由此獲得了與僅通過I/O處理器10的保證順序的操作相比更 高的速度。
接下來說明圖1中描述的請求發(fā)送單元12、響應(yīng)接收單元13、請求 接收單元22和響應(yīng)發(fā)送單元23的處理^Mt。圖8是請求發(fā)送單元12的 處理^Mt的流程圖。
如圖8中所描述的,請求發(fā)送單元12確定是否請求處理單元11已做 出了請求(S101 )。如果請求處理單元11已做出了請求(S101處的"是"), 則請求發(fā)送單元12生成請求分組(S102 ),然后發(fā)送請求分組(S103 )。 請求發(fā)送單元12針對發(fā)送的請求啟動計(jì)時(shí)器(S104),然后結(jié)束處理,
如果請求處理單元ll還未做出請求(S101處的"否"),則請求發(fā)送 單元12確M否存在超時(shí)請求(S105)。如果存在超時(shí)請求(S105處的 "是"),則請求發(fā)送單元12針對超時(shí)請求重傳請求分組(S106 ),針對重 傳的請求再啟動計(jì)時(shí)器(S107),然后結(jié)束處理。
如果不存在超時(shí)請求(S105處的"否"),則請求發(fā)送單元12結(jié)束處 理。圖8中描述的處理是請求發(fā)送單元12的主流程,并且在計(jì)算機(jī)系統(tǒng) 1的操作期間被重復(fù)地執(zhí)行。
圖9是響應(yīng)接收單元13的處理操作的流程圖。如圖9中所描述的, 響應(yīng)接收單元13首先檢查是否已接收到響應(yīng)分組(S201 )。如果尚未接收 到響應(yīng)分組(S201處的"否"),則處理結(jié)束。如果已接收到響應(yīng)分組(S201 處的"是"),則4m分組丟棄單元13a確定接收的分組是否正常(S202 )。 如果接收的分組不正常(S202處的"否"),則4m分組丟棄單元13a丟 棄分組(S208 ),并結(jié)束處理。
當(dāng)接收的分組正常時(shí)(S202處的"是"),冗余分組丟棄單元13b確 定是否已接收到相同的響應(yīng)分組(S203)。如果已接收到相同的響應(yīng)分組 (S203處的"是"),則冗余分組丟棄單元13b丟棄分組(S208 ),然后結(jié) 束處理。如果尚未接收到相同的響應(yīng)分組(S203處的"否"),則響應(yīng)接收單 元13累積接收的響應(yīng)分組(S204),然后確定是否從累積的響應(yīng)分組完成 了一個(gè)響應(yīng)(S205)。當(dāng);5M^累積的響應(yīng)分^a完成一個(gè)響應(yīng)時(shí)(S205處的 "否"),處理結(jié)束。
當(dāng)從累積的響應(yīng)分組完成了一個(gè)響應(yīng)時(shí)(S205處的"是"),響應(yīng)接 收單元13針對與完成的響應(yīng)相對應(yīng)的請求而重置計(jì)時(shí)器(S206 ),將響應(yīng) 傳遞到請求處理單元11 (S207 ),然后結(jié)束處理。圖9中描述的處理是響 應(yīng)接收單元13的主J5Mi,并且在計(jì)算機(jī)系統(tǒng)1的操作期間被重復(fù)地執(zhí)行。
圖10是請求接收單元22的處理^Ht的流程圖。如圖10中所描述的, 請求接收單元22檢查是否已接收了請求分組(S301 )。如果尚未接收到請 求分組(S301處的"否"),則處理結(jié)束。如果已接收到請求分組(S301 處的"是"),則4m分組丟棄單元22a確定接收的分組是否正常(S302)。 如果接收的分組不正常(S302處的"否"),則#^分組丟棄單元22a丟 棄分組(S306 ),然后結(jié)束處理。
如果接收的分組正常(S302處的"是"),則請求接收單元22累積接 收的請求分組(S303),然后確定是否從累積的請求分組完成了一個(gè)請求 (S304)。當(dāng)沒有從累積的請求分組完成一個(gè)請求時(shí)(S304處的"否"), 處理結(jié)束。
當(dāng)從累積的請求分組完成了一個(gè)請求時(shí)(S304處的"是"),請求接 收單元22將完成的請求傳遞到響應(yīng)處理單元21 (S305),然后結(jié)束處理。 圖10中所描述的處理是請求接收單元22的主流程,并且在計(jì)算機(jī)系統(tǒng)1 的操作期間被重復(fù)地執(zhí)行。
圖11是響應(yīng)發(fā)送單元23的處理操作的流程圖.如圖11中所描述地, 響應(yīng)發(fā)送單元23確定是否響應(yīng)處理單元21已請求了響應(yīng)(S401 )。如果 響應(yīng)處理單元21尚未請求響應(yīng)(S401處的"否"),則處理結(jié)束。
如果響應(yīng)處理單元21已請求了響應(yīng)(S401處的"是"),則響應(yīng)類型 確定單元23a確定響應(yīng)類型(S402)。如果響應(yīng)類型既不;l存儲響應(yīng)也不 是中斷響應(yīng)(S403處的"否"),則響應(yīng)發(fā)送單元23生成一組響應(yīng)分組或 多個(gè)響應(yīng)分組(S404),發(fā)送所生成的響應(yīng)分組/多個(gè)響應(yīng)分組(S405), 然后結(jié)束處理。生成一組意味著當(dāng)將響應(yīng)作為響應(yīng)分組而發(fā)送時(shí),如果 可以以一個(gè)響應(yīng)分組來發(fā)送一個(gè)響應(yīng),則只生成一個(gè)分組,如果需要多個(gè) 分組來形成一個(gè)響應(yīng),則對這些分組中的每一個(gè)生成一個(gè)分組。因此,在
14每個(gè)組中不存在冗余的分組。
當(dāng)響應(yīng)類型是存儲響應(yīng)或中斷響應(yīng)時(shí)(S403處的"是"),響應(yīng)冗余 處理單元23b生成多組響應(yīng)分組(S406 )。然后響應(yīng)發(fā)送單元23發(fā)送所有 生成的響應(yīng)分組(S407),然后結(jié)束處理。圖ll中描述的處理是響應(yīng)發(fā)送 單元23的主流程,并且在計(jì)算機(jī)系統(tǒng)1的操作期間被重復(fù)地執(zhí)行。
如上文所說明的,在本實(shí)施例中用作傳輸系統(tǒng)的計(jì)算機(jī)系統(tǒng)1中,I/O 處理器10和算術(shù)單元20用作用于串行傳輸?shù)脑O(shè)備。當(dāng)向算術(shù)單元20發(fā) 送請求時(shí),I/O處理器10不執(zhí)行逐個(gè)分組的交付確認(rèn),而是如果請求超 時(shí)則重傳請求。對于針對不能被再運(yùn)行或再次執(zhí)行的請求的響應(yīng),算術(shù)單 元20使響應(yīng)分組冗余并發(fā)送冗余分組。
因此,可以利用串行傳輸?shù)奶匦詠泶_保數(shù)據(jù)傳送性能。此外,可以消 除用于重傳的巨大的緩沖器和分組交付確認(rèn)流程。而且,可以以低成本實(shí) 現(xiàn)傳輸差錯(cuò)M.
在本實(shí)施例中,已經(jīng)說明了用于串行傳輸?shù)睦?,但是所公開的系統(tǒng)、 設(shè)備和方法還可應(yīng)用于并行傳輸。也就是說,在并行傳輸中,當(dāng)傳輸速度 被認(rèn)為是比可靠性更重要并且需要針對任何傳輸差錯(cuò)的發(fā)生的恢復(fù)系統(tǒng) 時(shí),通過應(yīng)用所公開的系統(tǒng)、設(shè)備和方法,可以以低成本實(shí)現(xiàn)傳輸差錯(cuò)挽 救。
根據(jù)所公開的系統(tǒng)、設(shè)備和方法,可以獲得能夠減小電路^K且在串 行傳輸中通過簡單的控制來執(zhí)行差錯(cuò)挽救的傳輸系統(tǒng)、傳輸設(shè)備和傳輸方 法。
在此陳述的所有例子和條件語句都是旨在教導(dǎo)的目的,以幫助讀者理 解本發(fā)明和發(fā)明人所貢獻(xiàn)的思想以伐A^領(lǐng)域,并且應(yīng)當(dāng)被理解為不限于 這種具體陳述的例子和務(wù)降,而X^說明書中的這種例子的組織也不涉及 顯示本發(fā)明的優(yōu)劣。盡管已經(jīng)詳細(xì)描述了本發(fā)明的實(shí)施例,但是應(yīng)當(dāng)理解, 在不背離本發(fā)明的精神和范圍的情況下可以對本發(fā)明進(jìn)行各種變化、替換
和修改。
權(quán)利要求
1.一種傳輸系統(tǒng),包括第一設(shè)備,包括請求發(fā)送單元,所述請求發(fā)送單元發(fā)送作為至少一個(gè)分組的請求,并在所述請求與響應(yīng)之間的時(shí)段不小于預(yù)定時(shí)段的情況下重傳所述至少一個(gè)請求分組,以及響應(yīng)接收單元,所述響應(yīng)接收單元接收響應(yīng)作為至少一個(gè)響應(yīng)分組的響應(yīng),并丟棄接收的至少一個(gè)響應(yīng)分組中的任何錯(cuò)誤分組和冗余分組;以及經(jīng)由傳輸路徑連接到所述第一設(shè)備的第二設(shè)備,通過所述傳輸路徑來發(fā)送和接收從所述第一設(shè)備至所述第二設(shè)備的請求以及從所述第二設(shè)備至所述第一設(shè)備的響應(yīng),所述第二設(shè)備包括請求接收單元,所述請求接收單元接收所述至少一個(gè)請求分組,并丟棄所接收的至少一個(gè)請求分組中的任何錯(cuò)誤分組,以及響應(yīng)發(fā)送單元,所述響應(yīng)發(fā)送單元確定所述響應(yīng)的類型,針對任何特定類型的響應(yīng)而選擇性地使所述至少一個(gè)響應(yīng)分組冗余,并發(fā)送冗余響應(yīng)分組。
2. ;^據(jù)權(quán)利要求1所述的傳輸系統(tǒng),其中,所述響應(yīng)發(fā)送單元針對任何對需要保證順序的處理順序的請求的響應(yīng),選擇性地使所述至少一個(gè)響應(yīng)分組冗余,并發(fā)送冗余響應(yīng)分組。
3. 根據(jù)權(quán)利要求l所述的傳輸系統(tǒng),其中,所述第一設(shè)備是執(zhí)行至計(jì)算機(jī)系統(tǒng)的輸V來自計(jì)算機(jī)系統(tǒng)的輸出的1/0處理設(shè)備,以及所述笫二設(shè)備是執(zhí)行所述計(jì)算機(jī)系統(tǒng)中的處理的算術(shù)單元。
4. 根據(jù)權(quán)利要求l所述的傳輸系統(tǒng),其中,所述響應(yīng)發(fā)送單元針對任何對數(shù)據(jù)寫入請求的響應(yīng)以及針對任何對與所述第二i殳備的處理相關(guān)的中斷請求的響應(yīng)而選擇性地使所述至少一個(gè)響應(yīng)分組冗余,并發(fā)送冗余響應(yīng)分組。
5. 祁^據(jù)權(quán)利要求1所述的傳輸系統(tǒng),其中,所述響應(yīng)發(fā)送單元從要被進(jìn)行冗余的對象中排除對數(shù)據(jù)讀取請求的響應(yīng)。
6. 根據(jù)權(quán)利要求l所述的傳輸系統(tǒng),其中如果所述第一i殳M出了要求保證順序的處理順序的請求,則所述第一設(shè)*#收對所述請求的響應(yīng)并隨后發(fā)送下個(gè)請求。
7. 根據(jù)權(quán)利要求l所述的傳輸系統(tǒng),其中,如果所述笫二設(shè)M收到來自所述第 一設(shè)備的M分組,則所述第二設(shè)備向所述第一設(shè)備發(fā)送用于停止發(fā)送的請求,丟棄此后接收的任何分組,并且當(dāng)完成了對在接收所述4m分組之前接收的M請求的響應(yīng)時(shí),所述第二設(shè)備向所述第一設(shè)4^發(fā)送用于再繼續(xù)發(fā)送的請求。
8. —種傳輸設(shè)備,所述傳3^殳備經(jīng)由傳輸路徑與另一設(shè)備相連接,所述傳^S殳備包括請求處理單元,所述請求處理單元請求所述另一設(shè)4^L行預(yù)定處理;請求發(fā)送單元,所述請求發(fā)送單元經(jīng)由所述傳輸i^發(fā)送作為至少一個(gè)請求分組的、所述請求處理單元的請求,并在所述請求與發(fā)送之間的時(shí)段不小于預(yù)定時(shí)段的情況下重傳所述至少一個(gè)請求分組;以及響應(yīng)接收單元,所述響應(yīng)接收單元經(jīng)由所述傳輸路徑接收作為至少一個(gè)響應(yīng)分組的、來自所述另一設(shè)備的所述響應(yīng),并且所述響應(yīng)接收單元包括丟棄至少一個(gè)所接收的響應(yīng)分組中的任何錯(cuò)誤分組的錯(cuò)誤分組丟棄單元、以及丟棄任何冗余地接收的冗余分組的丟棄單元。
9. 一種傳賴i史備,所述傳^i殳備經(jīng)由傳輸路徑與另一設(shè)備相連接,所述傳躲備包括請求接收單元,所述請求接收單元經(jīng)由所述傳輸5^接收作為至少一個(gè)請求分組的、來自所述另一設(shè)備的請求;響應(yīng)處理單元,所述響應(yīng)處理單元處理所述請求接收單元接收的所述請求并生成響應(yīng);以及響應(yīng)發(fā)送單元,所述響應(yīng)發(fā)送單元經(jīng)由所述傳輸路徑向所述另一設(shè)備發(fā)送作為至少一個(gè)響應(yīng)分組的、所述響應(yīng)處理單元所生成的所述響應(yīng),并且所述響應(yīng)發(fā)送單元包括確定所述響應(yīng)的類型的響應(yīng)類型確定單元、以及基于所述響應(yīng)類型確定單元的確定結(jié)果而針對任何特定類型的響應(yīng)選擇性地使所述至少 一個(gè)響應(yīng)分組冗余的響應(yīng)冗余處理單元。
10. —種傳輸方法,包括從第 一設(shè)備向經(jīng)由傳輸路徑與所述第 一設(shè)備相連接的第二設(shè)備發(fā)送作為至少一個(gè)請求分組的請求,并在所述請求與響應(yīng)之間的時(shí)段不小于預(yù)定時(shí)段的情況下重傳所述至少一個(gè)請求分組;在所述第二設(shè)備處,接收來自所述第一設(shè)備的所述至少一個(gè)請求分組,并丟棄至少一個(gè)所接收的請求分組中的任何im分組;在所述第二設(shè)備處,確定對所述第一設(shè)備的響應(yīng)的類型,針對任何特定類型的響應(yīng)而選擇性地使所述至少一個(gè)響應(yīng)分組冗余,并發(fā)送所述冗余響應(yīng)分l且;以及在所述第一設(shè)備處,接收來自所述第二設(shè)備的作為至少一個(gè)響應(yīng)分組的所述響應(yīng),并丟棄至少一個(gè)所接收的響應(yīng)分組中的任何4m分組和任何冗余分組。
全文摘要
公開了傳輸系統(tǒng)、傳輸設(shè)備和傳輸方法。一種系統(tǒng),包括經(jīng)由傳輸路徑連接的第一設(shè)備和第二設(shè)備。第一設(shè)備包括發(fā)送單元和接收單元,該發(fā)送單元發(fā)送作為至少一個(gè)分組的請求,并在該請求與響應(yīng)之間的時(shí)段不小于預(yù)定時(shí)段的情況下重傳該至少一個(gè)請求分組,該接收單元接收作為至少一個(gè)響應(yīng)分組的響應(yīng),并丟棄所接收的至少一個(gè)響應(yīng)分組中的任何錯(cuò)誤分組和任何冗余分組。第二設(shè)備包括接收單元,該接收單元接收至少一個(gè)請求分組,并丟棄接收的至少一個(gè)請求分組中任何錯(cuò)誤分組;以及發(fā)送單元,該發(fā)送單元確定響應(yīng)類型,針對任何特定類型的響應(yīng)而選擇性地使至少一個(gè)響應(yīng)分組冗余,并發(fā)送冗余響應(yīng)分組。
文檔編號H04L1/00GK101656595SQ20091014249
公開日2010年2月24日 申請日期2009年6月18日 優(yōu)先權(quán)日2008年8月21日
發(fā)明者杉崎剛 申請人:富士通株式會社