快速進行數據傳輸的方法
【技術領域】
[0001]本發明涉及一種數據傳輸的方法;特別關于一種利用交換器,以使得主機所欲傳送的數據可無須經過交換器的主板而直接傳輸予儲存裝置的快速數據傳輸方法。
【背景技術】
[0002]快捷外設互連標準(PeripheralComponent Interconnect Express,PCIe)協議屬于計算機總線協議的一種,其主要可應用于計算機內部的互連,亦可運用于與外部的芯片組的裝置,例如具有顯示芯片的顯示適配器互連。或者,PCIe亦可用于與計算機周邊的輸入輸出裝置互連,以可與其周邊裝置進行相互數據,例如多媒體數據的傳輸。一般而言,PCIe的數據傳輸速率依照不同的總線寬度與不同的規格,數據傳輸速率一般在約500MBps至SGBps之間。近年來,為了使得數據的傳輸帶寬更佳,且控制每個數據傳輸信道皆可為全雙工,一種新的連接器標準,稱為雷電接口(Thunderbolt,TB)協議則被提出。
[0003]簡單來說,TB協議是一種革新的雙協議(protocol)高速I/O技術,效能超越現今各種I/O技術,提高1GBps以上的雙向傳輸速度。它提供充裕的彈性與簡易性,其僅僅運用單一纜線即可同時進行數據(PCIe)以及視訊(DisplayPort)的傳輸。然而,目前業界當運用此種通訊協議時,仍遭遇有其困難之處,也就是當系統架構包括有多個儲存裝置同時連接至多臺主機時,由主機所發出的命令則必須經由一定程序的轉換,形成特定形式的格式,方可由主機傳到儲存裝置端。此種作法的問題在于,因主機所發下的命令,必須經由特定程序的轉換,以形成特定的格式。而在此情況下,也只能利用特定格式的儲存裝置方可讀取此特定格式的命令,在實際操作上,將使得儲存裝置的選用受到大大的限制,無法具有不同廠牌的通用性。
[0004]有鑒于此,現有技術遂提出另一種作法,其先將主機所發下的命令傳送至一中介的主板,同時伴隨此命令,將數據先傳送至此中介的主板。之后再將命令轉為一般常見的通用格式,并將其傳至儲存端。據此,數據即可再次由中介的主板傳遞至儲存裝置,以供其存取。利用此種作法的好處是,因最后傳送至儲存端的命令已經經由轉換為一般常見的通用格式,因此只要是目前常見可存取通用格式的儲存裝置,則皆可被拿來使用,于此,解決了前述儲存裝置受到局限的問題。然而,更嚴重的問題在于,利用此種方法進行傳輸時,其命令與數據皆必須在主機至中介主板以及中介主板至儲存裝置之間進行兩次的傳輸,因此相對地系統中必須使用更高階的主板,才能應付此龐大的運算量,并且主板內部的內存空間(例如:DRAM)也必須與之劇增。
[0005]再者,若當主機的數目或與之連接的儲存裝置數目再增加時,則主板的選用及其內存空間也必須相對地更高階,換言之,在成本考慮上無疑是極大瓶頸之一。
【發明內容】
[0006]為解決現有技術存在的問題,本發明的一目的在于提供一種快速進行數據傳輸的方法,以改善現有數據傳輸的方法。本發明提供一交換器連接于多個主機與儲存裝置之間,以完成高效能的數據傳輸。
[0007]本發明的又一目的在于提供一種快速進行數據傳輸的方法,其利用交換器,使得主機欲傳送的數據可無須經過交換器的主板或處理器等元件傳輸,以降低系統的內存消耗負擔,并提高數據傳輸的效能。
[0008]本發明的再一目的在于提供一種快速進行數據傳輸的方法,其將主機所發出的原始指令轉換為一般周知的儲存裝置皆可辨識的標準格式,藉此,有效解決了現有儲存裝置的廠牌多受到單一局限的問題。
[0009]本發明公開的快速進行數據傳輸的方法利用一交換器連接于多個主機與至少一儲存裝置之間,使得數據能夠直接在該多個主機與該至少一儲存裝置之間進行傳輸,包括以下步驟:(I)該多個主機通過該交換器辨識該至少一儲存裝置;(2)利用該多個主機將一原始指令中的一數據傳輸路徑進行修改,同時將該原始指令轉換為一特定指令;(3)將該特定指令傳送至該交換器;(4)該交換器接收該特定指令,并將該特定指令轉換為一標準指令后傳至該至少一儲存裝置;以及(5)該至少一儲存裝置接收該標準指令,并根據該標準指令中含有的該數據傳輸路徑找到對應的該至少一主機,以在該至少一主機與所對應的該至少一儲存裝置之間直接進行數據傳輸。
[0010]其中,根據本發明的一實施例,將該特定格式的指令轉換為標準格式的步驟由交換器中的一主板所執行。并且,交換器亦可在接收到該特定指令后,接著針對數據傳輸路徑再次進行修改,以利儲存裝置辨識所需的傳輸數據的主機為何。
[0011]再者,所述的標準指令的格式為一 SCSI格式,其中包含有數據信息,且該標準指令的格式可為儲存裝置所辨識及讀取。所以,由于SCSI格式為現今相當常用的標準格式,故幾乎所有儲存裝置,凡是可辨識SCSI格式的儲存裝置,皆可作為實施本發明所使用的儲存裝置。換言之,利用本發明所公開的數據傳輸方法,其主機所對應連接的儲存裝置,即不具有單一廠牌的局限,相較于現有技術,顯然具有較高的應用范疇與市場發展性。
[0012]另一方面而言,本發明又公開了一種快速進行數據傳輸的方法,其利用一交換器連接于多個主機與至少一儲存裝置之間,使得數據能夠直接在該多個主機與該至少一儲存裝置之間進行傳輸,包括以下步驟:(I)該多個主機通過該交換器辨識該至少一儲存裝置;
(2)利用該多個主機將一原始指令轉換為一特定指令后傳至該交換器;(3)該交換器接收該特定指令,并針對其中的一數據傳輸路徑進行修改,同時將該特定指令轉換為一標準指令;(4)將該標準指令傳送至該至少一儲存裝置;以及(5)該至少一儲存裝置接收該標準指令,并根據該標準指令中含有的該數據傳輸路徑找到對應的該至少一主機,以在該至少一主機與所對應的儲存裝置之間直接進行數據傳輸。
【附圖說明】
[0013]圖1為本發明一實施例快速進行數據傳輸方法的步驟流程圖;
[0014]圖2為應用本發明實施例的一系統架構圖;
[0015]圖3為應用本發明實施例的一交換器的內部組成示意圖;
[0016]圖4為本發明又一實施例快速進行數據傳輸方法的步驟流程圖。
[0017]附圖標記說明:10-交換器;21_主機;22_主機;23_主機;31_儲存裝置;32_儲存裝置;102-第一端口 ;104_第二端口 ; 106-主板;108-快捷外設互連標準器。
【具體實施方式】
[0018]圖1為本發明一實施例的快速進行數據傳輸方法的步驟流程圖,其包含有步驟S102、S104、S106、S108以及S110。為理解本發明的實施步驟,請一并參考圖2系統架構所示,此種快速進行數據傳輸的方法利用一交換器10連接于多個主機(PC)21、22、23與至少一儲存裝置(storage)之間,其中,儲存裝置的數量可為一個或一個以上,本發明圖2以系統中包含兩個儲存裝置31、32作為一實施例說明,但是,本發明不以此為限。利用本發明所公開的方法,數據可無須經過該交換器10中的主板或處理單元等元件,而是可直接通過交換器10在主機21、22、23與儲存裝置31、32之間進行。以下,將針對此部分的技術進行詳述。
[0019]根據本發明的第一實施例,此種快速進行數據傳輸的方法,如步驟S102所示,首先,交換器10連接于主機21、22、23與儲存裝置31、32之間,使得主機21、22、23可通過交換器10辨識與之連接的儲存裝置31、32為何。之后,如步驟S104所示,利用主機21、22、23將一原始指令中的一數據傳輸路徑進行修改,同時將該原始指令轉換為一特定指令,舉例來說,該原始指令例如可由主機21、22或23其中的至少一個發出,之后,再由所發出的主機21、22或23中的驅動裝置(driver)來將其轉換為特定指令。根據本發明的實施例,一般來說,主機21、22或23中的驅動裝置(driver)針對原始指令而視需要地增加某些特定的字段信息,使之包裝成為所述的特定指令。
[0020]之后,如步驟S106所示,在完成前述的作業后,再將所述的特定指令傳送至交換器10。在步驟S108中,交換器10在接收到此特定格式的指令后,即可將此特定格式的