PCIe 固態硬碟 NVMe DRAM SATA SCSI 磁碟介面 SSD

NVMe標準驅動 PCIe固態硬碟出頭

2012-05-28
固態硬碟(SSD)確實能夠大幅提升企業的儲存效能,但是新的主機介面標準(Host Interface Standard)則是實現企業快閃儲存最大效能的真正關鍵因素。
當電機式硬碟的容量持續向上攀升之際,這種旋轉式儲存技術並無法提供所需的存取時間或資料傳輸速率給要求較高的企業用途,其中包括線上交易的處理、資料搜尋及雲端運算等等。而以快閃記憶體(Flash Memory)為基礎的固態硬碟可以提供更快的資料隨機存取速度及更快速的資料傳輸速率。

此外,固態硬碟的容量現在已經來到可以作為旋轉式磁碟替代品的轉捩點。但是固態硬碟的主機介面還是效能的瓶頸所在。以快捷外設互聯標準(PCI Express, PCIe)為基礎的固態硬碟與被稱為非揮發性記憶體(Non-Volatile Memory express, NVMe)的新興標準,都訴求要解決此一介面瓶頸的問題。

現今的固態硬碟提供許多用處,而一旦新的非揮發性記憶體標準(NVMe Standard)漸趨成熟,以及半導體公司開始提供適用的IC後,固態硬碟便能夠與主機處理器更加結合,屆時將會看到固態硬碟更廣泛的用途。

即將面臨的真正問題是,對於儲存技術的需求,是否可以配合得上在過去20年間呈現指數性增長的處理器效能?如同英特爾(Intel)這樣的供應商,持續不斷地增加單一處理器核心的效能,並在一顆IC內結合多顆核心,同時也發展在多重處理器系統內以更佳的方式結合多顆IC的技術。最終的結果就是,在這種情況下的所有核心,都將須要同時存取相同的儲存次系統。

企業的IT經理人所面臨的壓力,在於必須提升系統可處理的每秒讀取運作次數(I/O operations Per Second, IOPS)的數目,以及功率消耗方面的每瓦可進行IOPS(IOPS per Watt, IOPS/W)數目,因此他們迫切想要利用多重處理器系統來達成這些任務。

基於不斷提升的多重處理器運算能力,若處理元件可以很快地存取資料時,則能以較低的成本及功耗提供較佳的IOPS值。讓處理器等待資料數據的傳輸,則會浪費間和金錢。

快閃記憶體儲存角色日重

系統中的多重層次儲存技術,最終可以把代碼及資料傳送到每一個處理器的核心。一般而言,每個核心都包含著以核心速度運作的本地快取記憶體。在晶片中的多顆核心共享著第二階層的快取記憶體,有時則是第三層的快取記憶體。而動態隨機存取記憶體(DRAM)則負責傳送資料到快取記憶體。動態隨機存取記憶體及快取記憶體的存取時間和資料傳輸速率的效能則會有所調整,以便能夠符合處理器的效能。

若以存取時間和資料傳輸速率而言,在動態隨機存取記憶體與旋轉式儲存裝置間的差距會導致兩者之間存在效能上的落差。硬碟供應商在設計及製造高容量且每Gbyte有較低成本的硬碟上,已經做得很好了。但是,硬碟在存取資料後將資料傳輸到動態隨機存取記憶體上的速度,究竟能夠做到多快,事實上是有先天的限制。

存取時間的多寡,端視硬碟在磁碟上所需的資料磁軌間,能夠多快速地移動讀取頭,以及資料從存放所在移動到讀取頭之下,在磁區內的旋轉延遲而定。最大的傳輸速率是由磁碟旋轉速度和資料編碼方案兩者一起決定每秒可從磁碟讀到多少位元的資料量而定。

硬碟在讀取和傳輸循序資料上的表現相對較佳。但在隨機搜尋作業下,則會增加延遲時間。可是就算在循序讀取作業下,目前也無法匹配上最新款處理器的資料處理速度。

同時,當企業的系統在執行金融交易此類線上交易,以及處理顧客關係管理的資料搜尋應用上,都亟須快速地隨機存取資料。

