<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          SCSI總線和協(xié)議

          作者: 時間:2016-12-15 來源:網(wǎng)絡(luò) 收藏
          三.SCSI協(xié)議

          在SNIA共享存儲模型中,SCSI負(fù)責(zé)從上層接收請求并轉(zhuǎn)發(fā),或者從并行設(shè)備獲取數(shù)據(jù)并轉(zhuǎn)發(fā)。

          本文引用地址:http://www.ex-cimer.com/article/201612/330386.htm

          例如:有一個應(yīng)用程序向操作系統(tǒng)發(fā)出對磁盤設(shè)備的寫請求。在SCSI協(xié)議層,這個寫請求被看成是特定數(shù)量的數(shù)據(jù)塊以協(xié)議的形式傳遞到指定位置的命令。作為操作系統(tǒng)和存儲設(shè)備之間的一個中介,SCSI協(xié)議既不規(guī)定數(shù)據(jù)塊如何組織,也不規(guī)定怎樣把數(shù)據(jù)塊放到磁盤上。在SCSI把數(shù)據(jù)塊發(fā)送到目的地時,目標(biāo)方可能是單個物理磁盤,也可能是把數(shù)據(jù)塊在多個物理盤上分條存放的RAID控制器。SCSI協(xié)議的責(zé)任,就是在確認(rèn)寫操作已經(jīng)正確完成后向操作系統(tǒng)報告成功,而不管在磁盤上物理存儲是如何配置以及寫操作是如何執(zhí)行的。

          3.1SCSI

          SCSI設(shè)備是在一定的環(huán)境中運行的。通常需要有多個SCSI設(shè)備才能形成這樣的環(huán)境。SCSI設(shè)備間的運行環(huán)境也稱為SCSI域。在這個域內(nèi),生成和發(fā)送SCSI命令和任務(wù)管理請求的SCSI端口稱為SCSI發(fā)起方,接收和處理SCSI命令,根據(jù)請求執(zhí)行任務(wù)管理的端口稱為SCSI目標(biāo)方。

          SCSI域的組成包括SCSI設(shè)備,設(shè)備內(nèi)的SCSI發(fā)起方和目標(biāo)方以及提供數(shù)據(jù)交接的總線。SCSI總線連接了掛在它上面的所有SCSI設(shè)備。我們可以把一個實際的SCSI應(yīng)用系統(tǒng)抽象為一個SCSI域,域中有多個SCSI設(shè)備,而且?guī)CSI驅(qū)動器的計算機(jī)也可以被看成是一個SCSI設(shè)備。

          盡管可以允許有多個SCSI設(shè)備接在同一條總線上,SCSI協(xié)議實際定義的是設(shè)備間一對一的數(shù)據(jù)交換,即同一時刻在SCSI總線上只允許有兩個設(shè)備互相交換數(shù)據(jù)。因為,SCSI上的各個設(shè)備是以分時共享的方式使用總線的。

          在一個實際的SCSI域中,必須至少有一個發(fā)起方和1個目標(biāo)方,考慮到主機(jī)對數(shù)據(jù)存儲的需求,配置了SCSI控制器的主機(jī)至少有1個SCSI發(fā)起方。而磁盤設(shè)備主要是提供存儲和數(shù)據(jù)服務(wù),一般都有目標(biāo)發(fā)。

          3.2SCSI協(xié)議模型

          為了便于實現(xiàn)和理解SCSI的各個協(xié)議,SCSI采取了分層結(jié)構(gòu)。SCSI大致可分為三層,即SCSI應(yīng)用層,SCSI傳輸層和SCSI互連層。SCSI中的各個具體協(xié)議一般都位于其中的某一層,可以可能跨越兩層。

          在應(yīng)用層,SCSI體系結(jié)構(gòu)把發(fā)起方(主機(jī))和目標(biāo)方(如磁盤)的通信定義為客戶/服務(wù)器交換。SCSI客戶位于主機(jī)中,代表上層應(yīng)用程序,文件系統(tǒng)和操作系統(tǒng)I/O請求。SCSI設(shè)備服務(wù)器位于目標(biāo)設(shè)備中,對請求做出響應(yīng)。客戶/服務(wù)器請求和響應(yīng)通過某種形式的底層協(xié)議進(jìn)行傳輸。

          在傳輸協(xié)議層,SCSI設(shè)備之間通過一系列的命令實現(xiàn)數(shù)據(jù)的傳送,大致分成三個階段:命令的執(zhí)行,數(shù)據(jù)的傳送和命令的確認(rèn)。

          SCSI互聯(lián)層完成SCSI設(shè)備對總線的連接以及發(fā)送方和目標(biāo)方的選擇等功能。

          3.3尋址機(jī)制

          為了對連接在總線上的設(shè)備尋址,SCSI協(xié)議引入了SCSI設(shè)備ID和邏輯單元號LUN.在SCSI總線上的每個設(shè)備都必須有一個唯一的ID,其中包括服務(wù)器中的主機(jī)總線適配器也擁有設(shè)備ID.取決域SCSI標(biāo)準(zhǔn)的版本,每條總線最多可允許有8個或者16個設(shè)備ID。

          諸如RAID磁盤子系統(tǒng)和磁帶庫這樣的存儲設(shè)備可能包括若干個子設(shè)備,如虛擬磁盤,磁帶驅(qū)動器和介質(zhì)更換器等。因此SCSI引入了邏輯單元號,以便于對大的設(shè)備中的子設(shè)備進(jìn)行尋址。另外一個服務(wù)器可能配置了多個SCSI控制器,從而就可能有多條SCSI總線。因此,操作系統(tǒng)用一個三元描述標(biāo)識一個SCSI目標(biāo):總線/目標(biāo)設(shè)備/邏輯單元號

          傳統(tǒng)的SCSI適配卡連接單個總線,相應(yīng)的只具有一個總線號。在引入存儲網(wǎng)絡(luò)之后,每個光纖通道HBA(Host Bus Adapter)或iSCSI(Internet SCSI)網(wǎng)卡也都連接一條總線,分配一個總線號,在他們之間依靠不同的總線號加以區(qū)分。

          目標(biāo)設(shè)備標(biāo)識在一條總線菊花鏈上的單個設(shè)備,邏輯單元號則表示一個目標(biāo)設(shè)備中的一個子設(shè)備。通常,單個物理磁盤只具有一個邏輯單元號,而RAID磁盤陣列雖然也只有一個目標(biāo)設(shè)備,但卻有多個邏輯單元號。

          在一條總線上各個設(shè)備具有不同的優(yōu)先級。起初的SCSI協(xié)議只允許有8個目標(biāo)設(shè)備ID,規(guī)定ID7具有最高權(quán)限。后來版本的SCSI協(xié)議允許有16個不同的目標(biāo)設(shè)備ID。出于兼容性的考慮,從7到0的目標(biāo)設(shè)備依然具有高優(yōu)先級,而從15到8的設(shè)備ID具有較低優(yōu)先級。

          設(shè)備(服務(wù)器和存儲設(shè)備)在可以通過SCSI總線發(fā)送數(shù)據(jù)之前必須預(yù)定總線(仲裁)。在總線的仲裁期間,具有最高優(yōu)先權(quán)的目標(biāo)設(shè)備總能獲勝。在總線負(fù)載重的情況下,這可能導(dǎo)致具有較低優(yōu)先級的設(shè)備總是不被允許發(fā)送數(shù)據(jù),因此,SCSI的仲裁過程是不平等的。

          出于配置和管理的需要,操作系統(tǒng)使用總線號/目標(biāo)設(shè)備ID/邏輯單元號三元組來標(biāo)識一個SCSI目標(biāo),然而用戶和應(yīng)用程序所看到的只是一個邏輯標(biāo)識符,如D盤。因此在總線號/目標(biāo)設(shè)備ID/邏輯單元號和邏輯盤符之間存在著一個映射,提供在物理設(shè)備和上層文件系統(tǒng)之間不同表示形式的轉(zhuǎn)換。

          3.4交互方式

          SCSI協(xié)議把發(fā)起方(主機(jī))和目標(biāo)方(例如磁盤)之間的交互定義為客戶/服務(wù)器方式。應(yīng)用客戶位于主機(jī)中,代表上層應(yīng)用程序、文件系統(tǒng)和操作系統(tǒng)的I/0請求。設(shè)備服務(wù)器位于目標(biāo)設(shè)備中,它響應(yīng)客戶的請求。請求和響應(yīng)通過某種形式的下層分布設(shè)施進(jìn)行傳輸,該分布設(shè)施稱作分布子系統(tǒng),可以是并行電纜,也可以是光纖通道協(xié)議或iSCSI。

          一個發(fā)起方可能會有多個請求同時發(fā)給目標(biāo)方。多個請求產(chǎn)生應(yīng)用客戶的多個實例,從而在設(shè)備服務(wù)器上產(chǎn)生多個事務(wù)。

          發(fā)起方在其發(fā)往一個或多個目標(biāo)的多個請求正在被相關(guān)的設(shè)備服務(wù)器處理的時候,需要能夠執(zhí)行上下文交換(ContextSwitching),即具有從一個任務(wù)快速切換到另一個任務(wù)的能力。例如,作為一個發(fā)起方的文件服務(wù)器可以向一個目標(biāo)方發(fā)送一個寫請求。‘當(dāng)該文件服務(wù)器在等待這個目標(biāo)方準(zhǔn)備好緩沖區(qū)以接收數(shù)據(jù)的那段時間內(nèi),可以切換到另一個掛起的任務(wù),例如處理已經(jīng)到達(dá)的對先前的另一個請求的響應(yīng),從而提高運行效率,最大化吞吐量。如果SCSI任務(wù)只能依次串行地執(zhí)行,那么等待每個寫或讀請求完成的時間就都被白白地浪費了。一般來說,上下文交換是由主機(jī)適配卡完成的,可以是并行SCSI,也可以是光纖通道或iSCSI。

          由于SCSI體系結(jié)構(gòu)模型是層次化的,因此它對主機(jī)I/0請求的處理可以獨立于底層的分發(fā)子系統(tǒng)。一個應(yīng)用客戶主機(jī)可以處理涉及不同種類的目標(biāo)設(shè)備的I/0操作,例如一個應(yīng)用服務(wù)器可以有直接附接的SCSI目標(biāo)方,也可以有通過千兆位速率接口連接的串行SCSI目標(biāo)方。

          在SCSI發(fā)起方和目標(biāo)方之間讀寫數(shù)據(jù)是通過SCSI命令、分發(fā)請求、分發(fā)操作和響應(yīng)來完成的。SCSI命令和參數(shù)在CDB(CommandDescriptorBlock,命令描述塊)中指定。作為交互示例,在執(zhí)行對磁盤的SCSI寫過程時,在發(fā)起方(例如主機(jī)總線適配器)創(chuàng)建一個應(yīng)用客戶,該客戶發(fā)送SCSI命令請求給目標(biāo)方,令其準(zhǔn)備緩沖區(qū)以接收數(shù)據(jù)。目標(biāo)設(shè)備服務(wù)器在其緩沖區(qū)準(zhǔn)備好之后,發(fā)送一個數(shù)據(jù)分發(fā)操作請求進(jìn)行響應(yīng)。接著,發(fā)送方就執(zhí)行分發(fā)操作,開始發(fā)送數(shù)據(jù)塊。依賴于底層的分發(fā)子系統(tǒng),數(shù)據(jù)塊可能按字節(jié)并行傳輸(例如并行SCSI總線),也可能以分段成幀的形式串行傳輸(例如光纖通道或iSCSI)。

          從應(yīng)用程序或操作系統(tǒng)的角度看,寫操作只是一個事務(wù)。但實際上,對應(yīng)一個寫操作,發(fā)送方和目標(biāo)方可能要進(jìn)行多次的分發(fā)請求和分發(fā)操作的交互,才能把命令請求的所有數(shù)據(jù)都發(fā)送給目標(biāo)方。

          在一次讀操作中,SCSI命令塊遵循相反的數(shù)據(jù)分發(fā)請求和確認(rèn)序列,然而由于是發(fā)起方發(fā)出讀命令,所以命令就假定自己已經(jīng)準(zhǔn)備好了緩沖區(qū)以接收第1批數(shù)據(jù)塊。在讀寫事務(wù)的每個階段所發(fā)送的數(shù)據(jù)塊數(shù)量,由發(fā)起方和目標(biāo)方根據(jù)對方的緩沖區(qū)容量協(xié)商決定。例如,高性能磁盤陣列一般都能提供較大的緩沖區(qū),可以完成大規(guī)模的數(shù)據(jù)傳送,從而提高了產(chǎn)品性能。

          3.5SCSI總線信號

          SCSI在物理信號的基礎(chǔ)上定義了一組總線信號。這些信號可劃分為數(shù)據(jù)信號和控制信號兩類。它們都是二進(jìn)制信號,并且只有“真”和“偽”兩個穩(wěn)定狀態(tài)。其中有指示總線已經(jīng)被占用的“BSY”信號,有清除并重新設(shè)置SCSI總線的“RST”信號等。

          下面對這些信號的名稱和功能逐一進(jìn)行介紹。

          1.BSY(Busy,忙)信號

          該信號是“或態(tài)”信號,表示已經(jīng)有設(shè)備占用總線。

          2.SEL(Select,選擇)信號

          該信號是“或態(tài)”信號,由發(fā)起方用以選擇目標(biāo)方,或者由目標(biāo)方用以重新選擇發(fā)起方。

          3.C/D(Control/Data,控制/數(shù)據(jù))信號

          該信號由目標(biāo)方驅(qū)動,表示在數(shù)據(jù)總線上傳送的是數(shù)據(jù)信號還是控制信號。該信號處于真狀態(tài)時表示控制信號。

          4.I/O(Input/Output,輸入輸出)信號

          該信號由目標(biāo)方驅(qū)動,控制數(shù)據(jù)在數(shù)據(jù)總線上的移動方向。當(dāng)I/0信號為“真”時表示是對發(fā)起方的輸入,數(shù)據(jù)由目標(biāo)方向發(fā)起方傳送;若I/0信號為“偽”,則表示數(shù)據(jù)由發(fā)起方向目標(biāo)方傳送。該信號也被用來區(qū)分選擇和重選階段。

          5.MSG(Message,通信)信號

          該信號由目標(biāo)方驅(qū)動,表示總線處于信息傳送的通信階段。

          6.REQ(Request,請求)信號

          該信號由目標(biāo)方驅(qū)動,表示有信息傳輸請求,請求一個REQ/ACK數(shù)據(jù)傳送握手過程。

          7.ACK(Acknowledge,應(yīng)答)信號

          該信號由發(fā)起方驅(qū)動,表示對REQ信號的應(yīng)答。

          8.ATN(Attention,提醒)信號

          該信號由發(fā)起方驅(qū)動,指示一個提醒信息,表明發(fā)起方有一個消息要給目標(biāo)方發(fā)送。

          9.RST(Reset,重置)信號

          該信號是“或態(tài)”信號,表示一個硬件重置狀態(tài),指示總線進(jìn)入重新設(shè)置階段,清除所有使用總線的SCSI設(shè)備。

          10.DB(DataBus,數(shù)據(jù)總線)信號

          DB信號有兩種,分別是用于8位數(shù)據(jù)總線的DB(7-0,P)和用于16位數(shù)據(jù)總線的DB(l5~O,P)。這些信號都用于傳送信息的值,它們包括數(shù)據(jù)比特信號,加上奇偶檢驗比特信號。

          由于在SCSI總線上掛有多個設(shè)備,一些控制信號可能同時被多個SCSI設(shè)備驅(qū)動。這些信號被稱作“或態(tài)”信號。對于“或態(tài)”信號,SCSI設(shè)備不會主動將其驅(qū)動成“偽”,而是依賴總線終接器,在總線上的所有設(shè)備都沒有驅(qū)動該信號時將其設(shè)置成“偽。”只要有1個或多個設(shè)備驅(qū)動該信號,該信號就是“真”。與“或態(tài)”信號相對照的是“非或態(tài)”信號。對于“非或態(tài)”信號,SCSI設(shè)備可以將其驅(qū)動成“偽”。

          3.6SCSI總線的使用階段

          根據(jù)對總線不同的使用,可以把SCSI總線狀態(tài)劃分成8個不同的階段:空閑階段,仲裁階段,選擇階段,重選階段,命令階段,數(shù)據(jù)階段,狀態(tài)階段和通信階段。

          其中命令階段,數(shù)據(jù)階段,狀態(tài)階段和通信階段都設(shè)計信息在總線的傳送,所以又稱為:信息傳送階段。

          除了空閑階段外,其他階段的總線都被SCSI設(shè)備占用。

          3.6.1.總線空閑階段

          總線空閑表明沒有一個設(shè)備在使用SCSI總線,也表示在此狀態(tài)下,SCSI設(shè)備如果需要,可以使用總線。SCSI設(shè)備需要在總線上的SEL信號和BSY信號都是“偽”之后,才可以檢測總線是否處于空閑狀態(tài)。

          作為例子,SCSI總線可能在下列情況下進(jìn)入空閑狀態(tài):

          1.RST信號被設(shè)置;

          2.不成功的總線選擇或重選;

          3.目標(biāo)設(shè)備解除連接;

          4.目標(biāo)設(shè)備命令完成。

          一旦一個SCSI設(shè)備確定總線處于空閑階段,它就可以申請總線仲裁,從而進(jìn)入仲裁階段。

          3.6.2.總線仲裁階段

          SCSI總線上的設(shè)備必須先獲得總線連接權(quán),然后才可以進(jìn)行其他的操作。在默認(rèn)條件下,看似掛在總線上的設(shè)備在邏輯上是與總線斷開的,沒有參與總線上的活動。SCSI設(shè)備只有在需要進(jìn)行數(shù)據(jù)傳輸和設(shè)備狀態(tài)報告時才會申請總線連接權(quán)。SCSI設(shè)備一旦得到了總線連接權(quán),就將在發(fā)起方和目標(biāo)方之間形成一個物理連接的通道,然后就可以進(jìn)行數(shù)據(jù)傳輸。

          一般情況下,總線的獲取與對目標(biāo)方的選擇都由發(fā)起方完成。為了更加高效地使用總線,在某些情況下,例如在有較長時間的CPU處理等待或設(shè)備存取等待時,需要釋放總線以供其他設(shè)備使用。在等待的相關(guān)任務(wù)完成后,再重新進(jìn)行總線仲裁和連接權(quán)獲取操作,以繼續(xù)進(jìn)行暫停的工作。因此,有時目標(biāo)方也可以執(zhí)行總線操作和連接權(quán)獲取操作,準(zhǔn)確地講,是再獲取操作。

          SCSI總線上的設(shè)備的優(yōu)先級是由它的地址即SCSI ID決定的。在窄SCSI中的ID范圍是0-7,對應(yīng)的優(yōu)先級是從18。在寬SCSI中的ID范圍是O~l5,其中對應(yīng)IDO~7的優(yōu)先級是從9到16遞增,而對應(yīng)ID8~l5的優(yōu)先級是從18遞增。在這里,我們用較大的數(shù)值表示較高的優(yōu)先級,因此,ID7具有最高優(yōu)先級。在窄SCSI中,ID 0具有最低優(yōu)先級;在寬SCSI中,ID8具有最低優(yōu)先級。

          SCSI總線上的ID數(shù)目是與SCSI數(shù)據(jù)總線寬度一致的,因此,窄SCSI有8個ID,寬SCSI有16個ID。在窄SCSI中的8根數(shù)據(jù)線的編號是從0到7,在寬SCSI中的16根數(shù)據(jù)線的編號是從0到15。有趣的是,具有某個編號的數(shù)據(jù)線上的信號,還被用來表示具有對應(yīng)號碼IDSCSI設(shè)備是否在執(zhí)行選擇或相關(guān)操作。例如當(dāng)數(shù)據(jù)總線中的數(shù)據(jù)線DB(2)在某個特定的階段被驅(qū)動成真時,就可以表示其ID為2的設(shè)備已經(jīng)在總線上執(zhí)行了選擇或相關(guān)操作。

          在SCSI域中,主機(jī)是存儲設(shè)備的主要使用者,且對存儲的響應(yīng)要求較高,因此通常主機(jī)的優(yōu)先級最高,其分配的ID值也最大,在窄SCSI中是ID7,在寬SCSI中是IDl5。

          總線仲裁就是在可能同時有多個設(shè)備請求的情況下,最終只給予其中的一個SCSI設(shè)備總線控制權(quán)的過程。SCSI設(shè)備在檢測到“總線空閑”并等待一個時延后即可以把總線置成BSY,并把與它的SCSIID對應(yīng)的數(shù)據(jù)線信號置為“真”,開始總線仲裁申請。

          在等待1個時延后,該SCSI設(shè)備需檢測在數(shù)據(jù)總線上是否有更高優(yōu)先級的SCSIID也為“真”。如果總線上確有更高優(yōu)先級的設(shè)備在進(jìn)行總線申請,則該SCSI設(shè)備不再置BSY和對應(yīng)的數(shù)據(jù)線為“真”。放棄總線仲裁申請,直到下一次“總線空閑”;否則,該設(shè)備就獲得了總線控制權(quán),并由該設(shè)備把SEL信號置為“真”。同時,總線上的其他SCSI設(shè)備則檢測到SEL信號為“真”后,不再置BSY信號和對應(yīng)的數(shù)據(jù)線為“真”,放棄總線仲裁申請。為了保證確實已經(jīng)獲得了總線控制權(quán),該設(shè)備在置SEL信號為“真”后、傳送其他信號前,需要有一定的時延。

          在總線仲裁階段結(jié)束時,總線上有BSY、SEL和與獲得總線的SCSI設(shè)備的ID,其對應(yīng)的數(shù)據(jù)線的信號為“真”。

          3.6.3.選擇階段

          在選擇階段,得到總線使用權(quán)的SCSI設(shè)備在總線上選擇目標(biāo)設(shè)備,以便隨后可以向該目標(biāo)設(shè)各發(fā)送諸如讀和寫這樣的命令。這個階段主要是完成對具有特定SCSIID的設(shè)備的選擇,其相關(guān)協(xié)議的定義主要是在SCSI體系結(jié)構(gòu)的互連層。需要注意的是,邏輯單元號LUN的尋址是邏輯單元通過SCSI傳輸層協(xié)議完成的,不在互連層。與LUN編址相關(guān)的協(xié)議在傳輸協(xié)議層描述。

          贏得仲裁的SCSI設(shè)備在把BSY和SEL信號置成“真”,經(jīng)過一小段時延后,即可進(jìn)入選擇階段。作為發(fā)起方,贏得仲裁的SCSI設(shè)備不可以把1/0信號置成“真”。在此階段,發(fā)起方需要把與自己的SCSIID對應(yīng)的數(shù)據(jù)線的信號和對應(yīng)所要選擇的目標(biāo)設(shè)備的SCSIID的數(shù)據(jù)線的信號置成“真”,經(jīng)過一小段時延,再把BSY信號置成“偽”,然后等待目標(biāo)方的響應(yīng)。

          例如,SCSI ID為6的主機(jī)把對應(yīng)自己的ID的數(shù)據(jù)線DB(6)和對應(yīng)目標(biāo)設(shè)備的ID(=6)的數(shù)據(jù)線DB(0)置成“真”后,數(shù)據(jù)總線上信號值的狀態(tài)將如下所示。

          DS(0)DS(1)DS(2)DS(3)DS(4)DS(5)DS(6)DS(7)

          10000010

          此時,只有兩個數(shù)據(jù)線的信號值是“真”。如果有多于兩個的數(shù)據(jù)線為“真”,則目標(biāo)方認(rèn)為有誤。目標(biāo)方在SEL和對應(yīng)它的ID的數(shù)據(jù)線的信號為“真”并且BSY和I/0信號為“偽”的情況下,就可以確定它自己已經(jīng)被選為目標(biāo)設(shè)備。此時,目標(biāo)方設(shè)備應(yīng)該重新把BSY信號置成“真”。發(fā)起方在檢測到BSY為“真”的信號后,就把SEL信號置成“偽”。特別需要注意的是,在該階段結(jié)束時,BSY信號是由目標(biāo)方置位的。

          3.6.4.重選階段

          SCSI目標(biāo)設(shè)備忙于處理其內(nèi)部事務(wù)(通常是對于執(zhí)行對存儲數(shù)據(jù)的讀或?qū)懖僮?期間,它可以在等待操作(比如把存儲在設(shè)備中的數(shù)據(jù)讀入緩沖區(qū)或把暫存在緩沖區(qū)的數(shù)據(jù)寫入緩沖區(qū))完成時釋放總線供其他設(shè)備使用,并在操作完成后重新申請對總線的使用權(quán)。因此,重選階段也發(fā)生在“總線仲裁階段”之后。但與選擇階段不同,重選階段由目標(biāo)方啟動,重新建立由發(fā)送方啟動成功但被目標(biāo)方掛斷的連接。

          在目標(biāo)設(shè)備釋放了總線之后,BSY和SEL信號處于被置成“真”的狀態(tài)。此時日標(biāo)設(shè)備通過把I/0信號置成“真”使自己成為贏得對總線使用權(quán)的一方。在重選階段,目標(biāo)方也需要把與自已的SCSIID對應(yīng)的數(shù)據(jù)線的信號和對應(yīng)發(fā)送方設(shè)備的SCSIID的數(shù)據(jù)線的信號置成“真”,經(jīng)過一段短的時延,再把BSY信號置成“偽”,然后等待發(fā)起方的響應(yīng)。

          發(fā)起方在SEL、I/0和對應(yīng)它的ID的數(shù)據(jù)線的信號為“真”并且BSY為“偽”的情況下,就可以確定它自己已經(jīng)被重選。被重選的發(fā)起方可以通過查看數(shù)據(jù)總線來驗證重迭的目標(biāo)方的SCSIID。然后,發(fā)起方設(shè)各重新把BSY信號置成“真”。目標(biāo)方在檢測到BSY為“真”的信號后,它也執(zhí)行把BSY驅(qū)動成“真”的操作,并把SEL信號置成“偽”。

          被重選的發(fā)起方在檢測到SEL信號為“偽”后,它就把BSY置成“偽”,而目標(biāo)設(shè)備則繼續(xù)把BSY設(shè)置成“真”,直到它放棄對總線的使用權(quán)為止。這樣,在該階段結(jié)束時,信號的狀態(tài)與選擇階段一樣,也是由目標(biāo)方設(shè)置的BSY信號。


          上一頁 1 2 下一頁

          關(guān)鍵詞: SCSI總線和協(xié)

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();