專利名稱:數(shù)據(jù)存儲驅(qū)動器和自動數(shù)據(jù)存儲庫的制作方法
背景技術(shù):
自動數(shù)據(jù)存儲庫已知用來提供大量數(shù)據(jù)的經(jīng)濟的存儲和檢索。在自動數(shù)據(jù)存儲庫中的數(shù)據(jù)存儲在數(shù)據(jù)存儲介質(zhì)上,這些數(shù)據(jù)存儲介質(zhì)又按照使得該介質(zhì)及其內(nèi)在數(shù)據(jù)能夠用于物理檢索的方式存儲在庫內(nèi)具有多個存儲框架等的存儲倉(storage bin)中。這種介質(zhì)通常被稱為“可拆卸介質(zhì)”。數(shù)據(jù)存儲介質(zhì)可以包括任意其上可以存儲數(shù)據(jù)并且可以用作可拆卸介質(zhì)的介質(zhì),包括但不限于磁性介質(zhì)(例如磁帶或磁盤)、光學(xué)介質(zhì)(例如光帶或光盤)、電子介質(zhì)(例如PROM、EEPROM、閃速PROM、MRAM、致密閃速TM、智能介質(zhì)TM、存儲棒TM等)或其它合適的介質(zhì)。通常,存儲在自動數(shù)據(jù)存儲庫中的數(shù)據(jù)駐留在包括在盒體內(nèi)并且被稱為數(shù)據(jù)存儲介質(zhì)盒(cartridge)的數(shù)據(jù)存儲介質(zhì)上。在用于海量數(shù)據(jù)存儲的自動數(shù)據(jù)存儲庫中所廣泛采用的數(shù)據(jù)存儲介質(zhì)盒的示例為磁帶盒。
除了數(shù)據(jù)存儲介質(zhì)之外,自動數(shù)據(jù)存儲庫通常包含有數(shù)據(jù)存儲驅(qū)動器,它們相對于數(shù)據(jù)存儲介質(zhì)存儲數(shù)據(jù)和/或檢索數(shù)據(jù)。數(shù)據(jù)存儲介質(zhì)在數(shù)據(jù)存儲倉和數(shù)據(jù)存儲驅(qū)動器之間的輸送通常由一個或多個自動存取器(robot accessor)(下面被稱為“存取器”)來實現(xiàn)。這些存取器具有用于從在自動數(shù)據(jù)存儲庫內(nèi)的存儲倉中以物理的方式找到所選的數(shù)據(jù)存儲介質(zhì)的夾持器,并且通過沿著X和/或Y方向移動將這些介質(zhì)輸送給數(shù)據(jù)存儲驅(qū)動器。
發(fā)明內(nèi)容
本發(fā)明提出了一種方法、系統(tǒng)和裝置,它們具有用于自動數(shù)據(jù)存儲庫的數(shù)據(jù)存儲驅(qū)動器,其中數(shù)據(jù)存儲驅(qū)動器在一個實施方案中可以具有主機驅(qū)動器接口端口和主庫接口端口。在一個方面中,來自主機系統(tǒng)的驅(qū)動器命令主要通過主機驅(qū)動器接口端口和主機驅(qū)動器接口路徑傳送給數(shù)據(jù)存儲驅(qū)動器的驅(qū)動器控制器。另外,從主機系統(tǒng)到庫控制器的庫命令可以主要通過主機庫接口端口和主機庫接口路徑傳送給數(shù)據(jù)存儲驅(qū)動器的庫通信端口。在一個實施方案中,來自主機系統(tǒng)的驅(qū)動器命令主要通過主機驅(qū)動器接口端口和主機驅(qū)動器接口路徑傳送給數(shù)據(jù)存儲驅(qū)動器的驅(qū)動器控制器。另外,來自主機系統(tǒng)的庫命令主要通過主機庫接口端口和主機庫接口路徑傳送給數(shù)據(jù)存儲驅(qū)動器的庫通信端口。另外還描述并且要求保護了其它實施方案。
圖1為適用于實施本發(fā)明實施方案的自動數(shù)據(jù)存儲庫的立體圖,具體顯示出具有左邊維護段、多個存儲框架和右邊維護段的存儲庫;圖2為圖1的存儲庫的內(nèi)部部件的示例性基本結(jié)構(gòu)的立體圖;圖3為用于圖1的存儲庫的數(shù)據(jù)存儲驅(qū)動器的一個實施例的示意性方框圖;圖4為用于圖1的存儲庫的具有多個處理器節(jié)點的模塊分配系統(tǒng)的一個實施例的示意性方框圖;圖5為一方框圖,顯示出用于圖1的存儲庫的示例性控制器結(jié)構(gòu);圖6a、6b分別為用于圖1的存儲庫的數(shù)據(jù)存儲驅(qū)動器的一個實施例的前面和后面立體圖;圖7為用于圖1的存儲庫的數(shù)據(jù)存儲盒的一個實施例的立體圖。
具體實施例方式
下面將參照這些附圖對本發(fā)明進行說明,其中相同的標(biāo)號表示相同或類似的元件。雖然本說明書提供了某些實施例,但是本領(lǐng)域普通技術(shù)人員要理解的是,在這里所提供的說明打算覆蓋包括在由所附權(quán)利要求限定的本發(fā)明精神和范圍內(nèi)的那些替換方案、變型和等同方案。
本發(fā)明的一個實施例體現(xiàn)在用在數(shù)據(jù)處理環(huán)境中的自動磁帶庫存儲系統(tǒng)中。雖然該實施例在實施方案中描述了磁帶盒的使用,但是本領(lǐng)域普通技術(shù)人員將認識到,在這里所給出的說明也適用于光盤盒或其它可拆卸存儲介質(zhì),并且可以使用不同類型的盒體或具有不同特性的相同類型盒體。另外,磁帶驅(qū)動器的說明并不意味著將本發(fā)明局限于磁帶驅(qū)動器,因為本發(fā)明可以適用于任意可拆卸介質(zhì)驅(qū)動器以及盒體。還有,自動磁帶存儲系統(tǒng)并不意味著將本發(fā)明局限于磁帶數(shù)據(jù)處理應(yīng)用,因為本發(fā)明通常可以適用于任意介質(zhì)存儲以及盒體處理系統(tǒng)。
現(xiàn)在參照這些附圖,圖1和2顯示出自動數(shù)據(jù)存儲庫100,它存儲并且檢索包含數(shù)據(jù)存儲介質(zhì)的數(shù)據(jù)存儲盒。要指出的是,在這里“數(shù)據(jù)存儲介質(zhì)”指的是數(shù)據(jù)存儲盒,并且為此這里這兩個術(shù)語被同義使用。其中可以應(yīng)用本發(fā)明的各個方面的在圖1和2中所示的自動數(shù)據(jù)存儲庫的示例為IBM 3584 UltraScalable Tape Library。圖1的庫包括左邊維護段(service bay)102、一個或多個存儲框架104和右邊維護段106。如所述一樣,框架可以包括庫的擴展部件。可以加入或拆除框架以擴展或減小該庫的尺寸和/或功能性??蚣芸梢园ǜ郊拥拇鎯}、驅(qū)動器、入口/出口站、存取器、操作者面板等。
圖2顯示出存儲框架104的實施例,它是庫100的基本框架并且被認為是該庫的最小結(jié)構(gòu)。在該最小結(jié)構(gòu)中,只有單個存取器(即,沒有任何多余的存取器),并且沒有任何維護段。庫100布置用來響應(yīng)于來自至少一個外部主機系統(tǒng)(300,圖3)的庫命令訪問數(shù)據(jù)存儲介質(zhì),并且在前壁202和后壁204上包括多個存儲倉200,用于存儲包含有數(shù)據(jù)存儲介質(zhì)的數(shù)據(jù)存儲盒。至少一個數(shù)據(jù)存儲驅(qū)動器206響應(yīng)于來自主機例如主機300的驅(qū)動器命令相對于數(shù)據(jù)存儲介質(zhì)讀取和/或?qū)懭霐?shù)據(jù)。第一存取器208響應(yīng)于來自主機例如主機300的庫命令在多個存儲倉200和數(shù)據(jù)存儲驅(qū)動器206之間輸送數(shù)據(jù)存儲介質(zhì)。數(shù)據(jù)存儲驅(qū)動器206可以為光盤驅(qū)動器或磁帶驅(qū)動器,或者其它類型的用于相對于數(shù)據(jù)存儲介質(zhì)讀取和/或?qū)懭霐?shù)據(jù)的數(shù)據(jù)存儲驅(qū)動器。
如在圖3中所示意性地顯示出的一樣,數(shù)據(jù)存儲驅(qū)動器206可以具有驅(qū)動器控制器302、第一主機接口端口(主機-驅(qū)動器接口端口)304以及用來將第一主機接口端口304耦接到驅(qū)動器控制器302上的主機-驅(qū)動器路徑306。第一主機接口端口304用來通過網(wǎng)絡(luò)305與主機300耦接。驅(qū)動器控制器302的驅(qū)動器讀取/寫入控制器308響應(yīng)于來自主機300的驅(qū)動器命令,有選擇地相對于可拆卸地容納在數(shù)據(jù)存儲驅(qū)動器206中的介質(zhì)項目(item)讀取驅(qū)動器數(shù)據(jù)和/或?qū)懭腧?qū)動器數(shù)據(jù)。
如下面更詳細說明的一樣,并且根據(jù)本發(fā)明的一個方面,數(shù)據(jù)存儲驅(qū)動器206還可以具有可通過網(wǎng)絡(luò)305與主機300耦接的第二主機接口端口(主機-庫接口端口)310,以及適用于通過庫通信路徑313與庫控制器320耦接的庫通信端口312。適用于運送來自主機300的庫命令的主機-庫接口路徑314通過驅(qū)動器控制器302的庫命令轉(zhuǎn)發(fā)(relay)邏輯316以及將庫命令轉(zhuǎn)發(fā)邏輯316與庫通信端口312耦接的庫通信路徑318將第二主機接口端口310與庫通信端口312耦接。庫命令邏輯轉(zhuǎn)發(fā)邏輯316用來使庫命令從第二主機接口端口310轉(zhuǎn)發(fā)到存儲驅(qū)動器206的通信端口312。庫命令轉(zhuǎn)發(fā)邏輯316可以將所有命令傳送給庫控制器320。可選的是,庫命令轉(zhuǎn)發(fā)邏輯316可以對一些命令進行響應(yīng)而讓其它命令通過。例如,庫命令轉(zhuǎn)發(fā)邏輯可以維護有關(guān)庫控制器的就緒/未就緒狀態(tài)信息。如果庫狀態(tài)為“未就緒”,則庫命令轉(zhuǎn)發(fā)邏輯可以報告這個狀態(tài),而不實際將任何命令傳送給庫控制器320。在另一個實施例中,庫命令轉(zhuǎn)發(fā)邏輯可以維護有關(guān)庫的清單狀態(tài)信息。SCSI讀取元素狀態(tài)(SCSIRead Element Status)命令可能導(dǎo)致庫命令轉(zhuǎn)發(fā)邏輯實際上處理該命令,而不是將它傳送給庫控制器320。這里,轉(zhuǎn)發(fā)庫命令可以指將一些或所有庫命令傳送給庫通信端口312。所通過的命令可以被改變或沒有改變。庫命令轉(zhuǎn)發(fā)邏輯316可以包括離散邏輯、可編程邏輯、定制邏輯、一個或多個處理器、軟件或固件模塊等。另外,庫命令轉(zhuǎn)發(fā)邏輯316和驅(qū)動器讀取/寫入控制器308可以包括用來支持兩個功能的單個處理器或控制器。庫100的庫控制器320響應(yīng)于來自主機300的庫命令,在庫存儲倉200(圖2)和數(shù)據(jù)存儲驅(qū)動器例如驅(qū)動器206之間輸送數(shù)據(jù)存儲介質(zhì)。雖然所示的實施方案描述了具有兩個主機接口端口304、310的數(shù)據(jù)存儲驅(qū)動器206,但是要理解的是,在其它實施方案中,根據(jù)本發(fā)明的數(shù)據(jù)存儲驅(qū)動器可以具有附加的主機接口端口。
第一和第二主機接口端口304、310可以包括連接器、插頭、適配器、電纜、導(dǎo)線、電路等,用于使存儲驅(qū)動器206與主機300接口。另外,第一和第二主機接口端口304、310可以包括電子器件和/或固件,用于在存儲驅(qū)動器206和主機300之間提供通信協(xié)議。主機路徑306、314可以包括電纜、電路、連接、線路、電子器件、固件等,用于使主機端口304、310與存儲驅(qū)動器206接口。
在所示的實施方案中,數(shù)據(jù)存儲驅(qū)動器206的第一和第二主機接口端口304、310可以在物理上彼此分離并且相互單獨地操作。在一個實施例中,主機-驅(qū)動器接口端口304可以具有第一物理設(shè)備識別號,并且主機-庫接口端口310可以具有與用于端口304的第一物理設(shè)備識別號不同的第二物理設(shè)備識別號。設(shè)備識別號可以包括SCSI ID、光纖通道ID等。在另一個實施例中,主機-驅(qū)動器接口端口304和主機-庫接口端口310可以具有相同的物理設(shè)備識別號,其中主機-驅(qū)動器接口端口304具有第一邏輯單元號(LUN),并且主機-庫接口端口310具有與端口304的第一邏輯單元號不同的第二邏輯單元號。這樣,端口304、310可以由主機例如主機300分開并且單獨地尋址。
在另一個方面中,數(shù)據(jù)存儲驅(qū)動器206的接口路徑306、314可以物理分開并且相互獨立地操作。還有,來自主機300的驅(qū)動器命令可以主要通過第一主機-驅(qū)動器接口端口304和主機-驅(qū)動器接口路徑306傳送給數(shù)據(jù)存儲驅(qū)動器206的驅(qū)動器控制器302。另外,從主機300到庫控制器320的庫命令可以主要通過第二主機-庫接口端口310和主機-庫接口路徑314傳送給數(shù)據(jù)存儲驅(qū)動器206的庫通信端口312。這樣,在主機300和驅(qū)動器控制器302之間用于傳輸驅(qū)動器命令和驅(qū)動器數(shù)據(jù)的通信路徑可以至少部分與在主機300和庫存取器208之間用于傳送庫命令的通信路徑分開。因此,例如如果在主機-驅(qū)動器接口端口304或主機-驅(qū)動器接口路徑306中出現(xiàn)故障,但是主機300仍然能夠通過主機-庫接口端口310和主機-庫接口路徑314給庫控制器320提供庫命令,以在庫100的存儲倉200和數(shù)據(jù)存儲驅(qū)動器206之間輸送介質(zhì)。
庫通信端口312可以包括連接器、插頭、適配器、電纜、電線等,用于使存儲驅(qū)動器206與庫控制器320接口。另外,庫通信端口312可以包括接口電子器件和/或固件,用于在存儲驅(qū)動器206和庫控制器320之間提供通信協(xié)議。庫通信路徑313、318可以包括電纜、電線、電路、連接、電子器件、固件等。
在另一個方面中,可以存在一個以上的驅(qū)動器控制器302,從而第一主機接口304和主機-驅(qū)動器接口路徑306與一個控制器,驅(qū)動器命令控制器(未示出),相關(guān)聯(lián),而第二主機接口310和主機-庫接口路徑314與另一個控制器,即庫命令控制器(未示出),相關(guān)聯(lián)。在一些應(yīng)用中,最好在第一和第二主機接口之間提供至少一個隔離,包括在驅(qū)動器206的驅(qū)動器命令控制器和庫命令控制器之間的整個或局部功能獨立。
要理解的是,根據(jù)特定的應(yīng)用,可以利用至少部分獨立的用于驅(qū)動器命令和庫命令的通信路徑的其它特征。例如,驅(qū)動器控制器302可以具有用于驅(qū)動器和庫通信的單獨的編程代碼塊。因此,一個或一組編程代碼塊可以用于接收驅(qū)動器命令并且處理驅(qū)動器讀取和/或?qū)懭霐?shù)據(jù),而另一個或一組編程代碼塊可以用于接收庫命令并且處理庫命令中的一些和/或?qū)烀畹囊恍┗蛉總魉徒o庫控制器320。
在另一個實施例中,驅(qū)動器控制器302可以具有用于驅(qū)動器和庫通信的獨立的中斷處理器。因此,一個或多個中斷處理器可以用于處理在對用于驅(qū)動器讀取和/或驅(qū)動器寫入數(shù)據(jù)的驅(qū)動器命令進行處理中出現(xiàn)的中斷,而一個或多個其他獨立的中斷處理器可以用于處理在對用于處理一些庫命令和/或?qū)⒁恍┗蛉繋烀顐魉徒o庫控制器320的庫命令進行處理中出現(xiàn)的中斷。還有,要理解的是,除此之外或代替在這里所述的那些,還可以根據(jù)特定用于使用用于驅(qū)動器命令和庫命令的至少部分分開的通信路徑的其它特征。
在另一個方面中,主機接口端口304、310的一個或多個可以構(gòu)成為根據(jù)所選的結(jié)構(gòu),有選擇地處理主要是驅(qū)動器命令和讀取/寫入數(shù)據(jù)、或者主要是庫命令。在所示的實施方案中,主機接口端口304在圖3中描繪成構(gòu)成在第一結(jié)構(gòu)中,其中來自主機300的驅(qū)動器命令主要通過可配置的主機接口端口304和主機接口路徑306傳送給數(shù)據(jù)存儲驅(qū)動器206的驅(qū)動器控制器302。另外,在主機300和數(shù)據(jù)存儲驅(qū)動器206的介質(zhì)之間讀取/寫入數(shù)據(jù)主要通過可配置主機接口端口304和主機接口路徑306傳送。在另一個實施例中,主機接口端口304可以有選擇地配置為一種替換結(jié)構(gòu),其中從主機300到庫控制器320的庫命令主要通過可配置主機接口端口304和主機接口路徑306傳送給數(shù)據(jù)存儲驅(qū)動器206的庫通信端口312。
按照類似的方式,主機接口端口310在圖3中描繪成構(gòu)成在第一結(jié)構(gòu)中,其中從主機300到庫控制器320的庫命令主要通過可配置主機接口端口310和主機接口路徑314傳送給數(shù)據(jù)存儲驅(qū)動器206的庫通信端口312。在另一個實施例中,主機接口端口310可以有選擇地配置成這樣一種替換結(jié)構(gòu),其中來自主機的驅(qū)動器命令主要通過可配置主機接口端口310和主機接口路徑314傳送給數(shù)據(jù)存儲驅(qū)動器206的驅(qū)動器控制器302。另外,在主機300和數(shù)據(jù)存儲驅(qū)動器206的介質(zhì)之間的讀取/寫入數(shù)據(jù)主要通過可配置主機接口端口310和主機接口路徑314來傳送。
因此,在一個實施方案中,主機接口端口304、310可以單獨構(gòu)成,從而一個主機接口端口主要處理驅(qū)動器命令,而一個主機接口端口主要處理庫命令。在另一個實施例中,兩個主機接口端口304、310可以如此單獨配置為主機-驅(qū)動器接口端口,從而兩個主機接口端口304、310主要處理在主機和數(shù)據(jù)存儲驅(qū)動器之間的驅(qū)動器命令以及驅(qū)動器讀取/寫入數(shù)據(jù)。在一個實施方案中,一個主機接口端口可以用作另一個主機-驅(qū)動器接口端口的主機-驅(qū)動器接口備份端口。同樣,在另一個實施例中,主機接口端口304、310兩者可以單獨配置為主機-庫接口端口,從而主機接口端口304、310兩者主要處理從主機300到庫存取器208的庫命令。在一個實施方案中,一個主機接口端口可以用作另一個主機-庫接口端口的主機-庫接口備份端口。這樣,特定存儲驅(qū)動器206的端口304、310可以被配置為適用于特定應(yīng)用。在將一個以上的主機接口端口配置為主機-庫接口端口310的情況中,可存在一個以上的庫通信端口312,從而每個主機-庫接口端口310具有相關(guān)的庫通信端口312??蛇x的是,多個主機-庫接口端口310可以通過電子電路和/或固件與單個庫通信端口312復(fù)用或者耦接。
要理解的是,在其它實施方案中,取決于特定的應(yīng)用,端口304、310可以是不可配置的,而是可以專用于處理驅(qū)動器命令和庫命令中的所選一個。另外,在這里描述了多個實施方案,其中一個主機接口端口例如主機-驅(qū)動器接口端口304適用于主要處理驅(qū)動器命令和驅(qū)動器讀取/寫入數(shù)據(jù)。要理解的是,在一些用途中,主機-驅(qū)動器接口端口例如端口304可以不處理任何庫命令。相反,這里還描述了其中一個主機接口端口例如主機-庫接口端口310適用于主要處理庫命令的實施方案。要理解的是,在一些應(yīng)用中,取決于特定的應(yīng)用,主機-庫接口端口例如端口310可以不處理任何驅(qū)動器命令以及任何驅(qū)動器讀取/寫入數(shù)據(jù)。
雖然圖3和所附的說明只是顯示出單個主機300,但是應(yīng)該指出的是,可以將一個以上的主機與端口304和/或端口310耦接。
另外參照圖2,在所示的實施方案中,存儲框架104可以任選包括操作者面板220或其它用戶界面例如基于web的界面,這使得用戶能夠與該庫互動。存儲框架104可以任選包括上I/O站224和/或下I/O站226,這允許將數(shù)據(jù)存儲介質(zhì)插入到庫中和/或從庫拆除,而不會中斷庫操作。庫100可以包括一個或多個存儲框架104,每個都具有可由第一存取器208存取的存儲倉200。
如上所述,存儲框架104可以根據(jù)所期望的功能配置有不同部件。存儲框架104的一個配置可以包括存儲倉200、數(shù)據(jù)存儲驅(qū)動器206和其它任選的用于從數(shù)據(jù)存儲盒中存儲和檢索數(shù)據(jù)的部件。第一存取器208包括用于夾持一個或多個數(shù)據(jù)存儲介質(zhì)的夾持組件230,并且可以包括安裝在夾持器230上的條形碼掃描器232或其它讀取系統(tǒng)例如盒存儲器讀取器或類似系統(tǒng),用來“讀取”有關(guān)數(shù)據(jù)存儲介質(zhì)的識別信息。
圖4顯示出圖1和2的自動數(shù)據(jù)存儲庫100的實施方案,它采用了具有多個處理器節(jié)點的分布式模塊系統(tǒng)。可以實現(xiàn)在圖4的方框圖中所示的分布式系統(tǒng)的自動數(shù)據(jù)存儲庫的實施例為IBM 3584 UltraScalableTape Library。為了更全面理解結(jié)合在自動數(shù)據(jù)存儲庫中的分布式控制系統(tǒng),參照在這里被引用作為參考的美國專利No.6356803,該專利申請的題目為“Automated Data Storage Library Distributed ControlSystem”。
雖然已經(jīng)將該自動數(shù)據(jù)存儲庫100描述為采用分布式控制系統(tǒng),但是可以在自動數(shù)據(jù)存儲庫中實施這些實施方案,而與控制配置無關(guān),例如但不限于具有一個或多個不是分布式的庫控制器的自動數(shù)據(jù)存儲庫,例如在美國專利6356803中所限定的那種。圖4的庫100包括一個或多個存儲框架104、左邊維護段102和右邊維護段106。左邊維護段102顯示出具有第一存取器208。如上所述,第一存取器208包括夾持器組件230,并且可以包括用于“讀取”有關(guān)數(shù)據(jù)存儲介質(zhì)的識別信息的讀取系統(tǒng)232。右邊維護段106顯示出具有第二存取器400。第二存取器400包括夾持器組件402,并且可以包括用于“讀取”有關(guān)數(shù)據(jù)存儲介質(zhì)的識別信息的讀取系統(tǒng)404。在第一存取器208或其夾持器230等出現(xiàn)故障或其它不可用性的情況中,第二存取器400可以進行第一存取器208的一些或全部功能。兩個存取器208、400可以共享一條或多條機械路徑,或者它們可以包括完全獨立的機械路徑。在一個實施例中,存取器208、400可以具有共同水平導(dǎo)軌(rail),并且具有單獨的垂直導(dǎo)軌。只是為了說明目的,將第一存取器208和第二存取器400描述成第一和第二,但是本說明書并不意味著將任一存取器限定為與左邊維護段102或右邊維護段106相關(guān)聯(lián)。
在該示例性庫中,第一存取器208和第二存取器400使其夾持器沿著至少兩個方向即“X”方向和垂直“Y”方向移動,以在存儲倉200中找到和夾持或者遞送和釋放數(shù)據(jù)存儲介質(zhì),并且在數(shù)據(jù)存儲驅(qū)動器206處裝載和卸載數(shù)據(jù)存儲介質(zhì)。
該示例性庫100從一個或多個主機系統(tǒng)300接收命令。主機系統(tǒng)例如主機服務(wù)器可以例如在路徑420上通過一個或多個控制端口(未示出)或通過一個或多個數(shù)據(jù)存儲驅(qū)動器206與庫直接通信。主機系統(tǒng)300可以通過數(shù)據(jù)存儲驅(qū)動器206在路徑424上通信,從而給主機-驅(qū)動器接口端口304提供驅(qū)動器命令以存取特定的數(shù)據(jù)存儲介質(zhì)。主機系統(tǒng)300也可以在路徑426上通過數(shù)據(jù)存儲驅(qū)動器206進行通信,從而給主機-庫接口端口310提供庫命令以使介質(zhì)例如在存儲倉200(圖2)和數(shù)據(jù)存儲驅(qū)動器206之間移動。庫命令通常為識別介質(zhì)的邏輯命令和/或用于存取介質(zhì)的邏輯位置。術(shù)語“命令”和“工作請求”在這里可互換地使用,用來指代從主機系統(tǒng)300到庫100的旨在導(dǎo)致存取在庫100內(nèi)的特定數(shù)據(jù)存儲介質(zhì)的這種通信。如圖4所示,可存在一個以上的與庫100和驅(qū)動器206耦接的主機系統(tǒng)300。每個主機系統(tǒng)300可以按照任意合適的方式與一個或多個驅(qū)動器206、庫100或其它主機系統(tǒng)300耦接。例如每個主機系統(tǒng)300可以具有其自身的網(wǎng)絡(luò)305和/或路徑424和/或路徑426,或者它們可以共享一個或多個網(wǎng)絡(luò)305和/或路徑424和/或路徑426。
該示例性庫由控制器320控制,該控制器用來接收來自主機的邏輯命令、確定所需的動作并且將這些動作轉(zhuǎn)變成第一存取器208和/或第二存取器400的物理移動。在該示例性庫中,庫控制器320為分布式控制系統(tǒng),它包括多個處理器節(jié)點,每個節(jié)點具有一個或多個處理器。在庫控制器320的分布式控制系統(tǒng)的一個實施例中,通信處理器節(jié)點430可以位于存儲框架104中。該通信處理器節(jié)點通過驅(qū)動器206或者借助例如與線路420耦接的至少一個外部接口來提供用于接收主機庫命令的通信鏈路。
在所示的實施方案中,通信處理器節(jié)點430的通信鏈路包括庫通信路徑313,該路徑包括用于與數(shù)據(jù)存儲驅(qū)動器206通信的一個或多個線路、連接或接口。通信處理器節(jié)點430可以靠近數(shù)據(jù)存儲驅(qū)動器206位于框架104中。另外,在分布式處理器系統(tǒng)的實施例中,設(shè)有一個或多個附加工作處理器節(jié)點,這可以包括例如可位于通過網(wǎng)絡(luò)440與通信處理器節(jié)點430耦接的第一處理器208處的工作處理器節(jié)點434。每個工作處理器節(jié)點可對所接收到的從任意通信處理器節(jié)點廣播給工作處理器節(jié)點的庫命令進行響應(yīng),并且工作處理器節(jié)點還可以指導(dǎo)存取器的操作,從而作為所接收到的庫命令的函數(shù)來提供移動命令??梢栽O(shè)有XY處理器節(jié)點444,并且它可以位于第一存取器208的XY系統(tǒng)處。XY處理器節(jié)點444與網(wǎng)絡(luò)440耦接,并且對移動命令進行響應(yīng),從而操作XY系統(tǒng)以定位夾持器230。
還有,操作者面板處理器節(jié)點450可以設(shè)在任選操作者面板220處,用于提供用于在操作者面板和通信處理器節(jié)點430、工作處理器節(jié)點434、452以及XY處理器節(jié)點444、456之間進行通信的接口。
設(shè)有例如包括共同總線440的網(wǎng)絡(luò),用來耦接各個處理器節(jié)點。網(wǎng)絡(luò)可以包括堅固的有線網(wǎng)絡(luò)例如商用CAN(控制器區(qū)域網(wǎng)絡(luò))總線系統(tǒng),它是多分支網(wǎng)絡(luò),具有標(biāo)準(zhǔn)存取協(xié)議和布線標(biāo)準(zhǔn)(例如由CiA,theCAN in Automation Association,Am Weich Selgarten 26,D91058Erlangen,Germany規(guī)定)。如本領(lǐng)域普通技術(shù)人員所知,可在庫中采用其他網(wǎng)絡(luò)(如以太網(wǎng))或無線網(wǎng)絡(luò)系統(tǒng)(如RF或紅外)。另外,也可以使用多個獨立的網(wǎng)絡(luò)來耦接各個處理器節(jié)點。
通信處理器節(jié)點430通過線路313與存儲框架104的數(shù)據(jù)存儲驅(qū)動器206的每一個耦接,從而與驅(qū)動器和與主機系統(tǒng)300通信。另外,主機系統(tǒng)可以在例如輸入端420處與通信處理器節(jié)點430直接耦接,或者與控制端口設(shè)備(未示出)連接,該端口設(shè)備用與主機-庫接口類似的庫接口將庫連接到主機系統(tǒng)。如本領(lǐng)域普通技術(shù)人員所知,可以采用各種通信布置來與主機和與數(shù)據(jù)存儲驅(qū)動器進行通信。在圖4的實施例中,主機連接420和424為SCSI總線。但是,要理解的是,可以使用其它總線或網(wǎng)絡(luò)構(gòu)架。其它示例包括以太網(wǎng)或光纖通道總線(它是高速串行數(shù)據(jù)接口),其通常比SCSI總線系統(tǒng)允許在更長的距離上進行傳輸。
數(shù)據(jù)存儲驅(qū)動器206可以緊挨著通信處理器節(jié)點430,并且可以采用短距離通信方案(例如SCSI)或串行連接(例如RS-422)。數(shù)據(jù)存儲驅(qū)動器206因此通過線路313與通信處理器節(jié)點430單獨耦接??蛇x的是,數(shù)據(jù)存儲驅(qū)動器206可以通過一個或多個網(wǎng)絡(luò)例如公共總線網(wǎng)絡(luò)與通信處理器節(jié)點430耦接。
可以設(shè)置多個附加存儲框架104,每個與相鄰的存儲框架耦接。任一個存儲框架104可以包括通信處理器節(jié)點430、存儲倉200、數(shù)據(jù)存儲驅(qū)動器206和網(wǎng)絡(luò)440。
另外,如上所述,自動數(shù)據(jù)存儲庫100可以包括多個存取器。例如在圖4的右邊維護段106中顯示出第二存取器400。第二存取器400可以包括用于存取數(shù)據(jù)存儲介質(zhì)的夾持器402和用于移動第二存取器400的XY系統(tǒng)456。第二存取器400可以在與第一存取器208相同的水平機械路徑上或者在相鄰路徑上運行。示例性控制系統(tǒng)另外包括擴展網(wǎng)絡(luò)460,其形成與存儲框架104的網(wǎng)絡(luò)440以及與左邊維護段102的網(wǎng)絡(luò)440耦接的網(wǎng)絡(luò)。
在圖4和所附的說明中,第一和第二存取器分別與左邊維護段102和右邊維護段106相關(guān)聯(lián)。這是為了例舉說明目的,而不必是實際關(guān)聯(lián)。另外,網(wǎng)絡(luò)440可以不與左邊維護段102相關(guān)聯(lián),并且網(wǎng)絡(luò)460可以不與右邊維護段106相關(guān)聯(lián)。根據(jù)庫的設(shè)計,不必具有左邊維護段102和/或右邊維護段106。
自動數(shù)據(jù)存儲庫100通常包括一個或多個控制器例如庫控制器320(圖3),用來引導(dǎo)自動數(shù)據(jù)存儲庫的操作。數(shù)據(jù)存儲驅(qū)動器206通常包括一個或多個控制器例如驅(qū)動器控制器302(圖3)。主機計算機通常包括類似的控制器??刂破骺梢圆扇≡S多不同的形式并且可以例如包括但不限于嵌入式系統(tǒng)、分布式控制系統(tǒng)、個人計算機或工作站等。在另一個實施例中,處理器節(jié)點430、434、444、450、452、456中的一個可以包括控制器。此外,兩個或多個處理器節(jié)點可以包括控制器。在該實施例中,控制器可以分布在兩個或多個處理器節(jié)點之中。實質(zhì)上,如在此所定義的,這里使用的術(shù)語“控制器”旨在使用其最廣義的含義,作為包含至少一個處理器的設(shè)備或系統(tǒng)。圖5顯示出典型的控制器500,它具有處理器502、RAM(隨機存取存儲器)503、非易失性存儲器504、設(shè)備專用電路501和I/O接口505??蛇x的是,如設(shè)備專用電路501和I/O接口505那樣,RAM503和/或非易失性存儲器504可以包含在處理器502中。處理器502可以包括例如現(xiàn)成可用的微處理器、定制處理器、FPGA(現(xiàn)場可編程門陣列)、ASIC(專用集成電路)、離散邏輯等。RAM(隨機存取存儲器)503通常用來保存可變數(shù)據(jù)、堆棧數(shù)據(jù)、可執(zhí)行指令等。非易失性存儲器504可以包括任意類型的非易失性存儲器例如但不限于ROM(只讀存儲器)、PROM(可編程只讀存儲器)、EEPROM(可電擦寫可編程只讀存儲器)、閃存PROM(可編程只讀存儲器)、MRAM(磁致電阻隨機存取存儲器)、電池備份RAM、致密閃速TM、安全數(shù)字介質(zhì)TM以及硬盤驅(qū)動器。非易失性存儲器504通常用來保存可執(zhí)行固件和其它非易失性數(shù)據(jù)。I/O接口505包括通信接口,其允許處理器502與控制器外部的設(shè)備通信。示例可以包括但不限于串行接口例如RS-232、USB(通用串行總線)、光纖通道(Fibre Channel),SCSI(小型計算機系統(tǒng)接口)、以太網(wǎng)、CAN(控制器區(qū)域網(wǎng)絡(luò))等。設(shè)備專用電路501提供了附加硬件以使得控制器500能夠進行獨特的功能,例如但不限于對盒體夾持器的電機控制。設(shè)備專用電路501可以包括電子器件,它們例如但不限于提供脈沖寬度調(diào)制(PWM)控制、模擬-數(shù)字轉(zhuǎn)換(ADC)、數(shù)字-模擬轉(zhuǎn)換(DAC)等。另外,所有或部分設(shè)備專用電路501可以駐留在控制器500外面。
圖6a和6b顯示出數(shù)據(jù)存儲驅(qū)動器206的前面601和后面602的實施方案。在圖6a、6b的實施例中,數(shù)據(jù)存儲驅(qū)動器206包括熱交換驅(qū)動器箱。這僅僅是實施例,并且并不意味著將本發(fā)明限定于熱交換驅(qū)動器箱。實際上,可以使用任意結(jié)構(gòu)的數(shù)據(jù)存儲驅(qū)動器,而不管它是否包括熱交換式箱。
圖7顯示出數(shù)據(jù)存儲盒700的實施方案,并且在該圖的切開部分中顯示出盒式存儲器710。這僅僅是示例,并且不是打算將本發(fā)明限制于盒式存儲器。實際上,可以使用任意結(jié)構(gòu)的數(shù)據(jù)存儲盒,而不論它是否包括盒式存儲器。
雖然已經(jīng)對本發(fā)明的優(yōu)選實施方案進行了詳細說明,但是本領(lǐng)域普通技術(shù)人員將理解的是,在不脫離在下面權(quán)利要求中所給出的本發(fā)明的范圍的情況下可以對那些實施方案作出各種變型和修改。
權(quán)利要求
1.一種供便攜式數(shù)據(jù)存儲介質(zhì)項目使用的數(shù)據(jù)存儲驅(qū)動器,包括驅(qū)動器控制器、用來與主機系統(tǒng)耦接的主機-驅(qū)動器接口端口、以及將所述主機-驅(qū)動器接口端口與所述驅(qū)動器控制器耦接并且用來將驅(qū)動器命令從主機系統(tǒng)運送給所述驅(qū)動器控制器的主機-驅(qū)動器接口路徑,所述驅(qū)動器控制器響應(yīng)于來自主機系統(tǒng)的驅(qū)動器命令,對于可拆卸地容納在所述數(shù)據(jù)存儲驅(qū)動器中的介質(zhì)項目有選擇地讀取和寫入數(shù)據(jù);并且所述數(shù)據(jù)存儲驅(qū)動器還包括用來與主機系統(tǒng)耦接的主機-庫接口端口、用來與自動數(shù)據(jù)存儲庫耦接的庫通信端口、以及將所述主機-庫接口端口與所述驅(qū)動器控制器耦接并且用來運送來自主機系統(tǒng)的庫命令的主機-庫接口路徑,所述驅(qū)動器控制器用來將庫命令從所述主機-庫接口路徑轉(zhuǎn)發(fā)到所述庫通信端口,其中所述數(shù)據(jù)存儲驅(qū)動器被配置為使來自主機系統(tǒng)的驅(qū)動器命令主要通過主機-驅(qū)動器接口端口和主機-驅(qū)動器接口路徑傳送給所述數(shù)據(jù)存儲驅(qū)動器的驅(qū)動器控制器,并且來自主機系統(tǒng)的庫命令主要通過主機-庫接口端口和主機-庫接口路徑傳送給數(shù)據(jù)存儲驅(qū)動器的庫通信端口。
2.如權(quán)利要求1所述的數(shù)據(jù)存儲驅(qū)動器,其中所述主機-庫接口端口可配置成用作主機-驅(qū)動器接口端口。
3.如權(quán)利要求1所述的數(shù)據(jù)存儲驅(qū)動器,其中所述主機-驅(qū)動器接口端口可配置成用作主機-庫接口端口。
4.如權(quán)利要求1所述的數(shù)據(jù)存儲驅(qū)動器,其中所述主機-驅(qū)動器接口端口具有第一物理設(shè)備識別號,并且主機-庫接口端口具有與所述第一物理設(shè)備識別號不同的第二物理設(shè)備識別號。
5.如權(quán)利要求1所述的數(shù)據(jù)存儲驅(qū)動器,其中所述主機-驅(qū)動器接口端口和主機-庫接口端口具有相同的物理設(shè)備識別號,并且其中主機-驅(qū)動器接口端口具有第一邏輯單元號,并且主機-庫接口端口具有與所述第一邏輯單元號不同的第二邏輯單元號。
6.如權(quán)利要求1所述的數(shù)據(jù)存儲驅(qū)動器,其中所述數(shù)據(jù)存儲驅(qū)動器包括磁帶驅(qū)動器,并且介質(zhì)項目包括磁帶盒。
7.如權(quán)利要求1所述的數(shù)據(jù)存儲驅(qū)動器,其中所述主機-驅(qū)動器接口端口包括小型計算機系統(tǒng)接口(SCSI),并且主機-庫接口端口包括小型計算機系統(tǒng)接口(SCSI)。
8.如權(quán)利要求1所述的數(shù)據(jù)存儲驅(qū)動器,其中所述主機-驅(qū)動器接口端口包括光纖通道接口,并且主機-庫接口端口包括光纖通道接口。
9.如權(quán)利要求1所述的數(shù)據(jù)存儲驅(qū)動器,其中所述驅(qū)動器控制器包括驅(qū)動器命令控制器,與所述主機-驅(qū)動器接口路徑耦接,并且響應(yīng)于來自主機系統(tǒng)的驅(qū)動器命令對于可拆卸地容納在所述數(shù)據(jù)存儲驅(qū)動器中的介質(zhì)項目中有選擇地讀取數(shù)據(jù)和寫入數(shù)據(jù);以及庫命令控制器,與所述主機-庫接口路徑耦接,至少部分地在功能上與所述驅(qū)動器命令控制器獨立,并且用來將庫命令從所述主機-庫接口路徑轉(zhuǎn)發(fā)到所述庫通信端口。
10.一種用于供便攜式數(shù)據(jù)存儲介質(zhì)項目使用的主機系統(tǒng)以及用來提供庫命令和驅(qū)動器命令的主機系統(tǒng)的自動數(shù)據(jù)存儲庫,它包括介質(zhì)存儲倉;數(shù)據(jù)存儲驅(qū)動器;以及庫控制器,響應(yīng)于來自所述主機系統(tǒng)的庫命令,在包括介質(zhì)存儲倉和數(shù)據(jù)存儲驅(qū)動器的介質(zhì)位置間輸送介質(zhì)項目,其中數(shù)據(jù)存儲驅(qū)動器具有驅(qū)動器控制器,用來與所述主機系統(tǒng)耦接的主機-驅(qū)動器接口端口,以及用于來自所述主機的驅(qū)動器命令、將所述主機-驅(qū)動器接口端口與所述驅(qū)動器控制器耦接的主機-驅(qū)動器接口路徑,所述驅(qū)動器控制器響應(yīng)于來自所述主機系統(tǒng)的驅(qū)動器命令,對于可拆卸地容納在所述數(shù)據(jù)存儲驅(qū)動器中的介質(zhì)項目有選擇地讀取和/或?qū)懭霐?shù)據(jù);所述數(shù)據(jù)存儲驅(qū)動器還包括在物理上與所述主機-驅(qū)動器接口端口分開、用來與所述主機耦接的主機-庫接口端口,與所述驅(qū)動器控制器耦接并且用來與所述庫控制器耦接的庫通信端口,以及用于來自所述主機的庫命令、將所述主機-庫接口端口與所述驅(qū)動器控制器耦接的主機-庫接口路徑,所述驅(qū)動器控制器用來將庫命令從所述主機-庫接口端口轉(zhuǎn)發(fā)到所述庫通信端口,其中所述驅(qū)動器控制器被配置為使來自主機系統(tǒng)的驅(qū)動器命令主要通過主機-驅(qū)動器接口端口和主機-驅(qū)動器接口路徑傳送給所述數(shù)據(jù)存儲驅(qū)動器的驅(qū)動器控制器,并且從所述主機系統(tǒng)到所述庫控制器的庫命令主要通過主機-庫接口端口和主機-庫接口路徑傳送給數(shù)據(jù)存儲驅(qū)動器的庫通信端口。
11.如權(quán)利要求10所述的自動數(shù)據(jù)存儲庫,其中所述主機-庫接口端口可配置成用作主機-驅(qū)動器接口端口。
12.如權(quán)利要求10所述的自動數(shù)據(jù)存儲庫,其中所述主機-驅(qū)動器接口端口可配置成用作主機-庫接口端口。
13.如權(quán)利要求10所述的自動數(shù)據(jù)存儲庫,其中所述主機-驅(qū)動器接口端口和主機-庫接口端口具有相同的物理設(shè)備識別號,并且其中主機-驅(qū)動器接口端口具有第一邏輯單元號,并且主機-庫接口端口具有與所述第一邏輯單元號不同的第二邏輯單元號。
14.如權(quán)利要求10所述的自動數(shù)據(jù)存儲庫,其中所述主機-驅(qū)動器接口端口具有第一物理設(shè)備識別號,并且主機-庫接口端口具有與所述第一物理設(shè)備識別號不同的第二物理設(shè)備識別號。
15.如權(quán)利要求10所述的自動數(shù)據(jù)存儲庫,其中所述數(shù)據(jù)存儲驅(qū)動器包括磁帶驅(qū)動器,并且介質(zhì)項目包括磁帶盒。
16.如權(quán)利要求10所述的數(shù)據(jù)存儲驅(qū)動器,其中所述主機-驅(qū)動器接口端口包括光纖通道接口,并且主機-庫接口端口包括光纖通道接口。
17.如權(quán)利要求10所述的數(shù)據(jù)存儲驅(qū)動器,其中所述主機-驅(qū)動器接口端口包括小型計算機系統(tǒng)接口(SCSI),并且主機-庫接口端口包括小型計算機系統(tǒng)接口(SCSI)。
18.一種方法,包括將來自主機系統(tǒng)的驅(qū)動器命令通過數(shù)據(jù)存儲驅(qū)動器的主機-驅(qū)動器接口端口、通過所述數(shù)據(jù)存儲驅(qū)動器的主機-驅(qū)動器接口路徑并且運送到所述數(shù)據(jù)存儲驅(qū)動器的驅(qū)動器控制器;響應(yīng)于來自主機系統(tǒng)的所述驅(qū)動器命令,對于可拆卸地容納在所述數(shù)據(jù)存儲驅(qū)動器中的介質(zhì)項目有選擇地讀取和寫入數(shù)據(jù);將來自主機系統(tǒng)的庫命令通過所述數(shù)據(jù)存儲驅(qū)動器的主機-庫接口端口、通過所述數(shù)據(jù)存儲驅(qū)動器的主機-庫接口路徑并且運送到所述數(shù)據(jù)存儲驅(qū)動器的控制器;將所述庫命令轉(zhuǎn)發(fā)到所述驅(qū)動器控制器的庫通信端口,所述庫通信端口能夠與自動數(shù)據(jù)存儲庫耦接;其中來自主機系統(tǒng)的驅(qū)動器命令主要通過主機-驅(qū)動器接口端口和主機-驅(qū)動器接口路徑傳送給所述數(shù)據(jù)存儲驅(qū)動器的驅(qū)動器控制器,并且來自主機系統(tǒng)的庫命令主要通過主機-庫接口端口和主機-庫接口路徑傳送給數(shù)據(jù)存儲驅(qū)動器的庫通信端口。
19.如權(quán)利要求18所述的方法,其中所述主機-驅(qū)動器接口端口具有第一物理設(shè)備識別號,并且主機-庫接口端口具有與所述第一物理設(shè)備識別號不同的第二物理設(shè)備識別號。
20.如權(quán)利要求18所述的方法,其中所述驅(qū)動器控制器包括驅(qū)動器命令控制器,與所述主機-驅(qū)動器接口路徑耦接,并且響應(yīng)于來自主機系統(tǒng)的驅(qū)動器命令,對于可拆卸地容納在所述數(shù)據(jù)存儲驅(qū)動器中的介質(zhì)項目中有選擇地讀取數(shù)據(jù)和寫入數(shù)據(jù);以及庫命令控制器,與所述主機-庫接口路徑耦接,至少部分地在功能上與所述驅(qū)動器命令控制器獨立,并且用來將庫命令從所述主機-庫接口路徑轉(zhuǎn)發(fā)到所述庫通信端口。
全文摘要
本發(fā)明提出了一種方法、系統(tǒng)和裝置,它們具有用于自動數(shù)據(jù)存儲庫的數(shù)據(jù)存儲驅(qū)動器,其中數(shù)據(jù)存儲驅(qū)動器可以具有主機驅(qū)動器接口端口和主機庫接口端口。在一個方面中,來自主機系統(tǒng)的驅(qū)動器命令主要通過主機驅(qū)動器接口端口和主機驅(qū)動器接口路徑傳送給數(shù)據(jù)存儲驅(qū)動器的驅(qū)動器控制器。另外,從主機系統(tǒng)到庫控制器的庫命令可以主要通過主機庫接口端口和主機庫接口路徑傳送給數(shù)據(jù)存儲驅(qū)動器的庫通信端口。在一個實施方案中,來自主機系統(tǒng)的驅(qū)動器命令主要通過主機驅(qū)動器接口端口和主機驅(qū)動器接口路徑傳送給數(shù)據(jù)存儲驅(qū)動器的驅(qū)動器控制器。另外,來自主機系統(tǒng)的庫命令主要通過主機庫接口端口和主機庫接口路徑傳送給數(shù)據(jù)存儲驅(qū)動器的庫通信端口。
文檔編號G06F12/00GK101025979SQ20071000162
公開日2007年8月29日 申請日期2007年1月9日 優(yōu)先權(quán)日2006年2月17日
發(fā)明者布賴恩·G.·古德曼, 格倫·阿蘭·雅奎特, 保羅·M.·格雷科, 詹姆斯·M.·卡普 申請人:國際商業(yè)機器公司