雲端運算也有著隨機的特質,一般來說,隨機的問題會隨著單一系統必須在不同的應用範圍間擴大使用虛擬化;必須在任一時間同時進行處理運作,而導致問題更加嚴重。每一微秒(μs)的延遲都會直接導致金錢的損失、處理器的效率低落及功率的消耗。

幸運的是,快閃記憶體提供了潛在的機會,填補在動態隨機存取記憶體和旋轉式儲存方式間的效能落差。快閃記憶體的速度較動態隨機存取記憶體慢,但是能夠提供每Gbyte較低的儲存成本。這個成本雖然較旋轉式儲存方式為高,但是企業界還是很樂意多付其中的差價,因為快閃記憶體有著較佳的傳輸量,而且能夠較快速地隨機存取資料,而使得每瓦IOPS的成本相較於旋轉式儲存方式為低。

不斷提升的快閃記憶體容量及合理的成本,使得將快閃記憶體封裝成像硬碟形狀的固態硬碟處於不斷成長的趨勢中。此外,固態硬碟使用如序列式ATA(SATA)或是序列式SCSI(SAS)這類經常使用在硬碟上的介面。

現今固態硬碟使用磁碟介面

固態硬碟有著硬碟的外型與介面,使得IT供應商能夠無縫式地把磁性硬碟替換成固態硬碟。不管在系統硬體或是驅動程式軟體上,都不須要做任何改變。IT經理人可以輕易地更換成固態硬碟,並能顯著改善存取時間,且某種程度上加快資料傳輸速度。

不管硬碟外型或介面都適合於以快閃記憶體為基礎的儲存方式。固態硬碟製造商可以封裝足夠數量的快閃記憶體到2.5吋硬碟的外型內,且輕易地超過為硬碟所發展的功率曲線。而且快閃記憶體可以支援較高的資料傳輸速率,甚至超過最新世代的磁碟介面。

更進一步來檢視磁碟介面。大多數主流系統現今都是使用第二代SATA及SAS介面(被稱為3Gbit/s介面),它們可以提供300Mbyte/sec的傳輸速率。第三代SATA和SAS則將該速率推升到600Mbytes/sec,而且使用那些介面的硬碟已經廣泛為企業系統所使用。

當資料傳輸速率可以支援最快速的電機式硬碟時,新的儲存型快閃記憶體架構(NAND Flash Architectures)和多晶粒快閃記憶體(Multi-die Flash)封裝方式,可以帶來加總的快閃記憶體頻寬,使其傳輸速率可以超過SATA和SAS相互連接時傳輸速率。簡而言之,固態硬碟的效能瓶頸點已經從快閃記憶體轉移到主機介面。因此,產業界需要更快速的主機連接介面,來實現快閃記憶體儲存技術的全部優勢。

PCIe主機介面可以克服這種儲存效能的瓶頸點,並且藉由將固態硬碟直接連接到PCIe主機匯流排上來提供非平行式效能。舉例來說,即將在2012年開始量產出貨的4傳輸通道(x4)的第三代(Generation 3, G3)PCIe連結,可以提供4Gbyte/sec的資料傳輸速率。

此外,直接的PCIe連接可以降低原來傳統儲存基礎設施所造成的系統功率消耗及減少延遲時間。

PCIe介面提供所需儲存頻寬

很明顯地,像PCIe這樣的介面能夠處理多重傳輸通道的快閃記憶體儲存次系統所需的頻寬,以及提供額外的效能優勢。固態硬碟使用磁碟的介面,所以也會受到儲存控制IC在處理磁碟讀寫時所造成延遲的影響。PCIe裝置直接與主機匯流排連接,能夠消除掉與傳統儲存基礎設施連結的架構層。

PCIe介面的固態硬碟其令人注目的效能,致使處於業界領先地位的原始設備製造商(OEM)不但在伺服器內放入PCIe介面的固態硬碟,而且也在儲存陣列放入PCIe介面的固態硬碟,藉此來建立分層儲存系統,使得在改善每IOPS的成本之餘,也可加速其應用項目。

