新四季網

一種數據存儲系統及其使用方法

2023-07-05 16:57:46

一種數據存儲系統及其使用方法
【專利摘要】本發明提供了一種數據存儲系統及其使用方法,包括:SATA指令解析模塊,用於分別與相對應的CPU相連,接收CPU發送的SATA指令,對SATA指令進行解析,並發送至對應的地址映射模塊;地址映射模塊,用於在SATA指令中指示存儲的地址空間後發送至仲裁模塊,其中,所指示的地址空間是分配給發出SATA指令的CPU的地址空間;仲裁模塊,用於將各地址映射模塊發來的SATA指令逐一發送至RAID控制模塊;RAID控制模塊,用於在確定SATA指令被分配發送至的磁碟中地址空間後,將SATA指令發送至各數據封裝模塊;數據封裝模塊,用於與其對應的磁碟相連,將SATA指令進行封裝並發送至磁碟。採用本發明的技術方案,能夠實現多CPU共享存儲,提高了磁碟的利用率,實現了存儲資源的按需配置。
【專利說明】一種數據存儲系統及其使用方法

【技術領域】
[0001] 本發明涉及計算機【技術領域】,特別涉及一種數據存儲系統及其使用方法。

【背景技術】
[0002] 在高性能計算領域,伺服器單節點往往配置大量多核CPU以滿足伺服器對高運算 速率和高並發數的要求,傳統的伺服器為每個CPU單獨配置存儲部分,使得整機的結構復 雜。
[0003] 在雲伺服器共享存儲體系的結構中,採用軟體方式實現的多CPU共享存儲使得 (PU帶寬成倍增加,而磁碟讀寫速率卻難以提升。
[0004] 現有技術的不足在於:現有的存儲架構,不能從硬體底層實現多CPU共享存儲。


【發明內容】

[0005] 本發明提供了一種數據存儲系統及其使用方法,用以實現CPU共享存儲。
[0006] 本發明提供了一種數據存儲系統,包括:至少一個SATA指令解析模塊、至少一個 地址映射模塊、仲裁模塊、RAID控制模塊、以及至少一個數據封裝模塊;其中:
[0007] SATA指令解析模塊,用於分別與相對應的CPU相連,接收CPU發送的SATA指令,對 SATA指令進行解析,並發送至對應的地址映射模塊;
[0008] 地址映射模塊,用於在接收到SATA指令解析模塊發來的SATA指令時,在SATA指 令中指示存儲的地址空間後發送至仲裁模塊,其中,所指示的地址空間是分配給發出SATA 指令的CPU的地址空間;
[0009] 仲裁模塊,用於將各地址映射模塊發來的SATA指令逐一發送至RAID控制模塊;
[0010] RAID控制模塊,用於在確定SATA指令被分配發送至的磁碟中地址空間後,將SATA 指令發送至各數據封裝模塊;
[0011] 數據封裝模塊,用於與其對應的磁碟相連,將SATA指令進行封裝並發送至磁碟。
[0012] 本發明還提供了一種數據存儲系統的使用方法,包括:
[0013] SATA指令解析模塊接收其對應的CPU發送的SATA指令,並將該SATA指令發送至 地址映射模塊;
[0014] 地址映射模塊在接收到仲裁模塊發來的SATA指令時,在SATA指令中指示存儲的 地址空間後發送至數據封裝模塊,其中,所指示的地址空間是分配給發出SATA指令的CPU 的地址空間;
[0015] 仲裁模塊將地址映射模塊發來的SATA指令逐一發送至RAID控制模塊;
[0016] RAID控制模塊在確定SATA指令被分配發送至的磁碟中地址空間後,將SATA指令 發送至各數據封裝模塊;
[0017] 數據封裝模塊將SATA指令封裝後發送至磁碟。
[0018] 本發明的有益效果是:
[0019] 本發明實施例提供的技術方案中,對於各CPU發出的SATA指令,經過SATA指令解 析模塊的解析,地址映射模塊在SATA指令中指示存儲的地址空間後由仲裁模塊逐一發送 至RAID控制模塊,而經RAID控制模塊確定SATA指令被分配發送至的磁碟中地址空間,數 據封裝模塊將SATA指令封裝並發送至各磁碟。採用本發明的技術方案,能夠從硬體底層實 現多CPU共享存儲,提高了磁碟的利用率,實現了存儲資源的按需配置。

【專利附圖】

【附圖說明】
[0020] 下面將參照附圖描述本發明的具體實施例,其中:
[0021] 圖1為本發明實施例中數據存儲系統的實施結構示意圖。
[0022] 圖2為本發明實施例中數據存儲系統第一實施例的實施結構示意圖。
[0023] 圖3為本發明實施例中數據存儲系統的使用流程示意圖。

【具體實施方式】
[0024] 為了使本發明的技術方案及優點更加清楚明白,以下結合附圖對本發明的示例性 實施例進行進一步詳細的說明,顯然,所描述的實施例僅是本發明的一部分實施例,而不是 所有實施例的窮舉。
[0025] 發明人在發明過程中注意到:
[0026] 目前現有技術中,在高性能計算領域,伺服器單節點往往配置大量多核CPU以滿 足伺服器對高運算速率和高並發數的要求,傳統的伺服器為每個CPU單獨配置存儲部分, 使得整機的結構複雜。如果要實現共享同一實體存儲空間,即為不同的CPU分配不同的地 址空間,通常是通過軟體的方式,將存儲空間進行邏輯的分隔,組成不同的邏輯存儲空間。 這樣的方式需要對作業系統以及軟體做一些改動。
[0027] 這種方案的不足在於:對作業系統及軟體的改變,必然會帶來一些兼容性、穩定性 的問題,後期維護及升級也需投入較大的人力成本。現有技術中尚未有利用硬體的方式實 現共享同一實體存儲空間的方案。
[0028] 針對上述不足,本發明實施例中提供了一種數據存儲系統及其使用方法,下面進 行說明。
[0029] 圖1為本發明實施例中數據存儲系統的實施結構示意圖,如圖所示,可以包括至 少一個SATA指令解析模塊(如圖1所示,標記為1011、1012至101N)、至少一個地址映射模 塊(如圖1所示,標記為1021、1022至102N)、仲裁模塊103、RAID控制模塊104、以及至少 一個數據封裝模塊(如圖1所示,標記為1051、1052至105N);其中:
[0030] SATA指令解析模塊,用於分別與相對應的CPU相連,接收CPU發送的SATA指令,對 SATA指令進行解析,並發送至對應的地址映射模塊;
[0031] 地址映射模塊,用於在接收到SATA指令解析模塊發來的SATA指令時,在SATA指 令中指示存儲的地址空間後發送至仲裁模塊,其中,所指示的地址空間是分配給發出SATA 指令的CPU的地址空間;
[0032] 仲裁模塊,用於將各地址映射模塊發來的SATA指令逐一發送至RAID控制模塊;
[0033] RAID控制模塊,用於在確定SATA指令被分配發送至的磁碟中地址空間後,將SATA 指令發送至各數據封裝模塊;
[0034] 數據封裝模塊,用於與其對應的磁碟相連,將SATA指令進行封裝並發送至磁碟。
[0035] 具體實施中,可以米用基於 RAID (Redundant Arrays of independent Disks 獨立 冗餘磁碟陣列)卡的磁碟陣列替代傳統的機械硬碟,可以提高硬碟存取帶寬,靈活的擴展 存儲容量,提高存儲系統的可靠性和容錯能力。
[0036] RAID是一種把多塊獨立的硬碟(物理硬碟)按不同的方式組合起來形成一個硬碟 組(邏輯硬碟),從而提供比單個硬碟更高的存儲性能與數據備份能力的技術。RAID特色 是N塊硬碟同時讀取速度加快及提供容錯性。RAID擴大了存儲能力可由多個硬碟組成容量 巨大的存儲空間,並且降低了單位容量的成本,市場上最大容量的硬碟每兆容量的價格要 大大高於普及型硬碟,因此採用多個普及型硬碟組成的陣列其單位價格要低得多。提高了 存儲速度單個硬碟速度的提高均受到各個時期的技術條件限制,要更進一步往往是很困難 的,而使用RAID,則可以讓多個硬碟同時分攤數據的讀或寫操作,因此整體速度有成倍地提 高。可靠性方面,RAID系統可以使用兩組硬碟同步完成鏡像存儲,這種安全措施對於網絡 伺服器來說是最重要不過的了。RAID控制器的一個關鍵功能就是容錯處理。容錯陣列中如 有單塊硬碟出錯,不會影響到整體的繼續使用,高級RAID控制器還具有拯救數據功能。
[0037] 具體實施中,CPU可以構成一個陣列,由一個或多個高端或低端的CPU組合而成, 分布在伺服器的一個節點上,構成該節點的計算單元,通過SATA3. 0總線連接外接存儲設 備,並支持向下兼容SATA1.0和SATA2. 0。
[0038] 實施中,SATA指令解析模塊還可以用於在接收到CPU發送的SATA指令時,將SATA 指令進行串並轉換,8b/10b編碼轉換以及解擾操作後,將其發送至地址映射模塊。
[0039] 具體實施中,按照協議規範,CPU和磁碟之間是串行進行數據交互的。串行的數據 一來頻率太高無法處理,再有就是都經過了編碼和加擾操作,所以從CPU接收到的SATA指 令可能無法直接進行處理,因此,需對接收到的SATA指令進行串並轉換,將串行數據變為 並行數據,並進行8b/10b編碼轉換以及解擾操作,這樣才能得到可處理的SATA指令,然後 將其發送至地址映射模塊。
[0040] 實施中,SATA指令解析模塊還可以用於對CPU發送的SATA指令進行標識;
[0041] 具體實施中,SATA指令解析模塊可以對接收到的SATA指令通過打包的方式來進 行標識,也可以用標記CPU的ID號的方式來進行標識,其目的是為了標記是由哪個CPU發 送的指令。
[0042] 實施中,地址映射模塊還可以用於根據標識確定發出SATA指令的CPU的地址空 間。
[0043] 具體實施中,標識過的SATA指令傳送到地址映射模塊後,地址映射模塊就可以知 道是哪個CPU的SATA指令,及對應哪個地址空間。
[0044] 實施中,SATA指令解析模塊還可以用於在RAID控制模塊不空閒時,暫存SATA指 令,在RAID控制模塊空閒時將其發送至仲裁模塊。
[0045] 具體實施中,SATA指令解析模塊可能並不是接收到SATA指令立馬發送給仲裁模 塊,而要進行暫存。暫存的作用是等待RAID控制模塊空閒時,將暫存的SATA指令發往仲裁 模塊。
[0046] 具體實施中,仲裁模塊可以選擇嚴格優先序的、輪轉的或加權輪轉的仲裁方案對 SATA指令進行選取,實現對不同優先級CPU的仲裁。
[0047] 實施中,地址映射模塊還可以用於通過修改SATA指令的地址域,將其映射到分配 給該CPU的地址空間的方式來在SATA指令中指示存儲的地址空間。
[0048] 實施中,數據封裝模塊還可以用於在接收到RAID控制模塊發來的SATA指令時,將 SATA指令進行串並轉換,8b/ 10b編碼轉換以及加擾操作後,發送至磁碟。
[0049] 具體實施中,如前所述,按照協議規範,CPU和磁碟之間是串行進行數據交互的,因 此,可以將SATA指令進行串並轉換,將並行數據變為串行數據,並進行8b/10b編碼轉換以 及加擾操作,這樣得到磁碟可處理的SATA指令,然後發送至磁碟。
[0050] 實施中,數據封裝模塊還可以用於在接收到磁碟發來的響應結果時,將響應結果 進行串並轉換,8b/ 10b編碼轉換以及解擾操作後,發送至RAID控制模塊。
[0051] 具體實施中,按照協議規範,CPU和磁碟之間是串行進行數據交互的。串行的數據 一來頻率太高無法處理,再有就是都經過了編碼和加擾操作,所以從磁碟接收到的響應結 果可能無法直接進行處理,因此,需對接收到的響應結果進行串並轉換,將串行數據變為並 行數據,並進行8b/10b編碼轉換以及解擾操作,這樣才能得到可處理的響應結果,然後將 其發送至RAID控制模塊。
[0052] 實施中,RAID控制模塊還可以用於通過修改響應結果的地址域,將其反映射到分 配給該CPU的地址空間的方式來在響應結果中指示響應的地址空間。
[0053] 具體實施中,RAID控制模塊將接收到的SATA指令中的地址域進行地址映射後發 送給磁碟,磁碟本身會將響應結果傳回給RAID控制模塊,然後RAID控制模塊在對這個響應 結果中的地址域修改後進行地址反映射,再傳給仲裁模塊。其中,地址映射與地址反映射是 一個互為相反的過程。
[0054] 實施中,數據封裝模塊還可以用於在SATA指令解析模塊不空閒時,暫存響應結 果,在SATA指令解析模塊空閒時將其發送至仲裁模塊。
[0055] 實施中,數據封裝模塊還可以用於對磁碟發送的響應結果進行標識;地址映射模 塊還可以用於根據標識確定接收響應結果的CPU。
[0056] 具體實施中,每個SATA指令解析模塊對發送給仲裁模塊的SATA指令都會進行標 識,使地址映射模塊得知是哪個CPU的指令,地址映射模塊根據這個標識除了進行地址映 射,RAID控制模塊根據數據封裝模塊對響應結果的標識進行地址反映射,將修改後的響應 結果通過SATA指令解析模塊發送給對應的CPU。
[0057] 實施中,SATA指令解析模塊還可以用於在接收到地址映射模塊發送的響應結果 時,將響應結果進行串並轉換,8b/10b編碼轉換以及加擾操作後,將其發送至CPU。
[0058] 實施中,RAID控制模塊還可以用於根據管理節點給出的RAID級別的要求,選擇相 應RAID算法,確定SATA指令被分配發送至的磁碟中地址空間。
[0059] 具體實施中,管理節點可以看做是上層管理軟體,通過寄存器配置,可以告訴FPGA 的RAID控制模塊用戶需要使用RAID0還是RAID1。RAID控制模塊可以根據這些寄存器的 變化,實現不同的功能。上層管理軟體可以提供與用戶的交互界面,用戶可根據需求選擇不 同的地址映射模式,對於重要的數據,使用RAID1,可以保障數據的安全可靠,對於一些不重 要的數據,使用RAID0能夠節約存儲資源。硬體RAID不同於軟體RAID,沒有過多的資源開 銷。
[0060] 具體實施中,RAID控制模塊可以根據一些控制邏輯,實現最基本的把將要發往某 一個磁碟盤的指令和數據,分發到了多個磁碟上,或者分發到不同磁碟的不同分區。同一塊 數據可以被分割成多個區段,分別存放在不同磁碟上。至於具體每個指令和數據會被重定 向到哪個磁碟的哪個空間,可以由軟體配置和計算,並且通知RAID控制邏輯完成。
[0061] 例如,把一個需要發往磁碟1的數據,同時發給磁碟1和磁碟3,就可以實現數據 的備份。本發明實施例中並沒有使用RAID卡,而是由軟體配合FPGA實現RAID功能。由於 走得是SATA協議,所以數據封裝仍然是SATA的數據封裝模塊,也就是說磁碟端和CPU端的 數據封裝模塊相同。RAID0把N塊同樣的磁碟用硬體的形式通過RAID控制模塊串聯在一 起創建一個大的卷集。可使整個系統能使用的存儲容量達到最大。也可以在N塊磁碟上選 擇合理的分區來創建帶區集,將原先順序寫入這一組串聯磁碟的數據分散到所有N個磁碟 中,每個磁碟只寫N分之一,N塊磁碟並行操作,不僅提高了讀寫速率,還可以為系統提供更 多的空間。RAID1在RAID0的基礎上,將一塊磁碟的數據鏡像到另一塊磁碟,該功能可以保 證系統的可靠性,也很容易由RAID控制模塊實現。只需要在磁碟端做簡單的地址映射,把 一條指令分兩個路徑發出去即可。
[0062] 實施中,SATA指令解析模塊、地址映射模塊、仲裁模塊、RAID控制模塊、以及數據 封裝模塊在FPGA上實現。
[0063] 具體實施中,磁碟控制器可以採用RAID控制器連接多塊帶SATA 口的SSD,通過配 置不同RAID級別,可以實現存儲效率和可靠性之間的平衡。
[0064] RAID控制器可以採用MegaRAID SAS9286-8e,包含八個外接SATA 口,可連接最多 240個帶有SATA或SAS接口的HDD或SSD固態硬碟(Solid State Disk)存儲設備。
[0065] RAID控制器可以按需的調整RAID級別,實現雲伺服器存儲部分的性能和可靠性 的平衡。雲伺服器單塊板卡或單節點上可以包含一個或多個CPU,這些CPU共享一塊存儲陣 列,可以實現存儲資源的按需分配,系統可以根據功能和應用情況,將閒置的存儲資源更多 的分配給有需要的CPU。
[0066] 具體實施中,通過FPGA邏輯實現RAID控制器功能,這種做法不僅降低了硬體成 本,優化了系統結構,也省去了數據封裝硬核,縮短了存儲延遲,降低了系統的開發難度。 [0067] 為了描述的方便,以上所述數據存儲系統的各部分以功能分為各種部件或單元分 別描述。當然,在實施本發明時可以把各部件或單元的功能在同一個或多個軟體或硬體中 實現。
[0068] 下面結合具體的實施示例來進行說明。
[0069] 實施例一:
[0070] 如圖2所示,SATA指令解析模塊1011、SATA指令解析模塊1012、SATA指令解析 模塊1013、以及SATA指令解析模塊101N分別與其對應的CPU相連,當SATA指令解析模塊 1011、SATA指令解析模塊1012、SATA指令解析模塊1013、以及SATA指令解析模塊101N接 收到其對應CPU發來的SATA指令時,首先將SATA指令進行串並轉換,8b/10b編碼轉換以 及解擾操作,得到可處理的SATA指令;然後通過打包的方式對SATA指令進行標識,來標記 是由哪個CPU發送的SATA指令;其次當RAID控制模塊104不空閒時,暫存SATA指令;當 RAID控制模塊104空閒時,將該SATA指令發送至仲裁模塊103 ;接著,仲裁模塊103根據優 先序的、輪轉的或加權輪轉的仲裁方案對地址映射模塊102發來的SATA指令進行仲裁,按 照該仲裁結果逐一發送至RAID控制模塊104 ;然後RAID控制模塊104根據管理節點給出 的RAID級別的要求,選擇相應RAID算法,確定發出SATA指令的CPU對應的磁碟中地址空 間;找到存儲的地址空間後,分別發送至數據封裝模塊1051、數據封裝模塊1052、數據封裝 模塊1053、以及數據封裝模塊105N,在其上將SATA指令進行串並轉換,8b/10b編碼轉換以 及加擾操作後發送至磁碟陣列。
[0071] 磁碟接收到SATA指令後,返回一個響應結果。首先,數據封裝模塊1051、數據封裝 模塊1052、數據封裝模塊1053、以及數據封裝模塊105N在接收到磁碟發來的響應結果時, 將響應結果進行串並轉換,8b/10b編碼轉換以及解擾操作,變為可處理的響應結果;然後 RAID控制模塊104通過對這個響應結果中的地址域修改後進行地址反映射,其中,地址映 射與地址反映射是一個互為相反的過程;其次對磁碟發送的響應結果進行標識,SATA指令 解析模塊1011、SATA指令解析模塊1012、SATA指令解析模塊1013、以及SATA指令解析模 塊101N根據標識確定接收響應結果的CPU ;接著,數據封裝模塊1051、數據封裝模塊1052、 數據封裝模塊1053、以及數據封裝模塊105N在SATA指令解析模塊102不空閒時,暫存響應 結果,在其空閒時將其發送至仲裁模塊103 ;SATA指令解析模塊1011、SATA指令解析模塊 1012、SATA指令解析模塊1013、以及SATA指令解析模塊101N在接收到地址映射模塊102 發送的響應結果時,將響應結果進行串並轉換,8b/10b編碼轉換以及加擾操作後,將其發送 至對應的CPU。至此完成一次完整的交互。
[0072] 基於同一發明構思,本發明實施例中還提供了一種數據存儲系統的使用方法,由 於該使用方法的原理與一種數據存儲系統相似,因此該方法的實施可以參見數據存儲系統 的實施,重複之處不再贅述。
[0073] 圖2為本發明實施例中數據存儲系統的使用流程示意圖,如圖所示,可以包括如 下步驟:
[0074] 步驟20USATA指令解析模塊接收其對應的CPU發送的SATA指令,並將該SATA指 令發送至地址映射模塊;
[0075] 步驟202、地址映射模塊在接收到仲裁模塊發來的SATA指令時,在SATA指令中指 示存儲的地址空間後發送至數據封裝模塊,其中,所指示的地址空間是分配給發出SATA指 令的CPU的地址空間;
[0076] 步驟203、仲裁模塊將地址映射模塊發來的SATA指令逐一發送至RAID控制模塊;
[0077] 步驟204、RAID控制模塊在確定SATA指令被分配發送至的磁碟中地址空間後,將 SATA指令發送至各數據封裝模塊;
[0078] 步驟205、數據封裝模塊將SATA指令封裝後發送至磁碟。
[0079] 進一步的,在SATA指令解析模塊接收到CPU發送的SATA指令時,可以將SATA指 令進行串並轉換,8b/10b編碼轉換以及解擾操作後,將其發送至地址映射模塊。
[0080] 進一步的,在SATA指令解析模塊接收到CPU發送的SATA指令時,可以對CPU發送 的SATA指令進行標識;
[0081] 在地址映射模塊接收到SATA指令時,可以根據所述標識確定發出SATA指令的CPU 的地址空間。
[0082] 進一步的,在SATA指令解析模塊接收到CPU發送的SATA指令時,可以在RAID控 制模塊不空閒時,暫存SATA指令,在RAID控制模塊空閒時將其發送至仲裁模塊。
[0083] 進一步的,在地址映射模塊接收到SATA指令解析模塊發來的SATA指令時,可以通 過修改SATA指令的地址域的方式來在SATA指令中指示存儲的地址空間,將SATA指令映射 到分配給該CPU的地址空間。
[0084] 進一步的,在數據封裝模塊接收到RAID控制模塊發來的SATA指令時,可以將SATA 指令進行串並轉換,8b/10b編碼轉換以及加擾操作後,發送至磁碟。
[0085] 進一步的,在數據封裝模塊將SATA指令發送至磁碟後,可以接收磁碟發來的響應 結果,將響應結果進行串並轉換,8b/10b編碼轉換以及解擾操作後,發送至RAID控制模塊。
[0086] 進一步的,在RAID控制模塊接收到磁碟發來的響應結果時,可以通過修改響應結 果的地址域,將其反映射到分配給該CPU的地址空間的方式來在響應結果中指示響應的地 址空間。
[0087] 進一步的,在RAID控制模塊接收到數據封裝模塊發來的響應結果時,可以在SATA 指令解析模塊不空閒時,暫存響應結果,在SATA指令解析模塊空閒時將其發送至仲裁模 塊。
[0088] 進一步的,在數據封裝模塊接收到磁碟發來的響應結果時,可以對磁碟發送的響 應結果進行標識;
[0089] 在地址映射模塊接收仲裁模塊發送的響應結果時,可以根據所述標識確定接收響 應結果的CPU。
[0090] 進一步的,在SATA指令解析模塊接收到地址映射模塊發送的響應結果時,可以將 響應結果進行串並轉換,8b/10b編碼轉換以及加擾操作後,將其發送至CPU。
[0091] 進一步的,在RAID控制模塊在接收到仲裁模塊發來的SATA指令時,可以根據管理 節點給出的RAID級別的要求,選擇相應RAID算法,確定SATA指令被分配發送至的磁碟中 地址空間。
[0092] 進一步的,在FPGA上對SATA指令進行解析、地址映射、仲裁、RAID控制以及數據 封裝。
[0093] 實施中,SATA指令和響應結果都可以是以幀的形式存在。
[0094] 進一步的,在物理層對SATA指令或響應結果進行串並轉換,8b/10b編碼轉換。
[0095] 具體實施中,物理層可以基於Stratix V的Transceiver Native Physic Ip實現。
[0096] 進一步的,在鏈路層對SATA指令或響應結果進行加解擾操作。
[0097] 進一步的,在鏈路層對SATA指令進行CRC校驗。
[0098] 進一步的,在鏈路層對SATA指令的發送及接收進行流控。
[0099] 進一步的,在傳輸層上,接收到從鏈路層發來的幀;檢查幀頭以及長度,若丟棄錯 誤的巾貞時,告知鏈路層。
[0100] 進一步的,在傳輸層上,接收到從網絡層發來的幀;檢查幀頭以及長度,若丟棄錯 誤的幀時,告知網絡層。
[0101] 進一步的,在傳輸層上,接收到從網絡層發來的SATA指令;
[0102] 將SATA指令按照指令中指示存儲的地址空間,映射到分配給該CPU的地址空間。
[0103] 進一步的,在傳輸層上,接收到從鏈路層發來的響應結果;
[0104] 將響應結果按照地址空間的標識,映射到發出響應結果的磁碟對應的CPU的地址 空間。
[0105] 進一步的,在網絡層上,對傳輸層接收到的SATA指令進行標識;發送至仲裁模塊 102。
[0106] 進一步的,在網絡層上,接收到從仲裁模塊103發來的響應結果;發送至傳輸層。
[0107] 本發明實施例提供的數據存儲系統及其使用方法,對於各CPU發出的SATA指令, 經過SATA指令解析模塊的解析,地址映射模塊在SATA指令中指示存儲的地址空間後由仲 裁模塊逐一發送至RAID控制模塊,而經RAID控制模塊確定SATA指令被分配發送至的磁碟 中地址空間,數據封裝模塊將SATA指令封裝並發送至各磁碟。採用本發明的技術方案,能 夠從硬體底層實現多CPU共享存儲,提高了磁碟的利用率,實現了存儲資源的按需配置。
[0108] 本發明通過RAID卡控制多個磁碟同時存取數據,可以大大提升磁碟端的存取帶 寬,使其與CPU端相匹配。不僅可以提升整個存儲系統的性能,而且可以通過不同RAID級 的設置提升系統的可靠性和容錯能力。
[0109] 以上實施例僅用以說明本發明的技術方案,而非對其進行限制。因此,在不背離本 發明的精神及其實質的情況下,本領域技術人員可作出各種改變、替換和變型。很顯然,但 這些改變、替換和變型都應涵蓋於本發明權利要求的保護範圍之內。
【權利要求】
1. 一種數據存儲系統,其特徵在於,所述系統包括:至少一個SATA指令解析模塊、至少 一個地址映射模塊、仲裁模塊、RAID控制模塊、以及至少一個數據封裝模塊;其中: SATA指令解析模塊,用於分別與相對應的CPU相連,接收CPU發送的SATA指令,對SATA 指令進行解析,並發送至對應的地址映射模塊; 地址映射模塊,用於在接收到SATA指令解析模塊發來的SATA指令時,在SATA指令中 指示存儲的地址空間後發送至仲裁模塊,其中,所指示的地址空間是分配給發出SATA指令 的CPU的地址空間; 仲裁模塊,用於將各地址映射模塊發來的SATA指令逐一發送至RAID控制模塊; RAID控制模塊,用於在確定SATA指令被分配發送至的磁碟中地址空間後,將SATA指令 發送至各數據封裝模塊; 數據封裝模塊,用於與其對應的磁碟相連,將SATA指令進行封裝並發送至磁碟。
2. 如權利要求1所述的數據存儲系統,其特徵在於,所述SATA指令解析模塊進一步用 於在接收到CPU發送的SATA指令時,將SATA指令進行串並轉換,8b/10b編碼轉換以及解擾 操作後,將其發送至地址映射模塊。
3. 如權利要求1所述的數據存儲系統,其特徵在於,所述SATA指令解析模塊進一步用 於對CPU發送的SATA指令進行標識; 所述地址映射模塊進一步用於根據所述標識確定發出SATA指令的CPU的地址空間。
4. 如權利要求1所述的數據存儲系統,其特徵在於,所述SATA指令解析模塊進一步用 於在RAID控制模塊不空閒時,暫存SATA指令,在RAID控制模塊空閒時將其發送至仲裁模 塊。
5. 如權利要求1所述的數據存儲系統,其特徵在於,所述地址映射模塊進一步用於通 過修改SATA指令的地址域,將其映射到分配給該CPU的地址空間的方式來在SATA指令中 指示存儲的地址空間。
6. 如權利要求5所述的數據存儲系統,其特徵在於,所述數據封裝模塊進一步用於在 接收到RAID控制模塊發來的SATA指令時,將SATA指令進行串並轉換,8b/10b編碼轉換以 及加擾操作後,發送至磁碟。
7. 如權利要求1所述的數據存儲系統,其特徵在於,所述數據封裝模塊進一步用於在 接收到磁碟發來的響應結果時,將響應結果進行串並轉換,8b/10b編碼轉換以及解擾操作 後,發送至RAID控制模塊。
8. 如權利要求7所述的數據存儲系統,其特徵在於,所述RAID控制模塊進一步用於通 過修改響應結果的地址域,將其反映射到分配給該CPU的地址空間的方式來在響應結果中 指示響應的地址空間。
9. 如權利要求1所述的數據存儲系統,其特徵在於,所述數據封裝模塊進一步用於在 SATA指令解析模塊不空閒時,暫存響應結果,在SATA指令解析模塊空閒時將其發送至仲裁 模塊。
10. 如權利要求1所述的數據存儲系統,其特徵在於,所述數據封裝模塊進一步用於對 磁碟發送的響應結果進行標識; 所述地址映射模塊進一步用於根據所述標識確定接收響應結果的CPU。
11. 如權利要求1所述的數據存儲系統,其特徵在於,所述SATA指令解析模塊進一步用 於在接收到地址映射模塊發送的響應結果時,將響應結果進行串並轉換,8b/10b編碼轉換 以及加擾操作後,將其發送至CPU。
12. 如權利要求1至11任一所述的數據存儲系統,其特徵在於,所述RAID控制模塊進 一步用於根據管理節點給出的RAID級別的要求,選擇相應RAID算法,確定SATA指令被分 配發送至的磁碟中地址空間。
13. 如權利要求1至12任一所述的數據存儲系統,其特徵在於,所述SATA指令解析模 塊、地址映射模塊、仲裁模塊、RAID控制模塊、以及數據封裝模塊在FPGA上實現。
14. 如權利要求1至13任一所述的數據存儲系統的使用方法,其特徵在於,所述方法包 括步驟: SATA指令解析模塊接收其對應的CPU發送的SATA指令,並將該SATA指令發送至地址 映射模塊; 地址映射模塊在接收到仲裁模塊發來的SATA指令時,在SATA指令中指示存儲的地址 空間後發送至數據封裝模塊,其中,所指示的地址空間是分配給發出SATA指令的CPU的地 址空間; 仲裁模塊將地址映射模塊發來的SATA指令逐一發送至RAID控制模塊; RAID控制模塊在確定SATA指令被分配發送至的磁碟中地址空間後,將SATA指令發送 至各數據封裝模塊; 數據封裝模塊將SATA指令封裝後發送至磁碟。
15. 如權利要求14所述的使用方法,其特徵在於,在SATA指令解析模塊接收到CPU發 送的SATA指令時,進一步包括,將SATA指令進行串並轉換,8b/10b編碼轉換以及解擾操作 後,將其發送至地址映射模塊。
16. 如權利要求14所述的使用方法,其特徵在於,在SATA指令解析模塊接收到CPU發 送的SATA指令時,進一步包括,對CPU發送的SATA指令進行標識; 在地址映射模塊接收到SATA指令時,進一步包括,根據所述標識確定發出SATA指令的 CPU的地址空間。
17. 如權利要求14所述的使用方法,其特徵在於,在SATA指令解析模塊接收到CPU發 送的SATA指令時,進一步包括,在RAID控制模塊不空閒時,暫存SATA指令,在RAID控制模 塊空閒時將其發送至仲裁模塊。
18. 如權利要求14所述的使用方法,其特徵在於,在地址映射模塊接收到SATA指令解 析模塊發來的SATA指令時,進一步包括,通過修改SATA指令的地址域的方式來在SATA指 令中指示存儲的地址空間,將SATA指令映射到分配給該CPU的地址空間。
19. 如權利要求18所述的使用方法,其特徵在於,在數據封裝模塊接收到RAID控制模 塊發來的SATA指令時,進一步包括,將SATA指令進行串並轉換,8b/10b編碼轉換以及加擾 操作後,發送至磁碟。
20. 如權利要求14所述的使用方法,其特徵在於,在數據封裝模塊將SATA指令發送至 磁碟後,進一步包括,接收磁碟發來的響應結果,將響應結果進行串並轉換,8b/10b編碼轉 換以及解擾操作後,發送至RAID控制模塊。
21. 如權利要求20所述的使用方法,其特徵在於,在RAID控制模塊接收到磁碟發來的 響應結果時,進一步包括,通過修改響應結果的地址域,將其反映射到分配給該CPU的地址 空間的方式來在響應結果中指示響應的地址空間。
22. 如權利要求20所述的使用方法,其特徵在於,在RAID控制模塊接收到數據封裝模 塊發來的響應結果時,進一步包括,在SATA指令解析模塊不空閒時,暫存響應結果,在SATA 指令解析模塊空閒時將其發送至仲裁模塊。
23. 如權利要求20所述的使用方法,其特徵在於,在數據封裝模塊接收到磁碟發來的 響應結果時,進一步包括,對磁碟發送的響應結果進行標識; 在地址映射模塊接收仲裁模塊發送的響應結果時,進一步包括,根據所述標識確定接 收響應結果的CPU。
24. 如權利要求20所述的使用方法,其特徵在於,在SATA指令解析模塊接收到地址映 射模塊發送的響應結果時,進一步包括,將響應結果進行串並轉換,8b/10b編碼轉換以及加 擾操作後,將其發送至CPU。
25. 如權利要求14至24任一所述的使用方法,其特徵在於,在RAID控制模塊在接收到 仲裁模塊發來的SATA指令時,進一步包括,根據管理節點給出的RAID級別的要求,選擇相 應RAID算法,確定SATA指令被分配發送至的磁碟中地址空間。
26. 如權利要求14至25任一所述的使用方法,其特徵在於,在FPGA上對SATA指令進 行解析、地址映射、仲裁、RAID控制以及數據封裝。
27. 如權利要求14所述的使用方法,其特徵在於,在物理層對SATA指令或響應結果進 行串並轉換,8b/10b編碼轉換。
28. 如權利要求14所述的使用方法,其特徵在於,在鏈路層對SATA指令或響應結果進 行加解擾操作。
29. 如權利要求28所述的使用方法,其特徵在於,在鏈路層對SATA指令進行CRC校驗。
30. 如權利要求29所述的使用方法,其特徵在於,在鏈路層對SATA指令的發送及接收 進行流控。
31. 如權利要求14所述的使用方法,其特徵在於, 在傳輸層上,接收到從鏈路層發來的幀; 檢查幀頭以及長度,若丟棄錯誤的幀時,告知鏈路層。
32. 如權利要求31所述的使用方法,其特徵在於, 在傳輸層上,接收到從網絡層發來的幀; 檢查幀頭以及長度,若丟棄錯誤的幀時,告知網絡層。
33. 如權利要求31所述的使用方法,其特徵在於, 在傳輸層上,接收到從網絡層發來的SATA指令; 將SATA指令按照指令中指示存儲的地址空間,映射到分配給該CPU的地址空間。
34. 如權利要求33所述的使用方法,其特徵在於, 在傳輸層上,接收到從鏈路層發來的響應結果; 將響應結果按照地址空間的標識,映射到發出響應結果的磁碟對應的CPU的地址空 間。
35. 如權利要求14所述的使用方法,其特徵在於, 在網絡層上,對傳輸層接收到的SATA指令進行標識; 發送至仲裁模塊。
36.如權利要求35所述的使用方法,其特徵在於, 在網絡層上,接收到從仲裁模塊發來的響應結果; 發送至傳輸層。
【文檔編號】G06F12/02GK104123228SQ201410347213
【公開日】2014年10月29日 申請日期:2014年7月21日 優先權日:2014年7月21日
【發明者】聶華, 楊曉君, 周雪 申請人:曙光信息產業(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