亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

零cpu負載實現(xiàn)存儲系統(tǒng)命令傳輸?shù)难b置和方法

文檔序號:9597792閱讀:525來源:國知局
零cpu負載實現(xiàn)存儲系統(tǒng)命令傳輸?shù)难b置和方法
【技術領域】
[0001]本發(fā)明屬于存儲技術領域,具體說涉及一種零CPU負載實現(xiàn)存儲系統(tǒng)命令傳輸?shù)难b置和方法。
【背景技術】
[0002]隨著存儲技術的發(fā)展,越來越多的存儲系統(tǒng)采用“控制器一一存儲單元”的結構。存儲單元是存儲系統(tǒng)的基本單位,通常每套存儲系統(tǒng)具有多個存儲單元,并通過一個或多個控制器管理這些存儲單元,不同存儲單元可以為不同用戶提供存儲服務。在閃存存儲系統(tǒng)中這種結構更為常見。閃存是一種非易失性存儲器,即斷電后數(shù)據(jù)也不會丟失。閃存的寫入操作必須在空白區(qū)域進行,如果目標區(qū)域已經(jīng)有數(shù)據(jù),則須先擦除后寫入。相比傳統(tǒng)的磁盤,閃存具有功耗更低、存儲速度更快、存儲數(shù)據(jù)更加安全等優(yōu)點,以閃存為介質(zhì)的固態(tài)硬盤非常適合于存儲系統(tǒng)。
[0003]閃存存儲系統(tǒng)的控制器是系統(tǒng)的核心,是聯(lián)系用戶和閃存存儲單元的橋梁。目前常見的閃存存儲系統(tǒng)的控制器由CPU(中央處理器)、內(nèi)部總線和各種功能模塊組成。
[0004]現(xiàn)有的閃存存儲系統(tǒng)在工作中,每當一個閃存存儲單元完成一個命令操作后都會發(fā)出中斷給CPU,或者CPU通過查詢DMA (Direct Memory Access,存儲器直接訪問)控制器或者閃存控制器狀態(tài),執(zhí)行中斷程序。當對多個閃存存儲單元進行操作時,CPU會收到多個中斷,產(chǎn)生很高的CPU負載,這樣必然會影響存儲系統(tǒng)的運行速度。如何解決上述問題,目前的報道尚不多見。
[0005]在說明書“【背景技術】”部分公開的內(nèi)容,有助于本領域技術人員理解本發(fā)明的技術方案,但不應據(jù)此認為這些內(nèi)容一定屬于現(xiàn)有技術或公知常識。

【發(fā)明內(nèi)容】