將儲存裝置朝向使用PCIe的連結,也給系統設計工程師帶來額外的挑戰。如同稍早所提到的,以SATA和SAS介面為基礎的固態硬碟產品,還是可以維持原驅動軟體的相容性,因此一些系統設計工程師不得不放棄PCIe連結的一些優勢。

其實,任何採用PCIe介面的儲存裝置,都將會產生一些新驅動軟體的需求。

除了軟體的議題外,事實上在企業中使用PCIe介面的儲存裝置已經是既定的事實。因為企業對於效能的要求,因而造成這種的轉變。其實已經沒有其他明顯的方式,可以提供改善的IOPS、IOPS/W等特性,來滿足IT經理人的苛刻要求。

使用PCIe介面來作為儲存裝置的連結介面所帶來的好處是顯而易見的。可因此達到相比於SATA或SAS介面超過五倍以上的的資料傳輸速率。可以移除在SATA和SAS介面上所使用的主機匯流排配接器(Host Bus Adapters)以及串列/解串列器(SerDes)介面IC等這類元件,因此可節省成本同時也達到系統等級的效能。而且PCIe介面可以讓儲存裝置的傳輸速率更接近處理器的速度,因此能夠降低延遲時間。

實際上,業界所面臨的問題不在於是否使用PCIe介面來連接快閃記憶體儲存裝置,而在於該如何做到這樣的連接。目前有幾種選項可以達成,而且有一些早期開發出來的產品也已經在市場上銷售。

權宜措施型PCIe介面方案只是過渡

最簡單的執行方式就是,利用現存的快閃記憶體控制IC,因為它能夠控制記憶體讀與寫的運作,但是卻沒有支援系統輸入/輸出的概念。這樣的快閃記憶體控制器,在現有以SATA或SAS介面為基礎的固態硬碟產品上,通常是在磁碟介面IC後面運作。

另外一個方法是,在主機處理器上運行快閃記憶體管理軟體,藉此啟用簡單的快閃記憶體控制器,使跨越PCIe介面連結起作用。但是這個方法並不是最理想的。

首先,它會消耗太多主機處理器及記憶體的資源,理想上,這些資源是可以用來處理更多的IOPS。第二個原因是,它必須使用專屬的驅動程式,因而產生原始設備廠商須要經過認證的議題。第三個原因是,它無法提供可開機硬碟,因為系統必須要能夠開機,才可以執行快閃記憶體管理軟體,進而啟用儲存方案(圖1~2)。

圖1 以硬碟陣列(RAID)為基礎的PCIe介面的固態硬碟在今日已經是現成的技術,只是在單位功耗所能得到的效能尚未達到最佳化。

圖2 在主機上運行快閃記憶體管理語法,幾乎耗盡主機上處理器及記憶體的資源。

很顯然地,在短期內,這些設計都可以找到令其成功的利基市場。就現今而言,這些產品主要還是被利用來當作硬碟的快取記憶體,而不是用來作為取代主流市場的高效能硬碟。

搭配原生PCIe介面才是主流

就長期而言,越健全及越有效率的PCIe介面固態硬碟的設計,將依賴於複雜的系統單晶片(SoC),而該系統單晶片原先就設計支援PCIe介面、整合快閃控制器功能,以及完整地執行儲存裝置概念。像這樣的產品將可以在處理快閃記憶體管理時,卸除主機處理器及記憶體的負載,並且最終啟用能夠支援即插即用(Plug and Play)的標準作業系統的驅動程式,一如現今享用SATA和SAS介面一樣(圖3)。

圖3 原生PCIe介面的快閃記憶體控制器改善了效能,同時也減少成本和複雜度。

事實上,非揮發性記憶體標準最終將提供即插即用功能給PCIe連接的固態硬碟。NVMe 1.0的規格是由橫跨產業界超過八十家以上的公司共同合作所開發出來的標準,且已經在2011年3月,由非揮發性記憶體主機控制器介面工作小組(NVMHCI Work Group)發布,現在該工作小組通常是被稱做NVMe工作小組。該規格定義了PCIe介面的固態硬碟,其最佳的註冊介面、指令集(Command Set)以及功能集(Feature Set)。該工作小組的目標是協助啟動更廣泛的採用以PCIe介面為基礎的固態硬碟,以及提供可調整的介面來實現固態硬碟技術現在及未來的潛在效能。這個NVMe 1.0的規格可以從www.nvmexpress.org來下載。

