可編程技術(shù)釋放了閃存在企業(yè)級(jí)應(yīng)用的潛能
當(dāng)今的企業(yè)級(jí)存儲(chǔ)子系統(tǒng)正面臨實(shí)質(zhì)性的變革。大量的企業(yè)數(shù)據(jù)和交易信息每年都會(huì)增加50-60%。云計(jì)算和虛擬化功能的快速發(fā)展能夠更有效的管理這些越來(lái)越多的數(shù)據(jù)負(fù)載,導(dǎo)致數(shù)據(jù)中心的數(shù)量和規(guī)模都出現(xiàn)了爆炸式的增長(zhǎng)。隨著企業(yè)級(jí)存儲(chǔ)呈指數(shù)增長(zhǎng),迫切需要提高存儲(chǔ)器子系統(tǒng)的性能、容量和價(jià)值。
系統(tǒng)管理人員發(fā)現(xiàn),主要依靠硬盤介質(zhì)的傳統(tǒng)存儲(chǔ)體系結(jié)構(gòu)在性能上無(wú)法滿足當(dāng)今工作負(fù)載的需求。應(yīng)用規(guī)劃人員的反應(yīng)是,采用整體分析方法對(duì)存儲(chǔ)器進(jìn)行規(guī)劃,在企業(yè)領(lǐng)域結(jié)合了傳統(tǒng)的存儲(chǔ)介質(zhì)和新介質(zhì)——閃存。消費(fèi)類器件一直以來(lái)采用的存儲(chǔ)器介質(zhì)是NAND閃存,在企業(yè)級(jí)應(yīng)用中,其性能比硬盤驅(qū)動(dòng)器(HDD)高出10至100倍。閃存也是高性價(jià)比的非易失存儲(chǔ)介質(zhì),常用于數(shù)據(jù)應(yīng)用中。通過使用閃存陣列,企業(yè)能夠大幅度減小存儲(chǔ)體積、CPU的數(shù)量以及軟件許可數(shù)量,從而降低了數(shù)據(jù)中心運(yùn)行所需的總功耗、空間和運(yùn)營(yíng)成本。
這一高性能存儲(chǔ)器子系統(tǒng)的核心是基于PLD的可編程狀態(tài)機(jī)(PSM)。PSM支持RAID算法(保證數(shù)據(jù)完整性所必須的)、存儲(chǔ)器控制和高速I/O功能。由于其內(nèi)在的設(shè)計(jì)靈活性、嵌入式處理器、硬核存儲(chǔ)器控制器以及高速串行I/O模塊,可編程邏輯器件在實(shí)現(xiàn)這些狀態(tài)機(jī)方面獨(dú)具優(yōu)勢(shì)。基于PLD的PSM所支持的閃存體系結(jié)構(gòu)平衡了數(shù)據(jù)完整性、系統(tǒng)更新和可服務(wù)能力的性能要求,從而幫助數(shù)據(jù)中心管理人員滿足日益增長(zhǎng)的存儲(chǔ)資源需求。
利用存儲(chǔ)層次結(jié)構(gòu)
可以把某些存儲(chǔ)子系統(tǒng)中的各種類型的存儲(chǔ)器及其扮演的角色看成是一種層次結(jié)構(gòu),按照性能、成本和容量來(lái)排列(圖1)。按性能排列,其最高端是嵌入式處理器存儲(chǔ)器和L1/L2高速緩存。相對(duì)的另一端是磁帶備份,其容量非常大,而成本很低,但是速度很慢。其間是存儲(chǔ)子系統(tǒng)的主要介質(zhì):相對(duì)較快但是昂貴的DRAM、有些慢但是相對(duì)低廉而容量較大的Flash RAM,以及HDD——存儲(chǔ)器系統(tǒng)中傳統(tǒng)上主要的存儲(chǔ)介質(zhì)。
圖1:存儲(chǔ)器類型層次結(jié)構(gòu)。
當(dāng)今的存儲(chǔ)體系結(jié)構(gòu)混合了這一層次結(jié)構(gòu)中的各類存儲(chǔ)器。有些系統(tǒng)可能含有幾類存儲(chǔ)器,而其他的則只是一兩類。某一系統(tǒng)中所含有的存儲(chǔ)器類型及其數(shù)量取決于數(shù)據(jù)量、處理工作負(fù)載以及其他因素。對(duì)于企業(yè)級(jí)數(shù)據(jù)中心等需要大量數(shù)據(jù)和I/O的應(yīng)用,需要采用較多的存儲(chǔ)器類型。HDD存儲(chǔ)器一直是而且今后仍然是主要的數(shù)據(jù)存儲(chǔ)和訪問介質(zhì)。但是,對(duì)于性能要求很高的關(guān)鍵任務(wù)應(yīng)用,閃存由于其優(yōu)異的性能和具有競(jìng)爭(zhēng)優(yōu)勢(shì)的價(jià)格,替代了傳統(tǒng)的旋轉(zhuǎn)存儲(chǔ)介質(zhì)。
企業(yè)級(jí)應(yīng)用的閃存
在企業(yè)級(jí)存儲(chǔ)系統(tǒng)中引入閃存并非一蹴而就??煽啃砸恢笔欠恋K閃存在企業(yè)級(jí)應(yīng)用的一個(gè)問題。在消費(fèi)類產(chǎn)品中,從蜂窩電話到PC,廣泛而又成功的應(yīng)用閃存在一定程度上解決了這類問題。雖然在消費(fèi)類應(yīng)用中得到了驗(yàn)證,但是,很多企業(yè)級(jí)應(yīng)用的特性,例如,金融交易處理等,都要求確保數(shù)據(jù)的完整性。通過在基于閃存的系統(tǒng)設(shè)計(jì)中采用RAID算法,即使是最敏感的應(yīng)用,也能夠保證數(shù)據(jù)完整性。
系統(tǒng)規(guī)劃人員還需要在各種類型的閃存中進(jìn)行選擇。目前有兩種常用的閃存:多層電荷(MLC閃存)和單層電荷(SLC閃存)。MLC閃存支持兩種以上的狀態(tài),而SLC只支持兩種。MLC價(jià)格也低于SLC。由于MLC閃存的電壓狀態(tài)會(huì)漂移,因此,很多企業(yè)級(jí)應(yīng)用的開發(fā)人員傾向于采用更可靠、成本更高一些的SLC閃存。開發(fā)人員在企業(yè)級(jí)應(yīng)用中通過軟件找到了利用更經(jīng)濟(jì)的MLC閃存的方法??梢圆捎肦AID算法和增強(qiáng)ECC保護(hù)功能來(lái)降低MLC可靠性帶來(lái)的風(fēng)險(xiǎn)。
除了閃存,新類型的存儲(chǔ)器也在不斷發(fā)展。相變存儲(chǔ)器的開關(guān)時(shí)間比閃存更短,而且更靈活,目前還處于發(fā)展初期。PCM技術(shù)目前的容量還不及閃存,但在企業(yè)級(jí)存儲(chǔ)器應(yīng)用中,最終有可能成為可實(shí)施的選擇。為能夠管理多種類型的存儲(chǔ)器,并且采用新技術(shù),在存儲(chǔ)器陣列子系統(tǒng)設(shè)計(jì)中,非常有必要采用靈活而且適應(yīng)能力很強(qiáng)的可編程邏輯器件進(jìn)行存儲(chǔ)器控制和管理。
另一考慮是閃存訪問速度。一般而言,I/O和訪問速度是存儲(chǔ)器系統(tǒng)性能的限制因素。支持PCI Express(PCIe)等標(biāo)準(zhǔn)是非常關(guān)鍵的,這些標(biāo)準(zhǔn)在服務(wù)器群和系統(tǒng)之間提供了高效的管道。而這些標(biāo)準(zhǔn)與其對(duì)應(yīng)的存儲(chǔ)器類型一樣,發(fā)展都非常快。因此,任何基于閃存的子系統(tǒng)都應(yīng)該考慮這種發(fā)展趨勢(shì)。PLD,特別是提供PCIe內(nèi)核以及其他優(yōu)化接口的PLD,能夠靈活的響應(yīng)這些標(biāo)準(zhǔn)的變化和發(fā)展。
FPGA技術(shù)
開發(fā)人員在尋找實(shí)現(xiàn)閃存陣列的存儲(chǔ)器控制功能和I/O接口的方法時(shí),必須要仔細(xì)考慮替代方案。傳統(tǒng)的ASSP和ASIC器件選擇缺乏應(yīng)對(duì)快速發(fā)展的閃存市場(chǎng)所需要的靈活性。對(duì)于大部分應(yīng)用,ASIC也由于過于昂貴而無(wú)法使用。相反,存儲(chǔ)子系統(tǒng)開發(fā)人員嘗試發(fā)揮閃存的優(yōu)勢(shì),快速靈活的做出應(yīng)對(duì),適應(yīng)新出現(xiàn)的存儲(chǔ)器類型,以及標(biāo)準(zhǔn)的變化。
作為對(duì)比,F(xiàn)PGA等可編程IC非常適合基于閃存的企業(yè)級(jí)應(yīng)用。FPGA的開發(fā)周期非常短,而且成本低,風(fēng)險(xiǎn)低,能夠迅速適應(yīng)需求的變化,利用新出現(xiàn)的存儲(chǔ)器技術(shù)和接口標(biāo)準(zhǔn),例如PCIe等。采用目前的大容量可編程器件,還可以在多種存儲(chǔ)器類型中內(nèi)置控制和接口功能,使得子系統(tǒng)能夠同時(shí)支持MLC和SFC閃存。也很容易在FPGA邏輯中實(shí)現(xiàn)關(guān)鍵的容錯(cuò)RAID算法。
相對(duì)于以前ASIC特有的一些特性,F(xiàn)PGA有明顯的性能和定制功能優(yōu)勢(shì)。當(dāng)今的PLD采用了最高級(jí)的硅片工藝節(jié)點(diǎn)進(jìn)行制造,體現(xiàn)了性能最好的半導(dǎo)體技術(shù)。例如,28-nm PLD接口現(xiàn)在能夠在高速數(shù)據(jù)接口上傳送數(shù)據(jù),傳輸速率高達(dá)28 Gbps,滿足了PCIe、SAS/SATA和光纖通道等高速協(xié)議的性能要求。FPGA還具有軟核和硬核IP,例如,存儲(chǔ)器控制器、嵌入式處理器和收發(fā)器模塊,進(jìn)一步提高了性能,豐富了功能,提高了效率。最后,PLD封裝技術(shù)的進(jìn)步還提高了高速I/O端口的數(shù)量,以及通用I/O引腳的數(shù)量。
閃存高速緩存的可編程狀態(tài)機(jī)
存儲(chǔ)器陣列生產(chǎn)商Violin存儲(chǔ)器有限公司列出了存儲(chǔ)器陣列的以下高級(jí)屬性,其性價(jià)比非常高,滿足了下一代24x7企業(yè)級(jí)數(shù)據(jù)中心的需求:
* 性能:與HDD相比,在延時(shí)和每秒I/O操作(IOPS)上提高了一個(gè)數(shù)量級(jí),例如,延時(shí)達(dá)到亞微秒,每個(gè)機(jī)架大于200K的IOPS,能夠更好的與處理器相匹配。
* 成本:采用固態(tài)存儲(chǔ)器,大幅度降低了每GB成本和每I/O成本。
* 可靠性:保證不會(huì)丟失企業(yè)數(shù)據(jù)(通過RAID算法),系統(tǒng)連續(xù)服務(wù),不會(huì)出現(xiàn)停機(jī)。
可以在基于每GB低成本NAND閃存的新一代存儲(chǔ)器陣列上實(shí)現(xiàn)這些屬性。其體系結(jié)構(gòu)采用了兩級(jí)閃存功能,閃存控制(vFLASH)和閃存RAID(vRAID)。閃存控制器利用了閃存轉(zhuǎn)換層面上的比特、模塊、平面和芯片級(jí)的閃存技術(shù)讀、寫以及擦除操作和錯(cuò)誤狀態(tài)功能。VFLASH功能包括記錄結(jié)構(gòu)數(shù)據(jù)布局,以及閃存管理“垃圾收集”功能來(lái)釋放閃存空間。閃存RAID控制器應(yīng)超越傳統(tǒng)的RAID-1和RAID-5算法,以滿足閃存獨(dú)特的特性需求。例如,一個(gè)4+1校驗(yàn)?zāi)P鸵葌鹘y(tǒng)的算法效率更高,延時(shí)更低,還能夠更高效的處理故障,而且不需要替換模塊。
閃存和RAID控制功能都能夠很好的采用FPGA技術(shù)來(lái)實(shí)現(xiàn)(圖2)。在基于硅片的狀態(tài)機(jī)中,而不是采用傳統(tǒng)的微處理器/軟件方法來(lái)實(shí)現(xiàn)關(guān)鍵算法,能夠大幅度降低延時(shí)。而且,如前所述,基于FPGA的實(shí)現(xiàn)方法能夠?qū)崿F(xiàn)非常靈活的設(shè)計(jì),適應(yīng)閃存及其相關(guān)特性的快速發(fā)展。能夠以非常低的成本,非??焖俚陌研略O(shè)計(jì)推向市場(chǎng),發(fā)現(xiàn)新機(jī)會(huì)。而且,利用存儲(chǔ)器控制器、收發(fā)器模塊以及存儲(chǔ)器和PCIe的高速接口等FPGA特性,在幾天或者幾星期的時(shí)間內(nèi)就能夠向市場(chǎng)推出很好的系統(tǒng),這要比傳統(tǒng)的方法快得多。
圖2. 存儲(chǔ)器子系統(tǒng)結(jié)構(gòu)圖。
企業(yè)級(jí)存儲(chǔ)的新模式
當(dāng)今的企業(yè)級(jí)存儲(chǔ)系統(tǒng)需要閃存的性能和成本優(yōu)勢(shì)來(lái)實(shí)現(xiàn)其競(jìng)爭(zhēng)能力。與閃存相關(guān)的設(shè)計(jì)難題,例如,確保數(shù)據(jù)完整性,應(yīng)對(duì)新出現(xiàn)的存儲(chǔ)器類型和標(biāo)準(zhǔn)的不斷變化等,可以通過采用基于FPGA的PSM實(shí)現(xiàn)存儲(chǔ)器管理和I/O,來(lái)解決這些難題。FPGA技術(shù)和閃存相結(jié)合,即使是要求最高的工作負(fù)載,存儲(chǔ)系統(tǒng)規(guī)劃人員也能夠滿足性能需求,保證系統(tǒng)的完整性、靈活性和適應(yīng)性。