專利名稱:基于位的串行傳輸云存儲(chǔ)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息存儲(chǔ)技術(shù),具體是ー種基于位的串行傳輸云存儲(chǔ)方法及裝置。
背景技術(shù):
現(xiàn)有商售串行存儲(chǔ)介質(zhì)陣列產(chǎn)品(如磁盤(pán)陣列、內(nèi)存陣列、Flash陣列、RAM陣列等)的數(shù)據(jù)存儲(chǔ)模式均采用基于字節(jié)的串行存儲(chǔ)模式,例如SATA存儲(chǔ)模式等。SATA存儲(chǔ)介質(zhì)陣列模式的特點(diǎn)是將計(jì)算機(jī)總線發(fā)送來(lái)的并行數(shù)據(jù)輸入到RAID進(jìn)行處理,以字節(jié)(Byte)或位組(bit set)為數(shù)據(jù)單位進(jìn)行分割后進(jìn)行RAID處理,這些數(shù)據(jù)單位再封裝成數(shù)據(jù)字節(jié)緩存,最后各自轉(zhuǎn)換為串行數(shù)據(jù)分別寫(xiě)入由多個(gè)存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列,并且在ー個(gè)訪問(wèn)周期內(nèi),只能一次支持對(duì)單獨(dú)I個(gè)存儲(chǔ)器的數(shù)據(jù)寫(xiě)入/讀出操作,因而導(dǎo)致其無(wú)法從根本上消除多個(gè)存儲(chǔ)器對(duì)總線的競(jìng)爭(zhēng)。隨著存儲(chǔ)介質(zhì)陣列的存儲(chǔ)器數(shù)目不斷増加,SATA存儲(chǔ)模式便無(wú)法最大限度地利用存儲(chǔ)介質(zhì)陣列的其他存儲(chǔ)器空間,由此導(dǎo)致負(fù)載不均衡。基于此,有必要發(fā)明ー種全新的數(shù)據(jù)存儲(chǔ)介質(zhì)陣列模式,以解決現(xiàn)有數(shù)據(jù)存儲(chǔ)介質(zhì)陣列模式無(wú)法從根本上消除多個(gè)存儲(chǔ)器的總線競(jìng)爭(zhēng)、以及容易導(dǎo)致負(fù)載不均衡的問(wèn)題,從而使得在ー個(gè)訪問(wèn)周期內(nèi),能夠一次支持對(duì)多個(gè)存儲(chǔ)器的數(shù)據(jù)同時(shí)進(jìn)行寫(xiě)入/讀出操作,在存儲(chǔ)容量擴(kuò)容的同時(shí)實(shí)現(xiàn)訪問(wèn)吞吐量的同步提升。
發(fā)明內(nèi)容
本發(fā)明為了解決現(xiàn)有數(shù)據(jù)存儲(chǔ)介質(zhì)陣列模式無(wú)法從根本上消除多個(gè)存儲(chǔ)器的總線競(jìng)爭(zhēng)、以及容易導(dǎo)致負(fù)載不均衡的問(wèn)題,提供了一種基于位的串行傳輸云存儲(chǔ)方法及裝
置。 本發(fā)明是采用如下技術(shù)方案實(shí)現(xiàn)的基于位的串行傳輸云存儲(chǔ)方法,該方法是采用如下步驟實(shí)現(xiàn)的1)數(shù)據(jù)的并行寫(xiě)入接收來(lái)自數(shù)據(jù)緩存的K比特位并行數(shù)據(jù)流;以比特為分割単位,將接收到的ー個(gè)K比特位并行數(shù)據(jù)流轉(zhuǎn)換為K個(gè)I比特位串行數(shù)據(jù)流;將轉(zhuǎn)換后的K個(gè)I比特位串行數(shù)據(jù)流同時(shí)分別寫(xiě)入由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列;2)數(shù)據(jù)的串行讀出讀出來(lái)自由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列的K個(gè)I比特位串行數(shù)據(jù)流;將讀出的K個(gè)I比特位串行數(shù)據(jù)流組裝成為ー個(gè)K比特位并行數(shù)據(jù)流;將組裝后的K比特位并行數(shù)據(jù)流發(fā)送至數(shù)據(jù)緩存;所述步驟I)-2)中,計(jì)算機(jī)總線寬度假定為但不限于32,K=32Xm+r,且m是并行/串行數(shù)據(jù)流轉(zhuǎn)換的緩沖深度,r是RAID引入的冗余位數(shù)(m、r均是正整數(shù))。與現(xiàn)有數(shù)據(jù)存儲(chǔ)介質(zhì)陣列模式(例如SATA存儲(chǔ)模式)相比,本發(fā)明所述的基于位的串行傳輸云存儲(chǔ)方法摒棄了傳統(tǒng)的RAID標(biāo)準(zhǔn),其以比特為分割単位將接收到的總線并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)流分別寫(xiě)入具有支持串行訪問(wèn)的接ロ的存儲(chǔ)介質(zhì)陣列,能在一個(gè)時(shí)鐘周期內(nèi)支持?jǐn)?shù)目與總線寬度位數(shù)m倍相同的存儲(chǔ)器同時(shí)讀/寫(xiě),因而其從根本上消除多個(gè)存儲(chǔ)器的總線競(jìng)爭(zhēng)和負(fù)載不均衡,提高了存儲(chǔ)器的利用率。在存儲(chǔ)器數(shù)目相等的前提下,本發(fā)明所述的基于位的串行傳輸云存儲(chǔ)方法寫(xiě)入/讀出數(shù)據(jù)的速度,理論上是現(xiàn)有數(shù)據(jù)存儲(chǔ)介質(zhì)陣列模式(例如SATA存儲(chǔ)模式)的32Xm倍。所述步驟I)中,通過(guò)總線接ロ接收來(lái)自計(jì)算機(jī)總線的32比特位并行數(shù)據(jù);通過(guò)數(shù)據(jù)緩存對(duì)接收到的32比特位并行數(shù)據(jù)進(jìn)行m次緩沖;通過(guò)RAID部件對(duì)緩沖后的32Xm比特位并行數(shù)據(jù)生成r比特位冗余校驗(yàn)碼;將緩沖后的32Xm比特位并行數(shù)據(jù)與r比特位冗余校驗(yàn)碼一起組裝形成ー個(gè)K比特位并行數(shù)據(jù)流;通過(guò)并轉(zhuǎn)串電路將組裝形成的ー個(gè)K比特位并行數(shù)據(jù)流轉(zhuǎn)換為K個(gè)I比特位串行數(shù)據(jù)流;通過(guò)數(shù)據(jù)緩存將轉(zhuǎn)換后的K個(gè)I比特位串行數(shù)據(jù)流同時(shí)分別寫(xiě)入由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列;所述步驟2)中,通過(guò)數(shù)據(jù)緩存讀出來(lái)自由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列的K個(gè)I比特位串行數(shù)據(jù)流;通過(guò)串轉(zhuǎn)并電路將讀出的K個(gè)I比特位串行數(shù)據(jù)流組裝形成ー個(gè)K比特位并行數(shù)據(jù)流;通過(guò)RAID部件對(duì)組裝形成的K比特位并行數(shù)據(jù)流進(jìn)行檢測(cè);檢測(cè)無(wú)誤后,通過(guò)RAID部件去除K比特位并行數(shù)據(jù)流中的r比特位冗余校驗(yàn)碼;通 過(guò)數(shù)據(jù)緩存將去除r比特位冗余校驗(yàn)碼后的K比特位并行數(shù)據(jù)流緩沖拆解為m個(gè)32比特位并行數(shù)據(jù);通過(guò)總線接ロ將緩沖拆解后的32比特位并行數(shù)據(jù)發(fā)送至計(jì)算機(jī)總線。所述步驟1)-2)中,存儲(chǔ)器可以是但不限于磁盤(pán)或內(nèi)存或Flash或RAM ;所述步驟
I)-2 )中,支持串行訪問(wèn)的接ロ可以是但不限于SATA接ロ或SAS接ロ。基于位的串行傳輸云存儲(chǔ)裝置(該裝置用于實(shí)現(xiàn)本發(fā)明所述的基于位的串行傳輸云存儲(chǔ)方法),包括總線接ロ、6-CSC控制器、并轉(zhuǎn)串電路、串轉(zhuǎn)并電路、數(shù)據(jù)緩存、K個(gè)轉(zhuǎn)發(fā)處理單元、以及由K個(gè)具有SATA接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列;其中,總線接ロ通過(guò)數(shù)據(jù)緩存分別與并轉(zhuǎn)串電路和串轉(zhuǎn)并電路連接;并轉(zhuǎn)串電路和串轉(zhuǎn)并電路均通過(guò)數(shù)據(jù)緩存與K個(gè)轉(zhuǎn)發(fā)處理單元連接;K個(gè)轉(zhuǎn)發(fā)處理單元與K個(gè)具有SATA接ロ的存儲(chǔ)器一一對(duì)應(yīng)連接;ゐ-CSC控制器分別與K個(gè)轉(zhuǎn)發(fā)處理單元連接。具體工作吋,6-CSC控制器和K個(gè)轉(zhuǎn)發(fā)處理單元可以生成針對(duì)由各種具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列的控制命令和時(shí)序,包括但不限于針對(duì)由SATA接ロ或SAS接ロ組成的存儲(chǔ)介質(zhì)陣列的控制命令和時(shí)序。6-CSC控制器接收來(lái)自計(jì)算機(jī)總線的對(duì)存儲(chǔ)介質(zhì)陣列的控制命令、以及來(lái)自存儲(chǔ)介質(zhì)陣列和計(jì)算機(jī)總線的數(shù)據(jù),經(jīng)過(guò)必要的處理后實(shí)現(xiàn)存儲(chǔ)介質(zhì)陣列和計(jì)算機(jī)總線之間的冗余數(shù)據(jù)信息交換。當(dāng)進(jìn)行數(shù)據(jù)的并行寫(xiě)入時(shí)A-CSC控制器首先將來(lái)自計(jì)算機(jī)總線的對(duì)存儲(chǔ)介質(zhì)陣列的寫(xiě)入控制命令分別映射為對(duì)K個(gè)具有SATA接ロ的存儲(chǔ)器的寫(xiě)入控制命令,然后將映射后的寫(xiě)入控制命令分別發(fā)送到K個(gè)轉(zhuǎn)發(fā)處理單元0-CSC控制器支持兩種寫(xiě)入控制命令第一種是塊寫(xiě)入控制命令,適用于大數(shù)據(jù)的存儲(chǔ);在塊寫(xiě)入控制命令下,一個(gè)邏輯塊的尺寸為ー個(gè)邏輯扇區(qū)尺寸的32Xm倍;第二種是扇區(qū)寫(xiě)入控制命令,適用于小數(shù)據(jù)或大數(shù)據(jù)的末端存儲(chǔ);扇區(qū)寫(xiě)入控制命令通過(guò)ー個(gè)塊讀出控制命令將存儲(chǔ)介質(zhì)陣列的32Xm個(gè)扇區(qū)數(shù)據(jù)讀出到緩沖區(qū),然后修改緩沖區(qū)的目標(biāo)數(shù)據(jù)區(qū),再通過(guò)塊寫(xiě)入控制命令將緩沖區(qū)的32Xm個(gè)扇區(qū)數(shù)據(jù)回寫(xiě)到存儲(chǔ)介質(zhì)陣列。當(dāng)進(jìn)行數(shù)據(jù)的串行讀出吋,6-CSC控制器支持塊讀出控制命令,一次將ー個(gè)32Xm個(gè)扇區(qū)的數(shù)據(jù)讀出到邏輯塊緩沖區(qū),然后將目標(biāo)數(shù)據(jù)區(qū)的內(nèi)容提交到計(jì)算機(jī)總線。進(jìn)ー步地,還包括一個(gè)RAID部件;RAID部件分別與數(shù)據(jù)緩存和總線接ロ連接。當(dāng)進(jìn)行數(shù)據(jù)的并行寫(xiě)入時(shí),RAID部件針對(duì)每組32Xm比特位并行數(shù)據(jù)實(shí)時(shí)生成r比特位冗余校驗(yàn)碼,r比特位冗余校驗(yàn)碼與32Xm比特位并行數(shù)據(jù)一起組裝形成ー個(gè)K比特位并行數(shù)據(jù)流;組裝形成的K比特位并行數(shù)據(jù)流送入并轉(zhuǎn)串電路。當(dāng)進(jìn)行數(shù)據(jù)的串行讀出吋,RAID部件首先利用讀出的K比特位并行數(shù)據(jù)流中的r比特位冗余校驗(yàn)碼對(duì)32Xm個(gè)比特有效數(shù)據(jù)位進(jìn)行實(shí)時(shí)糾錯(cuò),然后去除r比特位冗余校驗(yàn)碼,形成32Xm比特位并行數(shù)據(jù)。RAID部件可以按照兩種方式對(duì)存儲(chǔ)介質(zhì)陣列的意外故障進(jìn)行恢復(fù)第一種情況是對(duì)于r個(gè)冗余校驗(yàn)盤(pán)體發(fā)生的數(shù)據(jù)故障,RAID部件可以依據(jù)32Xm個(gè)有效數(shù)據(jù)盤(pán)體的數(shù)據(jù)重新生成冗余校驗(yàn)碼流,寫(xiě)入替換后的完好盤(pán) 體中;第二種情況是對(duì)于32Xm個(gè)有效數(shù)據(jù)盤(pán)體中不超過(guò)r個(gè)盤(pán)體同時(shí)發(fā)生的數(shù)據(jù)故障,RAID部件可以依據(jù)r個(gè)冗余校驗(yàn)碼流和32Xm個(gè)有效數(shù)據(jù)盤(pán)體中未發(fā)生故障的有效數(shù)據(jù)重新生成正確的恢復(fù)數(shù)據(jù)流,寫(xiě)入替換后的完好盤(pán)體中。本發(fā)明有效解決了現(xiàn)有數(shù)據(jù)存儲(chǔ)介質(zhì)陣列模式無(wú)法從根本上消除多個(gè)存儲(chǔ)器的總線競(jìng)爭(zhēng)、以及容易導(dǎo)致負(fù)載不均衡的問(wèn)題,適用于對(duì)各種具有支持串行訪問(wèn)的接ロ的存儲(chǔ)介質(zhì)陣列進(jìn)行數(shù)據(jù)存儲(chǔ),尤其適用于海量數(shù)據(jù)存儲(chǔ)。
圖I是本發(fā)明所述的基于位的串行傳輸云存儲(chǔ)裝置的結(jié)構(gòu)示意圖。圖中存儲(chǔ)器I,存儲(chǔ)器2,存儲(chǔ)器3,存儲(chǔ)器4,……,存儲(chǔ)器31,存儲(chǔ)器32,存儲(chǔ)器33,存儲(chǔ)器32+r均為存儲(chǔ)器;轉(zhuǎn)發(fā)處理單元1,轉(zhuǎn)發(fā)處理單元2,轉(zhuǎn)發(fā)處理單元3,轉(zhuǎn)發(fā)處理単元4,……,轉(zhuǎn)發(fā)處理單元31,轉(zhuǎn)發(fā)處理單元32,轉(zhuǎn)發(fā)處理單元33,轉(zhuǎn)發(fā)處理單元32+r均為轉(zhuǎn)發(fā)處理單元;bl, 1,bl,2,……,bl,n-1,bl,n ;b2, 1,b2,2,……,b2,n_l,b2,n ;b3, 1,
b3,2,......,b3,n-1, b3,n ;b4,1,b4,2,......,b4,n-1, b4,n ; ......;b32,1,b32,2,......,
b32,n_l,b32,n ;b33,l,b33,2,......,b33,n_l,b33,n ;b32+r, l,b32+r,2,......,b32+r,n-1,
b32+r, n的含義為來(lái)自數(shù)據(jù)緩存的η個(gè)32+r比特位并行數(shù)據(jù)和來(lái)自存儲(chǔ)介質(zhì)陣列的32+r個(gè)I比特位串行數(shù)據(jù)流;n的含義為存儲(chǔ)介質(zhì)的最小尋址單元,例如對(duì)于SATA或SAS硬盤(pán),η 為 512X8 = 4096。
具體實(shí)施例方式基于位的串行傳輸云存儲(chǔ)方法,該方法是采用如下步驟實(shí)現(xiàn)的
1)數(shù)據(jù)的并行寫(xiě)入接收來(lái)自數(shù)據(jù)緩存的K比特位并行數(shù)據(jù)流;以比特為分割単位,將接收到的ー個(gè)K比特位并行數(shù)據(jù)流轉(zhuǎn)換為K個(gè)I比特位串行數(shù)據(jù)流;將轉(zhuǎn)換后的K個(gè)I比特位串行數(shù)據(jù)流同時(shí)分別寫(xiě)入由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列;
2)數(shù)據(jù)的串行讀出讀出來(lái)自由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列的K個(gè)I比特位串行數(shù)據(jù)流;將讀出的K個(gè)I比特位串行數(shù)據(jù)流組裝成為ー個(gè)K比特位并行數(shù)據(jù)流;將組裝后的K比特位并行數(shù)據(jù)流發(fā)送至數(shù)據(jù)緩存;
所述步驟I) -2)中,計(jì)算機(jī)總線寬度假定為但不限于32,K=32Xm+r,且m是并行/串行數(shù)據(jù)流轉(zhuǎn)換的緩沖深度,r是RAID引入的冗余位數(shù)。所述步驟I)中,通過(guò)總線接ロ接收來(lái)自計(jì)算機(jī)總線的32比特位并行數(shù)據(jù);通過(guò)數(shù)據(jù)緩存對(duì)接收到的32比特位并行數(shù)據(jù)進(jìn)行m次緩沖;通過(guò)RAID部件對(duì)緩沖后的32Xm比特位并行數(shù)據(jù)生成r比特位冗余校驗(yàn)碼;將緩沖后的32Xm比特位并行數(shù)據(jù)與r比特位冗余校驗(yàn)碼一起組裝形成ー個(gè)K比特位并行數(shù)據(jù)流;通過(guò)并轉(zhuǎn)串電路將組裝形成的ー個(gè)K比特位并行數(shù)據(jù)流轉(zhuǎn)換為K個(gè)I比特位串行數(shù)據(jù)流;通過(guò)數(shù)據(jù)緩存將轉(zhuǎn)換后的K個(gè)I比特位串行數(shù)據(jù)流同時(shí)分別寫(xiě)入由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列;所述步驟2)中,通過(guò)數(shù)據(jù)緩存讀出來(lái)自由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列的K個(gè)I比特位串行數(shù)據(jù)流;通過(guò)串轉(zhuǎn)并電路將讀出的K個(gè)I比特位串行數(shù)據(jù)流組裝形成ー個(gè)K比特位并行數(shù)據(jù)流;通過(guò)RAID部件對(duì)組裝形成的K比特位并行數(shù)據(jù)流進(jìn)行檢測(cè);檢測(cè)無(wú)誤后,通過(guò)RAID部件去除K比特位并行數(shù)據(jù)流中的r比特位冗余校驗(yàn)碼;通過(guò)數(shù)據(jù)緩存將去除r比特位冗余校驗(yàn)碼后的K比特位并行數(shù)據(jù)流緩沖拆解為m個(gè)32比特位并行數(shù)據(jù);通過(guò)總線接ロ將緩沖拆解后的32比特位并行數(shù)據(jù)發(fā)送至計(jì)算機(jī)總線。所述步驟1)-2)中,存儲(chǔ)器可以是但不限于磁盤(pán)或內(nèi)存或Flash或RAM ;所述步驟
I)-2 )中,支持串行訪問(wèn)的接ロ可以是但不限于SATA接ロ或SAS接ロ?;谖坏拇袀鬏斣拼鎯?chǔ)裝置(該裝置用于實(shí)現(xiàn)本發(fā)明所述的基于位的串行傳輸 云存儲(chǔ)方法),包括總線接ロ、6-CSC控制器、并轉(zhuǎn)串電路、串轉(zhuǎn)并電路、數(shù)據(jù)緩存、K個(gè)轉(zhuǎn)發(fā)處理單元、以及由K個(gè)具有SATA接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列;其中,總線接ロ通過(guò)數(shù)據(jù)緩存分別與并轉(zhuǎn)串電路和串轉(zhuǎn)并電路連接;并轉(zhuǎn)串電路和串轉(zhuǎn)并電路均通過(guò)數(shù)據(jù)緩存與K個(gè)轉(zhuǎn)發(fā)處理單元連接;K個(gè)轉(zhuǎn)發(fā)處理單元與K個(gè)具有SATA接ロ的存儲(chǔ)器一一對(duì)應(yīng)連接;ゐ-CSC控制器分別與K個(gè)轉(zhuǎn)發(fā)處理單元連接。6-CSC控制器和K個(gè)轉(zhuǎn)發(fā)處理單元可以生成針對(duì)由各種具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列的控制命令和時(shí)序,包括但不限于針對(duì)由SATA接ロ或SAS接ロ組成的存儲(chǔ)介質(zhì)陣列的控制命令和時(shí)序。6-CSC控制器接收來(lái)自計(jì)算機(jī)總線的對(duì)存儲(chǔ)介質(zhì)陣列的控制命令、以及來(lái)自存儲(chǔ)介質(zhì)陣列和計(jì)算機(jī)總線的數(shù)據(jù),經(jīng)過(guò)必要的處理后實(shí)現(xiàn)存儲(chǔ)介質(zhì)陣列和計(jì)算機(jī)總線之間的冗余數(shù)據(jù)信息交換;當(dāng)進(jìn)行數(shù)據(jù)的并行寫(xiě)入?yún)迹?-CSC控制器首先將來(lái)自計(jì)算機(jī)總線的對(duì)存儲(chǔ)介質(zhì)陣列的寫(xiě)入控制命令分別映射為對(duì)K個(gè)具有SATA接ロ的存儲(chǔ)器的寫(xiě)入控制命令,然后將映射后的寫(xiě)入控制命令分別發(fā)送到K個(gè)轉(zhuǎn)發(fā)處理單元4-CSC控制器支持兩種寫(xiě)入控制命令第一種是塊寫(xiě)入控制命令,適用于大數(shù)據(jù)的存儲(chǔ);在塊寫(xiě)入控制命令下,一個(gè)邏輯塊的尺寸為ー個(gè)邏輯扇區(qū)尺寸的32Xm倍;第二種是扇區(qū)寫(xiě)入控制命令,適用于小數(shù)據(jù)或大數(shù)據(jù)的末端存儲(chǔ);扇區(qū)寫(xiě)入控制命令通過(guò)ー個(gè)塊讀出控制命令將存儲(chǔ)介質(zhì)陣列的32Xm個(gè)扇區(qū)數(shù)據(jù)讀出到緩沖區(qū),然后修改緩沖區(qū)的目標(biāo)數(shù)據(jù)區(qū),再通過(guò)塊寫(xiě)入控制命令將緩沖區(qū)的32Xm個(gè)扇區(qū)數(shù)據(jù)回寫(xiě)到存儲(chǔ)介質(zhì)陣列;當(dāng)進(jìn)行數(shù)據(jù)的串行讀出時(shí)A-CSC控制器支持塊讀出控制命令,一次將ー個(gè)32Xm個(gè)扇區(qū)的數(shù)據(jù)讀出到邏輯塊緩沖區(qū),然后將目標(biāo)數(shù)據(jù)區(qū)的內(nèi)容提交到計(jì)算機(jī)總線。還包括ー個(gè)RAID部件;RAID部件分別與數(shù)據(jù)緩存和總線接ロ連接;當(dāng)進(jìn)行數(shù)據(jù)的并行寫(xiě)入時(shí),RAID部件針對(duì)每組32 Xm比特位并行數(shù)據(jù)實(shí)時(shí)生成r比特位冗余校驗(yàn)碼,r比特位冗余校驗(yàn)碼與32Xm比特位并行數(shù)據(jù)一起組裝形成ー個(gè)K比特位并行數(shù)據(jù)流;組裝形成的K比特位并行數(shù)據(jù)流送入并轉(zhuǎn)串電路;當(dāng)進(jìn)行數(shù)據(jù)的串行讀出吋,RAID部件首先利用讀出的K比特位并行數(shù)據(jù)流中的r比特位冗余校驗(yàn)碼對(duì)32 Xm個(gè)比特有效數(shù)據(jù)位進(jìn)行實(shí)時(shí)糾錯(cuò),然后去除r比特位冗余校驗(yàn)碼,形成32Xm比特位并行數(shù)據(jù)。RAID部件可以按照兩種方式對(duì)存儲(chǔ)介質(zhì)陣列的意外故障進(jìn)行恢復(fù)第一種情況是對(duì)于r個(gè)冗余校驗(yàn)盤(pán)體發(fā)生的數(shù)據(jù)故障,RAID部件可以依據(jù)32Xm個(gè)有效數(shù)據(jù)盤(pán)體的數(shù)據(jù)重新生成冗余校驗(yàn)碼流,寫(xiě)入替換后的完好盤(pán)體中;第二種情況是對(duì)于32Xm個(gè)有效數(shù)據(jù)盤(pán)體中不超過(guò)r個(gè)盤(pán)體同時(shí)發(fā)生的數(shù)據(jù)故障,RAID部件可以依據(jù)r個(gè)冗余校驗(yàn)碼流和32Xm個(gè)有效數(shù)據(jù)盤(pán)體中未發(fā)生故障的有效數(shù)據(jù)重新生成正確的恢復(fù)數(shù)據(jù)流,寫(xiě)入替換后的完好盤(pán)體中。
具體實(shí)施時(shí),如圖I所示,K=32+r (即m=l),r是正整數(shù)。RAID部件包含RAID校驗(yàn)編碼単元和RAID校驗(yàn)解碼単元,RAID校驗(yàn)編碼単元和RAID校驗(yàn)解碼単元均分別與數(shù)據(jù)緩存和總線接ロ連接。
權(quán)利要求
1.一種基于位的串行傳輸云存儲(chǔ)方法,其特征在于該方法是采用如下步驟實(shí)現(xiàn)的 1)數(shù)據(jù)的并行寫(xiě)入接收來(lái)自數(shù)據(jù)緩存的K比特位并行數(shù)據(jù)流;以比特為分割単位,將接收到的ー個(gè)K比特位并行數(shù)據(jù)流轉(zhuǎn)換為K個(gè)I比特位串行數(shù)據(jù)流;將轉(zhuǎn)換后的K個(gè)I比特位串行數(shù)據(jù)流同時(shí)分別寫(xiě)入由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列; 2)數(shù)據(jù)的串行讀出讀出來(lái)自由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列的K個(gè)I比特位串行數(shù)據(jù)流;將讀出的K個(gè)I比特位串行數(shù)據(jù)流組裝成為ー個(gè)K比特位并行數(shù)據(jù)流;將組裝后的K比特位并行數(shù)據(jù)流發(fā)送至數(shù)據(jù)緩存; 所述步驟I)-2)中,計(jì)算機(jī)總線寬度假定為但不限于32,K=32Xm+r,且m是并行/串行數(shù)據(jù)流轉(zhuǎn)換的緩沖深度,r是RAID引入的冗余位數(shù)。
2.根據(jù)權(quán)利要求I所述的基于位的串行傳輸云存儲(chǔ)方法,其特征在于 所述步驟I)中,通過(guò)總線接ロ接收來(lái)自計(jì)算機(jī)總線的32比特位并行數(shù)據(jù);通過(guò)數(shù)據(jù)緩存對(duì)接收到的32比特位并行數(shù)據(jù)進(jìn)行m次緩沖;通過(guò)RAID部件對(duì)緩沖后的32 Xm比特位并行數(shù)據(jù)生成r比特位冗余校驗(yàn)碼;將緩沖后的32Xm比特位并行數(shù)據(jù)與r比特位冗余校驗(yàn)碼一起組裝形成ー個(gè)K比特位并行數(shù)據(jù)流;通過(guò)并轉(zhuǎn)串電路將組裝形成的ー個(gè)K比特位并行數(shù)據(jù)流轉(zhuǎn)換為K個(gè)I比特位串行數(shù)據(jù)流;通過(guò)數(shù)據(jù)緩存將轉(zhuǎn)換后的K個(gè)I比特位串行數(shù)據(jù)流同時(shí)分別寫(xiě)入由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列;所述步驟2)中,通過(guò)數(shù)據(jù)緩存讀出來(lái)自由K個(gè)具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列的K個(gè)I比特位串行數(shù)據(jù)流;通過(guò)串轉(zhuǎn)并電路將讀出的K個(gè)I比特位串行數(shù)據(jù)流組裝形成ー個(gè)K比特位并行數(shù)據(jù)流;通過(guò)RAID部件對(duì)組裝形成的K比特位并行數(shù)據(jù)流進(jìn)行檢測(cè);檢測(cè)無(wú)誤后,通過(guò)RAID部件去除K比特位并行數(shù)據(jù)流中的r比特位冗余校驗(yàn)碼;通過(guò)數(shù)據(jù)緩存將去除r比特位冗余校驗(yàn)碼后的K比特位并行數(shù)據(jù)流緩沖拆解為m個(gè)32比特位并行數(shù)據(jù);通過(guò)總線接ロ將緩沖拆解后的32比特位并行數(shù)據(jù)發(fā)送至計(jì)算機(jī)總線。
3.根據(jù)權(quán)利要求I或2所述的基于位的串行傳輸云存儲(chǔ)方法,其特征在于所述步驟I) -2)中,存儲(chǔ)器可以是但不限于磁盤(pán)或內(nèi)存或Flash或RAM ;所述步驟I) _2)中,支持串行訪問(wèn)的接ロ可以是但不限于SATA接ロ或SAS接ロ。
4.一種基于位的串行傳輸云存儲(chǔ)裝置,該裝置用于實(shí)現(xiàn)如權(quán)利要求3所述的基于位的串行傳輸云存儲(chǔ)方法,其特征在于包括總線接ロ、み-CSC控制器、并轉(zhuǎn)串電路、串轉(zhuǎn)并電路、數(shù)據(jù)緩存、K個(gè)轉(zhuǎn)發(fā)處理單元、以及由K個(gè)具有SATA接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列;其中,總線接ロ通過(guò)數(shù)據(jù)緩存分別與并轉(zhuǎn)串電路和串轉(zhuǎn)并電路連接;并轉(zhuǎn)串電路和串轉(zhuǎn)并電路均通過(guò)數(shù)據(jù)緩存與K個(gè)轉(zhuǎn)發(fā)處理單元連接;K個(gè)轉(zhuǎn)發(fā)處理單元與K個(gè)具有SATA接ロ的存儲(chǔ)器一一對(duì)應(yīng)連接4-csc控制器分別與K個(gè)轉(zhuǎn)發(fā)處理單元連接。
5.根據(jù)權(quán)利要求4所述的基于位的串行傳輸云存儲(chǔ)裝置,其特征在于4-CSC控制器和K個(gè)轉(zhuǎn)發(fā)處理單元可以生成針對(duì)由各種具有支持串行訪問(wèn)的接ロ的存儲(chǔ)器組成的存儲(chǔ)介質(zhì)陣列的控制命令和時(shí)序,包括但不限于針對(duì)由SATA接ロ或SAS接ロ組成的存儲(chǔ)介質(zhì)陣列的控制命令和時(shí)序。
6.根據(jù)權(quán)利要求5所述的基于位的串行傳輸云存儲(chǔ)裝置,其特征在于4-CSC控制器接收來(lái)自計(jì)算機(jī)總線的對(duì)存儲(chǔ)介質(zhì)陣列的控制命令、以及來(lái)自存儲(chǔ)介質(zhì)陣列和計(jì)算機(jī)總線的數(shù)據(jù),經(jīng)過(guò)必要的處理后實(shí)現(xiàn)存儲(chǔ)介質(zhì)陣列和計(jì)算機(jī)總線之間的冗余數(shù)據(jù)信息交換;當(dāng)進(jìn)行數(shù)據(jù)的并行寫(xiě)入?yún)迹?-CSC控制器首先將來(lái)自計(jì)算機(jī)總線的對(duì)存儲(chǔ)介質(zhì)陣列的寫(xiě)入控制命令分別映射為對(duì)K個(gè)具有SATA接ロ的存儲(chǔ)器的寫(xiě)入控制命令,然后將映射后的寫(xiě)入控制命令分別發(fā)送到K個(gè)轉(zhuǎn)發(fā)處理單元4-CSC控制器支持兩種寫(xiě)入控制命令第一種是塊寫(xiě)入控制命令,適用于大數(shù)據(jù)的存儲(chǔ);在塊寫(xiě)入控制命令下,ー個(gè)邏輯塊的尺寸為ー個(gè)邏輯扇區(qū)尺寸的32Xm倍;第二種是扇區(qū)寫(xiě)入控制命令,適用于小數(shù)據(jù)或大數(shù)據(jù)的末端存儲(chǔ);扇區(qū)寫(xiě)入控制命令通過(guò)ー個(gè)塊讀出控制命令將存儲(chǔ)介質(zhì)陣列的32Xm個(gè)扇區(qū)數(shù)據(jù)讀出到緩沖區(qū),然后修改緩沖區(qū)的目標(biāo)數(shù)據(jù)區(qū),再通過(guò)塊寫(xiě)入控制命令將緩沖區(qū)的32Xm個(gè)扇區(qū)數(shù)據(jù)回寫(xiě)到存儲(chǔ)介質(zhì)陣列;當(dāng)進(jìn)行數(shù)據(jù)的串行讀出吋,6-CSC控制器支持塊讀出控制命令,一次將ー個(gè)32Xm個(gè)扇區(qū)的數(shù)據(jù)讀出到邏輯塊緩沖區(qū),然后將目標(biāo)數(shù)據(jù)區(qū)的內(nèi)容提交到計(jì)算機(jī)總線。
7.根據(jù)權(quán)利要求4或5或6所述的基于位的串行傳輸云存儲(chǔ)裝置,其特征在于還包括ー個(gè)RAID部件;RAID部件分別與數(shù)據(jù)緩存和總線接ロ連接;當(dāng)進(jìn)行數(shù)據(jù)的并行寫(xiě)入?yún)?,RAID部件針對(duì)每組32Xm比特位并行數(shù)據(jù)實(shí)時(shí)生成r比特位冗余校驗(yàn)碼,r比特位冗余校驗(yàn)碼與32Xm比特位并行數(shù)據(jù)一起組裝形成ー個(gè)K比特位并行數(shù)據(jù)流;組裝形成的K比特位并行數(shù)據(jù)流送入并轉(zhuǎn)串電路;當(dāng)進(jìn)行數(shù)據(jù)的串行讀出吋,RAID部件首先利用讀出的K比特位并行數(shù)據(jù)流中的r比特位冗余校驗(yàn)碼對(duì)32Xm個(gè)比特有效數(shù)據(jù)位進(jìn)行實(shí)時(shí)糾錯(cuò),然后去除r比特位冗余校驗(yàn)碼,形成32Xm比特位并行數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的基于位的串行傳輸云存儲(chǔ)裝置,其特征在于RAID部件可以按照兩種方式對(duì)存儲(chǔ)介質(zhì)陣列的意外故障進(jìn)行恢復(fù)第一種情況是對(duì)于r個(gè)冗余校驗(yàn)盤(pán)體發(fā)生的數(shù)據(jù)故障,RAID部件可以依據(jù)32Xm個(gè)有效數(shù)據(jù)盤(pán)體的數(shù)據(jù)重新生成冗余校驗(yàn)碼流,寫(xiě)入替換后的完好盤(pán)體中;第二種情況是對(duì)于32Xm個(gè)有效數(shù)據(jù)盤(pán)體中不超過(guò)r個(gè)盤(pán)體同時(shí)發(fā)生的數(shù)據(jù)故障,RAID部件可以依據(jù)r個(gè)冗余校驗(yàn)碼流和32Xm個(gè)有效數(shù)據(jù)盤(pán)體中未發(fā)生故障的有效數(shù)據(jù)重新生成正確的恢復(fù)數(shù)據(jù)流,寫(xiě)入替換后的完好盤(pán)體中。
全文摘要
本發(fā)明涉及信息存儲(chǔ)技術(shù),具體是一種基于位的串行傳輸云存儲(chǔ)方法及裝置。本發(fā)明解決了現(xiàn)有數(shù)據(jù)存儲(chǔ)介質(zhì)陣列模式無(wú)法從根本上消除多個(gè)存儲(chǔ)器的總線競(jìng)爭(zhēng)、以及容易導(dǎo)致負(fù)載不均衡的問(wèn)題?;谖坏拇袀鬏斣拼鎯?chǔ)方法,該方法是采用如下步驟實(shí)現(xiàn)的1)數(shù)據(jù)的并行寫(xiě)入以比特為分割單位,將接收到的一個(gè)K比特位并行數(shù)據(jù)流轉(zhuǎn)換為K個(gè)1比特位串行數(shù)據(jù)流;2)數(shù)據(jù)的串行讀出將讀出的K個(gè)1比特位串行數(shù)據(jù)流組裝成為一個(gè)K比特位并行數(shù)據(jù)流。本發(fā)明適用于對(duì)各種具有支持串行訪問(wèn)的接口的存儲(chǔ)介質(zhì)陣列進(jìn)行數(shù)據(jù)存儲(chǔ),尤其適用于海量數(shù)據(jù)存儲(chǔ)。
文檔編號(hào)G06F13/38GK102693096SQ201210152420
公開(kāi)日2012年9月26日 申請(qǐng)日期2012年5月17日 優(yōu)先權(quán)日2012年5月17日
發(fā)明者常青, 張剛, 張利, 張勝, 王耀力 申請(qǐng)人:山西達(dá)鑫核科技有限公司