一種存取實(shí)時(shí)并行處理的固態(tài)記錄裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,尤其涉及固態(tài)記錄儀領(lǐng)域,特別涉及一種存取實(shí)時(shí)并行處理的固態(tài)記錄裝置及方法。
【背景技術(shù)】
[0002]現(xiàn)有的數(shù)據(jù)存儲(chǔ)技術(shù),包括:開放式磁盤類存儲(chǔ)技術(shù)、封閉式記錄儀存儲(chǔ)技術(shù)。
[0003]開放式磁盤類存儲(chǔ)技術(shù),其典型產(chǎn)品如固態(tài)盤、DAS/SAN/NAS磁盤陣列等,常用于計(jì)算機(jī)、服務(wù)器的文件系統(tǒng)數(shù)據(jù)存儲(chǔ),一般采用單一單板機(jī)通訊接口如PCIe、SAT/SAS、FC、LAN等,采用多存儲(chǔ)媒介并行存取具有高突發(fā)速率的特點(diǎn),擴(kuò)展較易實(shí)現(xiàn),但不能滿足連續(xù)高速實(shí)時(shí)存取的需求;且由于存儲(chǔ)陣列為單一臨界資源拓?fù)浣Y(jié)構(gòu),記錄與讀取操作無法同時(shí)進(jìn)行,從而不支持存取的并行處理。如2014年08月13日授權(quán)公告的、公告號(hào)為CN101178933B、名稱為“一種閃存陣列裝置”。
[0004]封閉式記錄儀存儲(chǔ)技術(shù),除了單板機(jī)通訊接口外,一般提供一種或多種外部專用通訊接口,外設(shè)通過記錄儀的外設(shè)專用通訊接口進(jìn)行數(shù)據(jù)的存取,線性地址連續(xù)寫入或讀取,不需要文件系統(tǒng)支持,具有連續(xù)實(shí)時(shí)高速存取的特點(diǎn),但存儲(chǔ)陣列結(jié)構(gòu)仍然為單一臨界資源拓?fù)浣Y(jié)構(gòu),因而也不支持存取的并行處理,且由于其封閉性,速率和容量的擴(kuò)展能力有限。如2008年01月30日授權(quán)公告的、公告號(hào)為CN10365599C、名稱為“用于數(shù)字信號(hào)處理機(jī)實(shí)時(shí)數(shù)據(jù)記錄的閃存陣列存儲(chǔ)方法及其裝置”,以及2008年06月第30卷第6期《現(xiàn)代雷達(dá)》發(fā)表的、名稱為“可擴(kuò)展的VXS總線固態(tài)記錄設(shè)備”。
[0005]雷達(dá)、軟件無線電、無線電技術(shù)偵查等RF低通采樣或RF帶通采樣無線電,數(shù)據(jù)采樣率可達(dá)數(shù)百M(fèi)S/s或GS/s以上,數(shù)據(jù)吞吐率很高,這些高速無線電產(chǎn)品在開發(fā)、評(píng)估階段,通常需要提供實(shí)時(shí)、連續(xù)、高速的激勵(lì)和測(cè)試數(shù)據(jù)存儲(chǔ)系統(tǒng);一些電子產(chǎn)品,如高清/高速圖像采錄設(shè)備,要求采集的同時(shí)執(zhí)行非線性回放。這些種情況都需要一種支持存取實(shí)時(shí)并行處理的固態(tài)存儲(chǔ)技術(shù)。
[0006]考慮以上情況,無線電產(chǎn)品在開發(fā)、評(píng)估,以及要求數(shù)據(jù)采集的同時(shí)執(zhí)行非線性回放的電子產(chǎn)品,期望的是支持存取實(shí)時(shí)并行處理、速率和容量可以靈活配置和擴(kuò)展的固態(tài)記錄裝置。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于克服現(xiàn)有存儲(chǔ)技術(shù)的不足,提供一種存取實(shí)時(shí)并行處理的固態(tài)記錄裝置及方法,支持存取實(shí)時(shí)并行處理,以及靈活擴(kuò)展固態(tài)記錄裝置的速率和容量。
[0008]本發(fā)明一種存取實(shí)時(shí)并行處理的固態(tài)記錄裝置,其特征在于,包括:一存取并行處理固態(tài)記錄系統(tǒng)控制卡(以下簡稱系統(tǒng)控制卡)、多個(gè)存取并行處理固態(tài)存儲(chǔ)卡(以下簡稱固態(tài)存儲(chǔ)卡)、一單板機(jī);
[0009]系統(tǒng)控制卡通過前面板或背板的外設(shè)專用通信接口與采集、回放外設(shè)相連,通過多通道高速存取通信接口與多個(gè)固態(tài)存儲(chǔ)卡相連;通過系統(tǒng)控制卡,在采集、回放外設(shè)與固態(tài)存儲(chǔ)卡之間建立讀、寫兩條獨(dú)立數(shù)據(jù)鏈路,且讀、寫操作并行處理;
[0010]單板機(jī)通過管理接口控制器與系統(tǒng)控制卡、固態(tài)存儲(chǔ)卡相連,并對(duì)其進(jìn)行檢測(cè)、配置和監(jiān)控管理。
[0011]其中,所述的系統(tǒng)控制卡,采用全硬線設(shè)計(jì),包括外設(shè)專用通信接口、多通道高速存取通信接口、存取并行處理控制器、高速緩存,以及配置存儲(chǔ)器;
[0012]所述外設(shè)專用通信接口包括采集外設(shè)通信接口和回放外設(shè)通信接口,分別與采集、回放外設(shè)相連,用于信源數(shù)據(jù)的存儲(chǔ)與回放,具體采用2種形式:
[0013](I)前面板外設(shè)專用通信接口,采用外設(shè)通信協(xié)議,通過光纜或電纜與外置式采集/回放外設(shè)相連;
[0014](2)背板外設(shè)專用通信接口,通過背板與內(nèi)置式采集、回放外設(shè)通信控制器電氣性相連;
[0015]所述多通道高速存取通信接口采用多通道全雙工高速串行通信接口,與多個(gè)固態(tài)存儲(chǔ)卡相連,采用2種形式:
[0016](I)前面板多通道高速存取通信接口,采用SFP+/Mini SAS多通道高速串行通信接口 FMC模塊,再通過光纜或電纜,與多個(gè)固態(tài)存儲(chǔ)卡相連;
[0017](2)背板多通道高速存取通信接口,采用多通道高速串行通信接口,再通過背板與多個(gè)固態(tài)存儲(chǔ)卡電氣性相連;
[0018]所述存取并行處理控制器,包括采集/回放外設(shè)通信控制器、多通道高速存取通信控制器、管理接口控制器、地址管理器、數(shù)據(jù)管理器、配置控制器,與外設(shè)專用通信接口、高速存取通信接口、高速緩存、配置存儲(chǔ)器等相連,用于存取固態(tài)記錄裝置的地址、數(shù)據(jù)鏈路和數(shù)據(jù)幀的系統(tǒng)管理;
[0019]其中,所述地址管理器,包括寫操作LA/LBA(Logic Block Address,邏輯區(qū)塊地址)生成器、寫操作LBA寄存器、讀偏移寄存器、讀邏輯地址LA (Logic Address,邏輯地址)寄存器、固態(tài)存儲(chǔ)卡容量寄存器組、RAID模式寄存器、地址處理控制器;用于寫操作LBA生成、讀邏輯地址計(jì)算、高速緩存的讀指針初始化和生成控制、板級(jí)地址查找、數(shù)據(jù)的分流與聚合模式控制等;
[0020]其中,所述數(shù)據(jù)管理器,包括數(shù)據(jù)幀格式化與分流、數(shù)據(jù)聚合、采集數(shù)據(jù)緩沖器、緩存控制器,用于外設(shè)數(shù)據(jù)的幀格式化與分流、固態(tài)存儲(chǔ)卡讀取數(shù)據(jù)聚合的并行處理;
[0021]所述高速緩存,采用QDR SRAM存儲(chǔ)媒介,存儲(chǔ)媒介的容量分別大于等于N個(gè)邏輯區(qū)塊大小,用于緩存采集外設(shè)或固態(tài)存儲(chǔ)卡發(fā)來的數(shù)據(jù),其中N大于等于2 ;
[0022]所述配置存儲(chǔ)器,采用非易失存儲(chǔ)器,用于記錄外設(shè)專用通信接口通道數(shù)及速率、固態(tài)存儲(chǔ)卡數(shù)量及容量、RAID模式、最新寫操作LBA、高速存取通道數(shù)、高速存取速率等系統(tǒng)參數(shù),上電時(shí)將這些系統(tǒng)參數(shù)從配置存儲(chǔ)器加載到上述相應(yīng)的寄存器。
[0023]所述的固態(tài)存儲(chǔ)卡,采用全硬線設(shè)計(jì),包括高速存取通信接口、通信與讀寫并行處理控制器,塊映射表存、邏輯區(qū)塊映射表,四個(gè)獨(dú)立的閃存陣列、四個(gè)獨(dú)立的閃存陣列控制器,以及配置存儲(chǔ)器;
[0024]所述高速存取通信接口,采用全雙工高速串行通信接口,與系統(tǒng)控制卡相連,用于數(shù)據(jù)幀的收發(fā)傳輸,采用以下2種形式:
[0025](I)前面板高速存取通信接口,采用SFP+、Mini SAS高速串行通信接口 FMC模塊,通過光纜或Mini SAS電纜與系統(tǒng)控制卡相連;
[0026](2)背板高速存取通信接口,采用高速串行通信接口,通過背板與系統(tǒng)控制卡電氣性相連;
[0027]所述通信與讀寫并行處理控制器,包括地址存儲(chǔ)控制器、讀寫并行處理控制器、高速存取通信控制器、管理接口控制器,以及局部總線控制器,與高速存取通信接口、塊映射表、邏輯區(qū)塊映射表、四個(gè)獨(dú)立閃存陣列控制器相連,用于數(shù)據(jù)通信、地址、數(shù)據(jù)鏈路、數(shù)據(jù)幀、閃存訪問、單板機(jī)配置與監(jiān)控的實(shí)時(shí)并行處理;其中,讀寫并行處理控制器包括讀寫并行處理狀態(tài)機(jī)、數(shù)據(jù)幀格式化與調(diào)度器、寫緩沖器、讀緩沖器,以及四通道寫次數(shù)寄存器組、寫LBA_1、寫PBA、當(dāng)前讀LBA_1、當(dāng)前讀PBA、下一次讀LAB_1等寄存器;地址存儲(chǔ)控制器,用于邏輯區(qū)塊映射表、塊映射表的讀寫控制,同時(shí)與讀寫并行處理控制器相連,使得固態(tài)存儲(chǔ)卡和單板機(jī)能對(duì)塊映射表和邏輯區(qū)塊映射表進(jìn)行管理;
[0028]所述邏輯區(qū)塊映射表,采用非易失性存儲(chǔ)器和SRAM,用于執(zhí)行寫操作時(shí),快速記錄閃存陣列的邏輯區(qū)塊地址LBA的一次映射LBA_1,根據(jù)LBA對(duì)其快速尋址;LBA_1的最高位作為閃存編程時(shí)發(fā)生錯(cuò)誤的標(biāo)志位,“I”為錯(cuò)誤;其中,非易失性存儲(chǔ)器用于掉電保存,上電后加載到SRAM,以快速訪問;
[0029]所述塊映射表,采用SRAM,用于存儲(chǔ)固態(tài)存儲(chǔ)卡的所有塊的重映射,使用一次映射LBA_1形成塊地址BA (Block Address),對(duì)其快速尋址;單板機(jī)上的管理軟件在對(duì)固態(tài)存儲(chǔ)卡完成創(chuàng)建塊重映射列表后,經(jīng)由管理接口控制器創(chuàng)建或更新塊映射表;當(dāng)執(zhí)行數(shù)據(jù)存取操作時(shí),讀寫并行處理控制器對(duì)其進(jìn)行讀取操作;
[0030]所述四個(gè)獨(dú)立的閃存陣列,構(gòu)成四個(gè)獨(dú)立動(dòng)態(tài)臨界資源,且在任何時(shí)候都至少存在二個(gè)空閑臨界資源,每組閃存陣列對(duì)應(yīng)一個(gè)獨(dú)立閃存陣列控制器,從而構(gòu)成四個(gè)獨(dú)立訪問通道,在任意時(shí)刻,至少有2個(gè)通道處于空閑狀態(tài);
[0031]所述四個(gè)獨(dú)立的閃存陣列控制器,采用交替die(晶元)、mult1-plane、cacheP1gram模式對(duì)閃存陣列執(zhí)行多級(jí)流水線的ECC、讀/編程、狀態(tài)寄存器讀取等操作;
[0032]所述的配置存儲(chǔ)器,用于記錄高速存取通信接口速率、讀/寫緩存容量、閃存陣列的布局參數(shù)、閃存芯片的結(jié)構(gòu)參數(shù)等系統(tǒng)配置參數(shù)。
[0033]所述的閃存陣列,采用MXN晶元陣列布局,其中,N由存取帶寬和I/O位寬決定,M由四通道閃存陣列讀/寫操作的實(shí)時(shí)連續(xù)性決定;閃存陣列控制器采用交替die (晶元)、mult1-plane、cache program模式對(duì)與之相連的閃存陣列實(shí)施M級(jí)流水線讀/寫操作,當(dāng)對(duì)某通道的MXN晶元陣列執(zhí)行最后一級(jí)流水線寫操作的編程操作時(shí),第一級(jí)流水線寫操作的編程已經(jīng)完成處于空閑狀態(tài)可以被繼續(xù)用于執(zhí)行讀/寫操作,盡管第二級(jí)N個(gè)晶元的編程可能還在進(jìn)行。
[0034]其中,所述的M級(jí)流水線讀/寫操作,每次訪問M X aN的頁陣列,這M X aN頁陣列為一個(gè)區(qū)塊,區(qū)塊中各頁的編號(hào)相同,區(qū)塊地址LBA= {邏輯塊索引,邏輯頁索引,邏輯通道索引},區(qū)塊大小為MXaNXP,其中,P為頁大小,單位為字節(jié);LBA對(duì)應(yīng)的PBA= {物理通道索引,MXaN個(gè)物理塊索引,物理頁索引},其中,M、N為MXN晶元陣列的布局參數(shù),a為每個(gè)晶元中plane的個(gè)數(shù)。
[0035]進(jìn)一步的,本發(fā)明還可以利用所述的多個(gè)固態(tài)記錄裝置可組成一個(gè)存取實(shí)時(shí)并行處理固態(tài)記錄系統(tǒng),主系統(tǒng)控制卡安裝于計(jì)算機(jī)中,通過前面板的多通道存取通信接口,與各固態(tài)記錄裝置中從屬系統(tǒng)控制卡的外設(shè)專用通信接口相連,具有裝置級(jí)的RAID O、RAID1、RAID 10工作模式,實(shí)現(xiàn)存儲(chǔ)速率和容量的擴(kuò)展。
[0036]更進(jìn)一步的,本發(fā)明還提供一種利用固態(tài)記錄裝置進(jìn)行存取實(shí)時(shí)并行處理的方法,其特征在于,包括以下步驟:
[0037](I)、系統(tǒng)參數(shù)加載,寄存器初始化
[0038]上電后,單板機(jī)上的管理軟件從系統(tǒng)控制卡、固態(tài)存儲(chǔ)卡的配置存儲(chǔ)器獲得配置參數(shù),配置到系統(tǒng)控制卡的相應(yīng)寄存器,初始化系統(tǒng)控制卡的LA/LBA生成器、固態(tài)存儲(chǔ)卡的四通道寫次數(shù)寄存器組,如果需要執(zhí)行壞塊檢測(cè)與塊擦除處理,執(zhí)行步驟(2),如果不需要,執(zhí)行步驟⑷;
[0039](2)、固態(tài)存儲(chǔ)卡進(jìn)行壞塊檢測(cè)處理
[0040]2.1)、管理軟件對(duì)每個(gè)固態(tài)存儲(chǔ)卡進(jìn)行壞塊檢測(cè),獲得每個(gè)固態(tài)存儲(chǔ)卡的壞塊列表,生成壞塊列表文件,如果不需要執(zhí)行擦除操作,執(zhí)行步驟2.3),如果需要執(zhí)行擦除操作,執(zhí)行步驟2.2);
[0041]2.2)、管理軟件對(duì)需要擦除的固態(tài)存儲(chǔ)卡上各晶元的塊執(zhí)行擦除操作,如果某塊的擦除操作失敗,在該塊的第一頁的備用區(qū)建立壞塊標(biāo)記,如果所有需要執(zhí)行擦除操作的固態(tài)存儲(chǔ)