這款NVMe規格是專門針對多重核心系統進行最佳化而設計,所以可以同時運行許多傳輸通道,而且每個傳輸通道都能夠進行輸入輸出(I/O)的運作。事實上,它的最佳化只為了一種情境,那就是IT經理人希望能利用它來增加IOPS數值。NVMe的規格能夠支援最高達到64K的I/O佇列(Queues),而每一佇列可以支援高達64k的指令。每一個處理器的核心都能夠執行它自己的佇列。

在2011年6月時,七個產業界先驅,包括思科(Cisco)、戴爾(Dell)、EMC、IDT、英特爾、NetApp及甲骨文(Oracle)成立了NVMe推廣小組來促進廣泛採用NVMe標準的PCIe介面固態硬碟。這七家廠商將成為該推廣小組的永久成員。另外有六席成員將從非揮發性記憶體主機控制器介面工作小組的會員公司中選任。

在NVMe成為主流技術前,尚有許多工作要進行,但是來自不同範圍的產業界參與者的廣泛支持,無形中保證了該技術最終將成為高效能固態硬碟連接介面的標準。這其中的支持者包括IC製造商、快閃記憶體製造商、作業系統供應商、伺服器製造商、儲存次系統製造商及網路設備製造商。

在接下來的十二到十八個月之中,期待對於NVMe的支援或邁開一小步,也就是在最普及的作業系統內,將會出現支援NVMe的驅動程式。此外,如IDT這類的公司將會推出具有快閃記憶體控制器的系統單晶片給企業界來啟用NVMe介面。

PCIe介面固態硬碟外形底定

NVMe的標準並沒有說明有關固態硬碟外形的相關議題,而這將是另外一項須要透過其他工作小組來解決的問題。

在企業級的儲存上,例如硬碟和固態硬碟這類的裝置,一般而言都是可以從外部存取及具備熱插拔能力。之所以需要熱插拔能力的部分原因是,因為硬碟天生就是機械裝置的事實,而通常硬碟是會比IC更快失靈。所以熱插拔的功能可以讓使用者更容易地更換失靈的硬碟。

針對固態硬碟而言,IT經理人和儲存裝置供應商會希望依然維持外部存取模組的模式。這種模式的支援可以很容易地透過如增加固態硬碟,或是以容量更大的產品來取代現有的固態硬碟等方式,以增加儲存容量。

事實上,有另外一個標準規範已經成形,來說明有關外形的議題。固態硬碟外形工作小組(SSD Form Factor Working Group)已經將重點放在推廣PCIe介面來作為固態硬碟互連介面。這個工作小組是由五家推廣會員所推動的,包括戴爾、EMC、富士通(Fujitsu)、IBM及英特爾。

外形工作小組是成立於2010年的秋天,工作重點集中在下列三個領域。第一,不但可以支援PCIe介面,同時也可支援SAS/SATA介面的連接器規格;第二,依照目前2.5英吋的標準來設定外形,除了可以支援新的連接器的定義外,也可以擴展功率範圍,以便於支援更高的效能;第三,具備支援熱插拔能力。

目前的建構藍圖都是朝向更廣泛使用由PCIe介面所連接的固態硬碟,並且希望將該技術發展成能夠提供企業在各類應用上都能夠讓效能得到改善。然而,當重點大多數放在企業應用上時,NVMe的標準也理所當然地會注意到用戶端系統,因此將提供就算筆記型電腦在降低成本及系統功率消耗之餘,依然能夠得到效能的推升。一旦相容的IC及驅動程式最終實現時,這個標準將會驅使PCIe介面固態硬碟的技術得到更廣泛的使用。

(本文作者為Integrated Device Technology行銷暨企業運算部門資深處長)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!