[0006]本發(fā)明提供一種零CPU負載實現(xiàn)存儲系統(tǒng)命令傳輸?shù)难b置,該裝置與客戶端、存儲系統(tǒng)及傳輸模塊相關。
[0007]本發(fā)明所述的客戶端,指能夠向存儲系統(tǒng)發(fā)出存儲服務命令和相關數(shù)據(jù)的設備或裝置。所述的存儲服務命令,指與數(shù)據(jù)存儲相關的命令,常見的命令包括數(shù)據(jù)擦除、數(shù)據(jù)寫入、數(shù)據(jù)讀取、讀取存儲系統(tǒng)(或存儲單元)狀態(tài)、數(shù)據(jù)復位等單一命令及由多個單一命令組合的復合命令。存儲服務命令的相關數(shù)據(jù),指與各種存儲服務命令相對應的數(shù)據(jù),如需要寫入存儲系統(tǒng)的數(shù)據(jù)和需要從存儲系統(tǒng)讀取的數(shù)據(jù)。存儲系統(tǒng)處理收到的存儲服務命令和相關數(shù)據(jù)后會向客戶端反饋對應的處理結果和相關數(shù)據(jù),相應的客戶端也具有接收這些處理結果和相關數(shù)據(jù)的能力。
[0008]本發(fā)明所述的存儲系統(tǒng),指能夠響應客戶端發(fā)出的存儲服務命令,處理存儲服務命令和相關數(shù)據(jù),反饋對應的處理結果和相關數(shù)據(jù)的設備或裝置。為了實現(xiàn)本發(fā)明技術方案,存儲系統(tǒng)具有“控制器一一存儲單元”的結構。
[0009]本發(fā)明技術方案中,將客戶端發(fā)出的各種存儲服務命令簡稱為“請求命令”,將存儲系統(tǒng)反饋的處理結果簡稱為“完成命令”,將請求命令和完成命令統(tǒng)稱為“命令”。將“請求命令”區(qū)分為“一級請求命令”和“二級請求命令”,同樣將“完成命令”區(qū)分為“一級完成命令”和“二級完成命令”??蛻舳司哂姓埱竺畲鎯^(qū)、完成命令存儲區(qū)、數(shù)據(jù)存儲區(qū)三個存儲區(qū)域,分別存儲準備發(fā)出的請求命令、收到的完成命令以及命令的相關數(shù)據(jù)。在本發(fā)明技術方案中,完成命令僅是對請求命令是否成功執(zhí)行的反饋,和相關數(shù)據(jù)的處理并不必然是同步的(例如,客戶端向存儲系統(tǒng)寫入數(shù)據(jù),客戶端寫入數(shù)據(jù)的請求命令發(fā)出后,存儲系統(tǒng)已經(jīng)正確執(zhí)行了該請求命令,相關的數(shù)據(jù)已經(jīng)寫入,但存儲系統(tǒng)反饋數(shù)據(jù)成功寫入的完成命令可能在數(shù)據(jù)成功寫入很久之后才生成并發(fā)出),因此本發(fā)明技術方案中涉及到的命令的相關數(shù)據(jù)均為請求命令的相關數(shù)據(jù),與完成命令無關。
[0010]本發(fā)明所述的傳輸模塊,指獨立于客戶端和存儲系統(tǒng),能夠在客戶端和存儲系統(tǒng)之間傳輸請求命令、完成命令及請求命令的相關數(shù)據(jù)的設備或裝置。
[0011]零CPU負載實現(xiàn)存儲系統(tǒng)命令傳輸?shù)难b置,包括存儲系統(tǒng)和傳輸模塊,存儲系統(tǒng)包括一個或多個(多個指兩個或兩個以上)控制器、一個或多個存儲單元,狀態(tài)寄存器組。傳輸模塊包括請求命令寄存器、完成命令寄存器、請求命令寄存器解碼器、完成命令寄存器解碼器、讀寫主設備、第一級請求命令緩沖器、一個或多個第二級請求命令緩沖器、請求命令解碼器、請求命令分發(fā)器、完成命令解碼器、完成命令編碼器、一個或多個第一級完成命令緩沖器、第二級完成命令緩沖器。
[0012]以上部件中沒有特別說明個數(shù)的,通常情況下是一個。
[0013]請求命令寄存器,用于存儲客戶端向存儲系統(tǒng)發(fā)出的一級請求命令的數(shù)量。
[0014]完成命令寄存器,用于存儲第二級完成命令緩沖器向客戶端反饋的二級完成命令的數(shù)量。
[0015]請求命令寄存器解碼器,用于解析請求命令寄存器,觸發(fā)讀寫主設備從客戶端讀取一級請求命令。(客戶端向存儲系統(tǒng)發(fā)出的、讀寫主設備從客戶端請求命令存儲區(qū)讀取的請求命令定義為一級請求命令。)
[0016]完成命令寄存器解碼器,用于解析完成命令寄存器,觸發(fā)讀寫主設備從第二級完成命令緩沖器讀取二級完成命令。(讀寫主設備從第二級完成命令緩沖器中讀取的、向客戶端反饋的完成命令定義為二級完成命令。)
[0017]讀寫主設備,用于根據(jù)請求命令寄存器解碼器的觸發(fā)從客戶端讀取一級請求命令存儲到第一級請求命令緩沖器,還用于根據(jù)完成命令寄存器解碼器的觸發(fā)從第二級完成命令緩沖器讀取二級完成命令發(fā)送到客戶端。
[0018]請求命令解碼器,用于分解第一級請求命令緩沖器中存儲的一級請求命令,將分解得到的二級請求命令存儲到相關存儲單元對應的第二級請求命令緩沖器。(請求命令解碼器對一級請求命令分解后得到的請求命令定義為二級請求命令,每條二級請求命令與每個存儲單元相對應。)
[0019]請求命令分發(fā)器,用于將第二級請求命令緩沖器中存儲的二級請求命令發(fā)送到對應控制器。
[0020]第一級請求命令緩沖器,用于存儲一級請求命令。
[0021]第二級請求命令緩沖器,用于存儲二級請求命令。
[0022]控制器,用于執(zhí)行二級請求命令,生成相關存儲單元對應的一級完成命令。
[0023]完成命令解碼器,用于將一級完成命令存儲到相關存儲單元對應的第一級完成命令緩沖器。(控制器生成的相關存儲單元對應的完成命令定義為一級完成命令。)
[0024]完成命令編碼器,用于將第一級完成命令緩沖器中的一級完成命令匯集,形成二級完成命令,存儲到第二級完成命令緩沖器,并將第二級完成命令緩沖器中二級完成命令的數(shù)量存儲到完成命令寄存器。
[0025]第一級完成命令緩沖器,用于存儲一級完成命令。
[0026]第二級完成命令緩沖器,用于存儲二級完成命令。
[0027]狀態(tài)寄存器組,用于反映控制器狀態(tài)的變化。某一個控制器接收一個二級請求命令或生成一個一級完成命令,其狀態(tài)都會發(fā)生變化,相應的對狀態(tài)寄存器組進行更新。
[0028]作為一種可選擇的實施方式,請求命令分發(fā)器輪詢讀取第二級請求命令緩沖器中存儲的二級請求命令,依次發(fā)送到對應控制器。
[0029]作為一種可選擇的實施方式,完成命令編碼器輪詢匯集第一級完成命令緩沖器中的一級完成命令,形成二級完成命令,存儲到第二級完成命令緩沖器。
[0030]以上所述的輪詢,指按照預先設定的順序逐一訪問緩沖器(以所有的緩沖器都被訪問了一遍為一個周期,周而復始),如果緩沖器中存儲有命令(通常是緩沖器中存儲有新的命令),則執(zhí)行相應操作后訪問下一個緩沖器;如果緩沖器中沒有命令(通常是緩沖器中沒有新的命令),則跳過該緩存器訪問下一個緩沖器。
[0031]以上所述的緩沖器,可以是隨機存取存儲器(Random Access Memory,RAM)、先進先出(First In First Out,F(xiàn)IFO)存儲器或雙倍速率同步動態(tài)隨機存儲器(Double DataRate,DDR,包括 DDR、DDR2、DDR3、DDR4 等多代產(chǎn)品)。
[0032]作為一種可選擇的實施方式,請求命令分發(fā)器發(fā)送到對應控制器的二級請求命令是互斥命令。所謂的互斥命令,指每個命令之間是互斥的,即對同一存儲單元不會發(fā)出兩個相同的命令。
[0033]以上描述的零CPU負載實現(xiàn)存儲系統(tǒng)命令傳輸?shù)难b置,能夠在客戶端和存儲系統(tǒng)之間傳輸請求命令和完成命令,如果在傳輸命令時也實現(xiàn)傳輸請求命令的相關數(shù)據(jù),則傳輸模塊還包括數(shù)據(jù)地址解碼器、一個或多個寫數(shù)據(jù)緩沖器、一個或多個寫數(shù)據(jù)地址緩沖器、一個或多個讀數(shù)據(jù)緩沖器、一個或多個讀數(shù)據(jù)地址緩沖器。
[0034]數(shù)據(jù)地址解碼器,用于根據(jù)控制器狀態(tài)的變化,讀取寫數(shù)據(jù)地址緩沖器或讀數(shù)據(jù)地址緩沖器,對讀取到的數(shù)據(jù)地址進行解析,觸發(fā)讀寫主設備進行寫數(shù)據(jù)操作或讀數(shù)據(jù)操作。寫數(shù)據(jù)操作,指讀寫主設備從客戶端
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1