微控制器的存儲架構可能很簡單(圖1)。但是,隨著應用開始朝便攜化、虛擬化和個性化方向發展,它們現在變得相當復雜。多核(multicore)、許多核(many core)和集群架構,它們同樣在一個設備中融合了各種存儲技術。高端微處理器將多個緩存級別與超多的互連和緩存一致方案整合在一起。
不久以前,高速緩存缺失還只能調用擴展到附近硬盤驅動器的事件鏈。而現在,這種效應已經擴展到固態磁盤(SDD)驅動器和硬盤驅動器,或者可能通過iSCSI將頁面提供給虛擬存儲系統從而延伸到云或局域網(LAN)。并且與應用程序相關的所有操作都以透明方式處理。
盡管如此,設計人員、開發人員、管理人員和用戶還需要考慮系統要使用的存儲器類型和數量及其配置方式。由于選擇方案多種多樣,他們現在所面臨的挑戰比過去更大。
圖1:現在,存儲層次結構的范圍相當廣泛。它甚至可以通過互聯網連接擴展到云領域。
DRAM發展動態
DRAM的容量越來越大,速度越來越高,價格也越來越便宜。DDR3雙列直插內存模塊(DIMM)目前的最高容量已經達到16GB,運行速率為533至800MHz,支持1066至1600 Mtransfers/s。標準DDR3的工作電壓為1.5V,但是最新的低功耗DDR3L的工作電壓為1.35 V,可以顯著降低功耗和減少發熱。
DIMM和小外形DIMM(SODIMM)是臺式電腦、服務器和筆記本電腦的標準配置,而嵌入式存儲要求同樣永無止境。BGA器件(比如Micron的DDR3芯片)因其外形尺寸而受到移動、工業和耐用型應用的青睞(圖2)。DDR3內存與處理器的堆疊式封裝匹配,在蘋果iPad等高端移動設備中非常普遍。
圖2:Micron公司的DDR3 BGA芯片非常適合用于嵌入式設計。
BGA封裝可以為耐用型應用提供內存,但是對耐用型存儲器的需求仍然沒有降溫。SFF-SIG的RS-DIMM平臺填補了這一空白(圖3)。該模塊的尺寸為67.5mm×38mm×7.36mm(長×寬×高),支持9芯片和18芯片設計。用于DDR3的Samtec連接器的引腳分布,類似于標準DIMM的引腳分布。該標準還規定了可選的SATA接口。
除了臺式電腦、筆記本電腦和服務器領域的其他內存替代市場外,DDR3已經占領了幾乎所有市場。不過,它確實還沒能取代嵌入式設計中的DDR2,在嵌入式設計中,兼容性和低速率較為普遍。芯片和系統設計人員所面臨的挑戰是,DDR3的低功耗、高容量和成本優勢非常明顯。此外,仍有大量的微控制器沒有DDR3的速度或存儲要求,而片上存儲器又不足以滿足要求。
GDDR5顯存基于DDR3。由于其設計規則與DDR3相似,因此有助于降低成本和簡化系統設計。與上一代相比,GDDR5的數據線路數有所增加。它現在主要用于高性能圖形和超級計算機環境。
到目前為止,各種DDR實現方案采用的都是單端信令技術。截至目前,設計必須遵從信令限制,但是隨著實現的速度越來越高,這種局面有可能發生變化。高速串行接口,比如PCI Express、USB 3.0、SATA和串行連接SCSI(SAS),采用的都是差分信令技術。DDR可能也會經歷這個階段。
Rambus公司的太比特倡儀(Terabit Initiative)是該公司針對用于新一代內存的差分信令系統所提出的倡儀。該公司正在展示為應對這種轉變而推出的20Gbps串并轉換器(SERDES)。
FlexMode設計定義了可處理DDR3、GDDR5及其新差分支持的接口,采用同一組引腳,由于差分對需要兩倍的線路,因此引腳的用途并不相同。
這種技術用控制/尋址(C/A)引腳換來了額外的差分數據引腳。C/A信號也是差分信號,這就進一步減少了實際的C/A信號量。該設計得以實現的原因在于C/A線路數據速率的提高。
串行端口內存技術(SPMT)聯盟正在采用另一種差分技術。其解決方案針對移動設備,采用低壓差分信令(LVDS)系統,這種系統像PCI Express一樣可以通過增加通道進行擴展。與PCI Express一樣,SPMT是一種自同步技術。20引腳的方案具有6GBps的帶寬。
非易失性存儲器
NAND和NOR閃存技術仍是非易失性存儲器的核心,但磁阻(MRAM)、鐵電RAM(FRAM)和相變存儲器(PCM)等其他技術正在逐步普及。單個系統一般都融合了多種技術。基于微控制器的獨立冗余磁盤陣列(RAID)系統可能將NAND或NOR閃存用于程序存儲器,而將MRAM、FRAM或PCM用于RAID數據表,來替代帶蓄電池后備電源的動態RAM(DRAM)。
所有這些技術的存儲容量都在日益增長,其中以NAND的容量最大,這是因為NAND更多地使用了多級單元(MLC),盡管單級單元(SLC)NAND閃存仍可提供比較理想的成本、吞吐能力、使用壽命和可靠性。MLC也可與NOR技術配合使用。
大多數USB閃存驅動器和其他移動存儲卡都將采用MLC NAND閃存。與高級閃存控制器配合使用時,它甚至還可以用于高容量企業驅動器中。企業級產品的最佳使用壽命是五年,因此系統設計人員一般都要求閃存驅動器的“保質期”至少有五年。
盡管閃存的速度很快,但是6Gbps SATA和多通道PCI Express等接口正在推動著SSD控制器技術的發展。除了性能和可靠性之外,MLC閃存控制器還面臨著諸多挑戰。
區塊循環和負載均衡是驅動器具有長使用壽命的關鍵。甚至溫度管理對使用壽命也有影響。SandForce是一家閃存控制器供應商。該公司的DuraClass RAISE(獨立硅元素冗余陣列)技術采用了RAID架構來實現閃存區塊故障的恢復。
NOR閃存的應用范圍已經覆蓋到更嚴苛的環境中。Spansion公司的65nm MirrorBit GL-s 2Gb技術,可用于溫度范圍為–40°C至105°C的汽車車內應用。它現在采用9mm×9mm BGA封裝。
此外,NOR閃存還擁有支持直接從閃存執行代碼的優勢。三星等公司正在結合使用SRAM和NAND閃存,從而向NOR閃存提出挑戰。三星的OneNAND在其NAND控制器中集成了3KB SRAM緩沖器。必要時,開發人員可以通過此控制器的接口連接外部NOR閃存。
兩線和四線串行外設接口(SPI)也會影響非易失性存儲器的應用領域,非易失性存儲器一般用來替代并行存儲器芯片。大多數非易失性存儲器都附帶這類接口。
NXP公司基于Cortex-M3的LPC1800微處理器甚至可以從四線SPI存儲器運行,而不僅僅是引導。最近,LPC1800還強調在微控制器中混合使用存儲器。此器件具有片上ROM、一次性可編程(OTP)存儲器、閃存和SRAM。
圖3:SFF-SIG的RS-RIMM模塊可將移動存儲器應用到耐用型應用中。
OTP存儲器是另一種往往被人們所忽略的非易失性存儲器技術。Kilopass和Sidense等公司可以為各種應用提供反熔絲OTP技術。OTP可以實現安全和低功耗的運行,還能夠方便地整合到大多數廠商支持的現有CMOS制造流程中。該技術通常用于密鑰或配置存儲器,還可以用來替代ROM。
圖4:Rambus FlexMode架構將采用同樣的內存外形尺寸和連接,但是會用差分信號替代單端通信。這需要增加一倍的線纜。實現該目的的具體做法是:減小控制/尋址(C/A)信號的寬度,同時提高其吞吐能力。
磁盤驅動器容量節節攀升
Seagate公司的6Gbps、3TB Barracuda XT硬盤驅動器(HDD)在容量上突破了Windows XP的2.1TB極限。值得慶幸的是,像Windows 7和Linux等大多數64bit操作系統都不存在大容量3TB分區的問題。
不過3TB驅動器帶來了統一可擴展固件接口(UEFI)BIOS。設計UEFI旨在解決PC BIOS的局限性。它可以處理GUID分區表(GPT),并且可以提供更快的引導時間,同時支持獨立驅動器。
這些大硬盤在舊操作系統中的應用有可能實現。硬盤附帶的Seagate DiscWizard軟件通過分區和設備驅動程序軟件來實現這一點。這種轉變很有可能推動眾多設計人員使用更新的平臺。
Seagate發布的大硬盤產品強調的另一個問題,是從傳統的512B扇區轉向4kB扇區。除了提供更高的吞吐能力之外,4Kb扇區還能夠更好地滿足操作系統要求。
大多數母板都已經支持4KB扇區,甚至Windows XP也支持。所有目前的臺式電腦和服務器操作系統亦然。操作系統的虛擬內存支持一般采用4kB頁面大小或者該大小的倍數進行配置。
有些驅動器同時支持兩種扇區大小。這些驅動器一般實現4kB扇區,需要時可以將較小的扇區大小映射到這些驅動器上。驅動器將采用一種模式或另外一種模式工作。
由于成本的原因,很少有閃存驅動器的容量達到3TB,但是從總體來看,閃存驅動器的采用量在上升。芯片價格低是一大因素,但是SSD控制器芯片性能獲得提升也是一個因素。推動存儲器發展到新領域的另一個方面是閃存能力適合新的應用領域。
Viking Module Solutions公司的SATADIMM和SATACube3,可以實現更加緊湊的嵌入式解決方案(圖5)。SATADIMM插入DDR3插座獲取電源。它包含SATA線纜連接。設計合理的系統可以在未使用的DIMM插座引腳上運行SATA接口。SATACube3為定制系統設計提供耐用型存儲器。
圖5:Viking Module Solutions SATADIMM(a)和SATACube(b)將SATA閃存驅動器放至相關位置。SATADIMM插入DDR3插座。
像Seagate公司的Momentus XT等混合驅動器,在單個封裝中整合了閃存和硬盤,但這種技術不是實現混合驅動器技術的唯一方法。Marvell公司的SATA控制器HyperDuo技術就是另外一種途徑。HyperDuo可以應用在新型母板和HighPoint的RocketHybrid這樣的PCI Express適配器上(圖6)。
Marvell的雙端口SATA控制器可以像傳統控制器一樣處理任何類型的SATA驅動器。其HyperDuo模式與一個閃存驅動器和一個硬盤驅動器配合使用。操作系統是微軟最新支持NTFS的操作系統中的一種。
HyperDuo可以在“安全”或“容量”模式下工作。安全模式的工作方式類似于緩存,在此模式下,常用文件同時存儲在硬盤驅動器和閃存驅動器上。其優勢在于,硬盤驅動器始終包含有效的文件系統。容量模式類似于RAID 0,在此模式下,數據被分割到兩個驅動器中。系統需要兩個驅動器都工作。
HyperDuo與大多數其他混合解決方案之間最大的不同在于,HyperDuo在文件級別運行,而不是在扇區級別運行。另一個不同之處是,到閃存的所有數據傳輸都發生在訪問文件之后,而不在訪問過程中傳輸。
此過程可以透明方式進行,高級用戶可以明確地對閃存中的文件進行pin操作。這種技術比SAS控制器(一般提供基于閃存的緩存)的成本低,因為HyperDuo可以充分利用SATA控制器上的ARM處理器,并且不需要片外存儲器或者帶蓄電池后備電源的緩存。
像LSI公司的MegaRAID控制器等SAS控制器,一般采用更加傳統的緩存技術。具體來講,LSI CacheCade采用閃存驅動器作為一組硬盤驅動器的二級緩存層。它可以處理容量高達512GB的陣列。Adaptec公司的maxCache包含硬件和軟件。
CacheCade的工作方式類似于典型的緩存控制器,它將常用扇區的數據加載到閃存中。性能往往高出混合驅動器很多,閃存的數量由所有者控制。系統可以處理多達32個SSD。
其他差別,也就是大多數SAS控制器支持的能力在于,可以將存儲器作為虛擬驅動器。同樣,存儲器可以基于RAID配置。比如,單個控制器可以處理像RAID 5、RAID 0和RAID 60陣列的組合,其中每個陣列都包含多個虛擬驅動器。反過來,這些配置中的任意一種配置都可以與閃存匹配。這些控制器一般用于企業服務器,配置往往更加簡單,只有單個RAID陣列。互聯網服務提供商(ISP)和企業環境可以充分發揮虛擬化技術的優勢,但是可能需要具有不同特性的多種虛擬驅動器。此外,這些比較昂貴的SAS控制器還可以處理這些常規操作。
圖6:HighPoint公司的RocketHybrid采用Marvell公司的HyperDuo SATA控制器技術在單個Windows混合存儲設備中整合了硬盤驅動器和固態磁盤驅動器。
盡管SATA和SAS閃存驅動器有許多優勢,但是接口卻有帶寬限制。閃存的運行速度可能比硬盤驅動器快,供應商將提供使用PCI Express連接至主機的解決方案。PCI Express可以通過增加通道數進行擴展。
Fusion-io公司的ioDrive Octal板通過x16 PCI Express連接提供閃存(圖7)。它支持6Gbps帶寬,可提供高達每秒1百萬次I/O操作的速度。此板以模塊化形式構建,可處理容量高達5.12 TB的閃存。ioDrive Octal的外觀與傳統的模塊設備相似。
圖7: Fusion-io公司的ioDrive Octal板通過PCI Express提供閃存,可提供6GBps的帶寬和高達5.12 TB的存儲容量。
基于PCI Express的閃存解決方案現在可謂遍地開花。耐用型應用可以采用Extreme Engineering Solutions XPort6103 XMC模塊這樣的產品(圖8)。
XPort6103可以提供容量高達0.5TB的閃存。它采用PCI Express x1接口,提供可選的3Gbps SATA和加密支持配置。此外,由于在嵌入式應用中很有可能會興起長使用壽命優于高容量這樣一種趨勢,因此XPort6103采用SLC NAND閃存。其讀性能和寫性能分別為200MBps 和120MBps。
圖8: Extreme Engineering Solutions XPort6103模塊插入XMC插槽,具有高達0.5TB的閃存容量。
非易失性存儲器主機控制器接口(NVMHCI)工作組的NVM Express規范,是一個針對基于PCI Express存儲器設計的新標準。此標準受到包括英特爾在內的眾多供應商支持。
網絡和互聯網
這些存儲技術可滿足嵌入式應用、PC和服務器環境的需求,但還有另一個持續增長的主要領域,即網絡存儲。“云”和“云存儲”一直都是最為熱門的話題,其背后毫無疑問需要技術支撐。
現在,文件服務器更有可能是帶一個或多個硬盤驅動器的網絡附加存儲(NAS)設備。許多專用片上系統(SoC)都針對這一領域,比如Applied Micro公司的多核Mamba以及PLX公司的NAS7825。
這些芯片一般包含RAID加速芯片和多個吉比特以太網端口。對RAID 1和RAID 5的支持比較普遍,而RAID 6以及RAID 50(RAID 5+0)與RAID 60的組合也很常見。加密支持也是這種混合配置的公共部分,它甚至可以在不使用硬件加密驅動器的情況下實現安全存儲。此類芯片可以實現低成本有線和無線NAS服務器。
Marvell公司的Armada芯片是NAS設備的一種變體,此芯片一般用于被稱為“插座式計算機”的設備,PogoPlug公司的產品系列就是這種設備的一個例子。PogoPlug Pro支持多達四個USB外部驅動器,這些驅動器一般都是硬盤驅動器(圖9)。此外,前面板USB連接也是專為USB閃存驅動器而設計的。
圖9:PogoPlug是一個帶四個USB端口的NAS設備,僅支持外部存儲。其互聯網支持是PogoPlug區別于大多數NAS的差異化功能。
插頭技術非常靈活,但是這種技術只是這些NAS設備的起點。其互聯網連接能力和相關應用使這些設備脫穎而出。PogoPlug Web站點充當連接到互聯網設備的網關,支持臺式電腦或智能手機等其他設備訪問NAS設備上的數據。
這里的主要技巧是克服LAN上的NAS設備與連接到互聯網的設備(比如臺式電腦或智能手機)之間的防火墻和網關問題。由于允許通過LAN防火墻/網關通信,因此PogoPlug的免費服務通過其互聯網服務器執行與連接到該服務器的NAS設備的通信,從而解決了上述防火墻和網關問題。
最初的服務只包含基本文件共享。不過現在這些服務已經得到了擴充,包含對多媒體流、打印機熱點和電子郵件打印等功能的支持。現在設備之間甚至出現了Dropbox形式的共享。PogoPlug商業版增加了多個用戶支持以及使用和審計功能。
與Dropbox不同的是,PogoPlug的存儲容量僅受連接到NAS設備的限制。其缺點一般是上傳端的連接帶寬,因為大多數用戶連接都是非對稱連接。使用更快的線纜和光纖到家連接時一般都不存在這個問題。
技術性更強的“云存儲”平臺往往基于存儲區域網絡(SAN)。SAN已經成為存儲容量達到千兆兆字節(petabyte)甚至艾字節(exabyte)的企業服務器農場的存儲骨干。光纖通道正是用在這種應用中,盡管iSCSI是目前首屈一指的存儲技術。
光纖通道可以滿足運行速率高達10Gbps的硬件接口和存儲通信協議的要求。它專門針對大型、高性能、高可靠性存儲集群而設計。以太網光纖通道(FCoE)標準已將協議轉移到網絡上,隨著集群計算轉移到最前端,這種標準的重要性與日俱增。
早在新一代的SCSI技術SAS驅動器推出之前,iSCSI標準就已經啟動了,但是iSCSI標準與底層硬件無關。其命令集影像了那些被SCSI及后來的SAS驅動器所使用的命令,不過iSCSI是針對SAN設計的基于網絡的區塊存儲協議。NAS設備往往支持iSCSI協議。基于BSD(伯克利軟件分發)的FreeNAS等開源平臺具有iSCSI支持。同樣,許多母板和以太網適配器通過iSCSI提供網絡引導能力,但是大容量驅動器則來自虛擬化服務器。
Amazon和Google等提供的云計算服務一般以虛擬化服務器為中心進行構建,這些服務器通過iSCSI連接運行SAN存儲器鏈接。這種技術可以實現將存儲和計算組件分布在整個網絡中。此外還允許服務提供商處理配置,同時提供對可以直接訪問虛擬環境的服務用戶的免費管理。
到這里為止所闡述的問題是,術語“網絡”涵蓋了諸多領域。在這種情況下,用于云計算的SAN往往是一個隔離網絡,可能在一個虛擬化網絡內。事實上,一個服務提供商的環境中一般存在多個虛擬SAN,用于隔離客戶存儲和計算環境。用于計算環境的虛擬機具有與客戶連接的網絡接口,用于存儲環境的虛擬機則具有與iSCSI SAN連接的網絡接口。
來自虛擬機的iSCSI連接數一般不受其操作系統的限制,因此虛擬機可能是由不同SAN服務器托管的訪問邏輯iSCSI驅動器。同樣,虛擬機不受iSCSI連接的限制。它還可以連接到文件服務器和數據庫服務器之類的其他存儲解決方案。
靈活性是iSCSI的主要優勢,而安全性是另一個優勢。我們已經討論了網絡隔離,但是另一方面是iSCSI和SAS支持的端到端加密。這種優勢也將在企業硬盤驅動器和SSD中越來越容易獲得。
安全存儲
SSD和HDD往往支持同一種安全措施。全盤加密是其中一項功能。首次使用自加密驅動器時,訪問該驅動器上的數據需要正確的密鑰。
然而,由于密鑰用來加密和解碼驅動器上的信息,因此這不僅僅是門控機制的問題。由于加密的原因,直接繞過安全控制無法實現對數據的訪問。可信平臺模塊(TPM)一般是混合方案的一個組件,它可以提供安全引導支持。
訪問密鑰一般可提供對用于加密過程的另一個密鑰的訪問。這就允許使用多個訪問密鑰,因此企業密鑰具有對多個驅動器的訪問,個人密鑰則具有對與其密鑰匹配的驅動器的訪問。這種技術的一個相關功能是驅動器基本上都可以通過破壞加密密鑰來擦除。這種擦除可以通過一個命令來實現,而無加密驅動器則通常采用覆蓋方法進行擦除。基于硬件的全盤加密的優勢,是控制器可以處理詳細信息。它們一般與硬件匹配,因此加密過程不會降低數據傳輸速率。
新型SAS控制器旨在利用基于硬件的加密。有些SAS控制器不需要硬件加密設備即可提供加密支持。SAS控制器一般支持一個或多個磁盤陣列,一般使用熱插拔更換壞驅動器。由于驅動器被更換或轉移到新的位置,密鑰管理現已成為控制器的一個問題。
遺憾的是,與基于軟件的加密策略相比,全盤加密可能無法實現精細地使用存儲器。安全USB閃存驅動器等一些系統可以將驅動器分成兩個邏輯部分,一個加密部分,一個非加密部分。這兩個部分以兩個驅動器出現,因此無需更改操作系統。
一種新的驅動器支持T10保護信息(PI)端到端加密,包括Seagate公司的Constellation 2。這種技術還需要操作系統和應用支持,因為驅動器的扇區實際上更大。
在這種情況下,應用程序處理加密和解密過程。這意味著,數據在離開應用程序之前是安全的,因此研究iSCSI鏈路的通信沒什么作用。
T10 PI還需要匹配的控制器支持,最新的SAS控制器可以提供這種支持。另外,由于復制數據可以提供對非加密內容的訪問,因此它還可以對驅動器進行備份。
現在,存儲問題涵蓋的技術五花八門,嵌入式設計人員甚至也需要對這些技術進行考慮。當涉及到網絡時,存儲也不再局限于手頭的設備。
評論
查看更多