專利名稱:光纖信道儲存服務器的制作方法
技術領域:
本發明涉及一種儲存裝置,特別涉及一種光纖信道儲存服務器。
背景技術:
硬盤技術日新月異,硬盤空間由兆字節(Mega Byte, MB)提升至千兆位組(GigaByte,GB)。隨著網絡技術進步,更有廠商將小型計算機界面(SmallComputer SystemInterface,以下簡稱SCSI)應用于因特網中。因特網小型計算機系統界面(internet SmallComputer Systems Interface,以下簡稱iSCSI)的通訊協議標準被IETF提出,用以通過TCP/IP通訊協議串接多臺計算機主機而形成一虛擬的網絡存儲服務器,其擁有高速傳輸能力及無限制擴充虛擬儲存設備容量的擴充/備份能力。通過iSCSI通訊協議實現的存儲服務器可由一個或多個目標端(Target)組成, 一次存儲數據稱為會話(Session),發起會話一端稱為發起端(Initator),發起端傳送請求(Request)封包與目標端建立會話,目標端接收請求封包以響應并建立會話聯機。 如圖1所示的存儲服務器中的目標端的系統架構示意圖,當一個請求封包通過TCP/IP網絡傳送到目標端100時,需經過光纖網絡存取界面110、光纖信道存取模塊120、SCSI層130,然后再傳到儲存裝置子系統140。光纖信道存取模塊120具有獨立的執行體負責由光纖網絡存取界面IIO解析光纖網絡存取界面請求封包,用以解析出SCSI請求指令或SCSI數據。之后,再交由SCSI層130執行這些SCSI請求指令與數據。SCSI層130等待執行完成后,SCSI層130解析SCSI請求指令并提交給儲存裝置子系統140,等待儲存裝置子系統140的執行結果。上述各層以交握方式進行進程切換,每一層皆充當請求者與響應者的角色。舉例來說,當目標端100接收網絡封包后,光纖網絡存取界面110發出請求封包(或信號)通知光纖信道存取模塊120切換為用以執行解析網絡封包中的光纖網絡存取界面請求封包數據的角色,并由光纖信道存取模塊120響應此請求;SCSI層130在接收到光纖信道存取模塊120的請求后,在執行解析后的SCSI請求指令與數據,并發起一請求儲存裝置子系統140提交執行結果。在大量傳輸的網絡環境(大壓力環境)下,前述交握式處理方式造成進程切換次數大幅提升。每一個聯機請求皆需通過各層間的進程切換,特別是光纖信道存取模塊120—方面需接收下層(光纖網絡存取界面IIO)的聯機請求并進一步將執行結果提交給上層(儲存裝置子系統140),另一方面需傳送響應封包(信號)用以響應下層的請求。如此頻繁的進程切換造成存儲服務器的效能瓶頸,降低存儲服務器的執行速度。
發明內容
鑒于以上的問題,本發明的主要目的在于提供一種光纖信道儲存服務器,其通過光纖網絡信道實現。 為達到上述目的,本發明所揭露的光纖信道儲存服務器包括有光纖網絡存取界面與儲存裝置子系統。光纖網絡存取界面中包括有第一光纖信道存取模塊與第一小型計
3算機系統界面模塊;儲存裝置子系統第二光纖信道存取模塊與第二小型計算機系統界面模塊。第一光纖信道存取模塊用以判斷所接收的網絡封包是否具有光纖網絡存取界面請求封包。當網絡封包中具有光纖網絡存取界面請求封包時,第一光纖信道存取模塊會解析出SCSI請求指令或SCSI數據;第一小型計算機系統界面模塊用以接收SCSI請求指令或SCSI數據,并將其封裝為SCSI識別格式封包;第二光纖信道存取模塊被儲存裝置子系統所調用,第二光纖信道存取模塊用以發送為響應指令;第二小型計算機系統界面模塊根據響應指令并產生SCSI響應格式數據,第二小型計算機系統界面模塊將SCSI響應格式數據封裝為光纖網絡存取界面識別格式封包而傳送予光纖網絡存取界面。 因為光纖網絡存取界面與儲存裝置子系統各自內嵌有光纖信道存取模塊與小型計算機系統界面模塊,因此可立即調用光纖信道存取模塊與小型計算機系統界面模塊、避免了各層之間的進程切換,而且還避免了各層之間的多次的內存拷貝,數據無需在各層之間拷貝。 以下結合附圖和具體實施例對本發明進行詳細描述,但不作為對本發明的限定。
圖1為現有的存儲服務器中的目標端的系統架構示意 圖2為本發明較佳實施例的存儲服務器中的目標端的系統架構示意 圖3為本發明較佳實施例的光纖網絡存取界面處理接收的網絡封包的流程 圖4為本發明較佳實施例的儲存裝置子系統處理響應指令的流程圖。其中,附圖標記100巨標端110光纖網絡存取界面120光纖信道存取模塊130SCSI層140儲存裝置子系統200巨標端210光纖網絡存取界面212第一光纖信道存取模塊214第一小型計算機系統界面模塊220儲存裝置子系統222第二光纖信道存取模塊224第二小型計算機系統界面模塊
具體實施例方式
本發明的目的及其執行方法在下列較佳實施例中詳細說明之。然而本發明的概念亦可用于其它范圍。以下列舉的實施例僅用于說明本發明的目的與執行方法,并非用以限制其范圍。 圖2為本發明較佳實施例的存儲服務器中的目標端的系統架構示意圖。請參照圖2,在本實施例中,通過因特網小型計算機系統界面實現的儲存服務器,例如由一個或多個目標端200構成,目標端200中包括光纖網絡存取界面210以及儲存裝置子系統220兩部分。光纖網絡存取界面中包括有第一光纖信道存取模塊212與第一小型計算機系統界面模塊214 ;儲存裝置子系統中220還包括有第二光纖信道存取模塊222與第二小型計算機系統界面模塊224。 光纖網絡存取界面210接收來自發起端傳送的網絡封包,此網絡封包為TCP層的數據封包。之后,光纖網絡存取界面210調用第一光纖信道存取模塊212判斷網絡封包是否具有光纖網絡存取界面請求封包,并解析出包覆于此光纖網絡存取界面請求封包的SCSI請求指令或是SCSI數據。所謂的光纖網絡存取界面請求封包即是包含SCSI請求指令的SCSI封包,在本實施例中,例如先判斷網絡封包中有無存在SCSI檔頭以快速判斷是否為SCSI封包,隨后再解析SCSI封包中的SCSI請求指令或是SCSI數據,以判斷是否為光纖網絡存取界面請求封包。之后,第一光纖信道存取模塊212調用第一小型計算機系統界面模塊214以接收解析的SCSI請求指令或是SCSI數據,并將這些數據封裝為SCSI識別格式封包。SCSI模塊再調用儲存裝置子系統220提供的接口 ,將此SCSI識別格式封包傳送到儲存裝置子系統220。 由于儲存裝置子系統220內嵌有獨立的第二光纖信道存取模塊222與第二小型計算機系統界面模塊224,因此可同步處理響應指令而不需等待第二光纖信道存取模塊222與第二小型計算機系統界面模塊224由請求端進程轉換為回應端。儲存裝置子系統220接收前述的SCSI識別格式封包后,判斷需返回光纖網絡存取界面識別格式封包至光纖網絡存取界面210以完成接收程序。則儲存裝置子系統220先調用第二小型計算機系統界面模塊224,第二小型計算機系統界面模塊224判斷儲存裝置子系統220傳送為響應指令。之后,第二小型計算機系統界面模塊224調用第二光纖信道存取模塊222,并依據此響應指令產生SCSI響應格式數據,并將此SCSI響應格式數據封裝為光纖網絡存取界面識別格式封包而傳送予光纖網絡存取界面210。其中,第二光纖信道存取模塊222調用光纖網絡存取界面210提供的接口,將光纖網絡存取界面識別格式封包傳送到光纖網絡存取界面210。
圖3為本發明較佳實施例的光纖網絡存取界面處理接收的網絡封包的流程圖。在圖3中發起端傳送建立會話請求的網絡封包后,目標端接收網絡封包(步驟S310)。之后,光纖網絡存取界面調用第一光纖信道存取模塊提供的接口 (步驟S320)。并判斷網絡封包是否為SCSI相關封包(步驟S330):若不是SCSI相關封包(步驟S330的否),則網絡封包提交至應用程序(步驟S350)。若為SCSI相關封包(步驟S330的是),則進一步以調用第一小型計算機系統界面模塊解析SCSI封包中的SCSI請求指令或數據(步驟S340)。然后,第一光纖信道存取模塊再調用第一小型計算機系統界面模塊將SCSI請求指令或SCSI數據封裝為SCSI識別格式封包(步驟S360)。傳送此識別格式封包到第一小型計算機系統界面模塊(步驟S370),以完成接收過程。 圖4為本發明較佳實施例的儲存裝置子系統處理響應指令的流程圖。在圖4中儲存裝置子系統用以執行以下步驟首先,儲存裝置子系統接收并執行SCSI請求指令(步驟S410)及返回執行結果或數據(步驟S420);之后儲存裝置子系統調用第二光纖信道存取模塊判斷是否為SCSI層響應指令(步驟S430):若是則通過調用的第二光纖信道存取模塊取出響應指令(步驟S440);反之直接將執行結果或數據提交給相關的應用程序(步驟S450)。當第二光纖信道存取模塊發現儲存裝置子系統傳送的指令不是響應指令時,則進入
5網絡子系統標準流程,由網絡子系統標準流程提交給相關應用程序。然后,第二光纖信道存 取模塊調用第二小型計算機系統界面模塊依據響應指令產生SCSI響應格式數據,并將此 SCSI響應格式數據封裝為光纖網絡存取界面識別格式封包(步驟S460),并調用光纖網絡 存取界面所提供的接口傳送此光纖網絡存取界面識別格式封包至光纖網絡存取界面(步 驟S470)。 因為光纖網絡存取界面與儲存裝置子系統各自內嵌有光纖信道存取模塊與小型 計算機系統界面模塊,因此可立即調用光纖信道存取模塊與小型計算機系統界面模塊、避 免了各層之間的進程切換,而且還避免了各層之間的多次的內存拷貝,數據無需在各層之 間拷貝。 當然,本發明還可有其它多種實施例,在不背離本發明精神及其實質的情況下,熟 悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變 形都應屬于本發明所附的權利要求的保護范圍。
權利要求
一種光纖信道儲存服務器,其應用于Linux系統中并通過光纖網絡信道實現,其特征在于,該光纖信道儲存服務器包括有一光纖網絡存取界面,其用以接收一發起端傳送的網絡封包,在該光纖網絡存取界面中還包括有一第一光纖信道存取模塊,其用以判斷所接收的網絡封包具有一光纖網絡存取界面請求封包,并解析出一小型計算機界面SCSI請求指令或一小型計算機界面SCSI數據;以及一第一小型計算機系統界面模塊,其用以接收該小型計算機界面SCSI請求指令或該小型計算機界面SCSI數據,并封裝為一小型計算機界面SCSI識別格式封包;以及一儲存裝置子系統,接收該小型計算機界面SCSI識別格式封包,并返回一光纖網絡存取界面識別格式封包至該光纖網絡存取界面以完成接收程序,在該儲存裝置子系統中還包括有一第二光纖信道存取模塊,其被該儲存裝置子系統所調用,該第二光纖信道存取模塊用以發送為一響應指令;以及一第二小型計算機系統界面模塊,其根據該響應指令并產生一光纖網絡存取界面響應格式數據,該第二小型計算機系統界面模塊將該光纖網絡存取界面響應格式數據封裝為該光纖網絡存取界面識別格式封包而傳送予該光纖網絡存取界面。
2. 根據權利要求1所述的光纖信道儲存服務器,其特征在于,該第一光纖信道存取模塊判斷該網絡封包不是該光纖網絡存取界面請求封包時,將該網絡封包提交給相關的光纖 信道存取界面的應用程序。
3. 根據權利要求1所述的光纖信道儲存服務器,其特征在于,該第二小型計算機系統 界面模塊判斷該儲存裝置子系統所傳送的指令不為該響應指令,則直接提交該指令給相關 應用程序。
4. 根據權利要求1所述的光纖信道儲存服務器,其特征在于,該第二小型計算機系統 界面模塊還包括調用該儲存裝置子系統提供的接口,將該小型計算機界面SCSI識別格式 封包傳送到該儲存裝置子系統。
5. 根據權利要求1所述的光纖信道儲存服務器,其特征在于,該第二小型計算機系統 界面模塊還包括調用該光纖網絡存取界面提供的接口 ,傳送該光纖網絡存取界面識別格式 封包。
全文摘要
一種光纖信道儲存服務器,其包括光纖網絡存取界面與儲存裝置子系統兩部分,光纖網絡存取界面中包括有第一光纖信道存取模塊與第一小型計算機系統界面模塊;儲存裝置子系統第二光纖信道存取模塊與第二小型計算機系統界面模塊。當光纖網絡存取界面接收來自發起端的聯機請求封包時,通過第一光纖信道存取模塊產生儲存裝置子系統的SCSI識別格式封包;另外,儲存裝置子系統通過第二光纖信道存取模塊及第二小型計算機系統界面模塊產生具有響應指令的光纖網絡存取界面識別格式封包,傳送予光纖網絡存取界面完成響應程序。
文檔編號H04L12/56GK101741688SQ20081017262
公開日2010年6月16日 申請日期2008年11月4日 優先權日2008年11月4日
發明者陳玄同, 陳鵬 申請人:英業達股份有限公司