SSD緩存是一種將常用數(shù)據(jù)存儲到快速緩存的計算技術。這可以提高每秒輸入輸出量(IOPS)性能,并減少延遲。
那么什么是SSD緩存?SSD緩存是一種計算和存儲技術,可將常用和最新數(shù)據(jù)存儲到快速SSD緩存中。這通過提高IOPS性能和減少延遲來解決與HDD硬盤相關的I/O問題,從而顯著縮短加載時間和執(zhí)行。緩存適用于讀取和寫入,尤其有利于讀取密集型應用程序。
高速緩存對硬盤來說并不陌生。Windows和Linux等操作系統(tǒng)附帶本機緩存軟件。HDD硬盤陣列緩存軟件存在并提高了整體性能,但配置昂貴且復雜。
緩存如何工作?
SSD緩存也稱為閃存緩存。雖然閃存和SSD硬盤不是一回事,但大多數(shù)SSD硬盤都是NAND閃存。在此體系結構中,緩存程序將不滿足緩存要求的數(shù)據(jù)導向HDD硬盤,并將高I/O數(shù)據(jù)臨時存儲到NAND閃存芯片。
這個臨時存儲或緩存通過使數(shù)據(jù)副本更靠近處理器來加速讀取和寫入請求。高速緩存可以包括SSD硬盤或SSD內(nèi)的一小部分存儲器單元。許多SSD硬盤已經(jīng)帶有緩存存儲區(qū),可能是NAND和/或DRAM。
SSD緩存通過存儲隨時需要的數(shù)據(jù)來提高性能,從而使其更快速地可用。
SSD緩存的類型
為了全面了解SSD緩存的工作原理,以下了解一下各種類型的SSD緩存。這些不同類型的SSD緩存包括讀取緩存SSD緩存、直寫SSD緩存、回寫SSD緩存、繞寫SSD緩存。
•讀取SSD緩存:將數(shù)據(jù)副本存儲在快速SSD存儲單元中;通常是NAND和/或DRAM。緩存軟件使用緩存的讀取數(shù)據(jù)來填充緩存。來自不同制造商的讀取緩存可以使用算法變體,例如在SSD上耦合DRAM和NAND存儲器單元以產(chǎn)生甚至更快的緩存性能。
•寫入SSD緩存類型:
o直寫SSD緩存同時寫入緩存和主存儲。緩存可以加快數(shù)據(jù)檢索速度,而主存儲寫入可以安全地保留數(shù)據(jù),即使系統(tǒng)中斷會影響緩存。直寫SSD緩存不需要為緩存數(shù)據(jù)提供額外的數(shù)據(jù)保護,但會增加寫入延遲。
o回寫SSD緩存確認將塊寫入SSD緩存,并且在將塊寫入主存儲器之前可以使用該數(shù)據(jù)。該方法的延遲低于直寫,但如果緩存在數(shù)據(jù)寫入主存儲之前丟失數(shù)據(jù),則該數(shù)據(jù)將丟失。用于回寫SSD高速緩存的典型數(shù)據(jù)保護解決方案是冗余SSD或鏡像。
o繞寫SSD緩存首先將數(shù)據(jù)寫入主存儲,而不是寫入緩存。這為SSD緩存提供了分析數(shù)據(jù)請求和識別最常用和最近使用的數(shù)據(jù)的時間。SSD緩存可以有效地緩存高優(yōu)先級數(shù)據(jù)請求,而不會將不經(jīng)常訪問的數(shù)據(jù)淹沒在緩存中。
優(yōu)化硬盤性能
SSD緩存通過保持頻繁訪問的數(shù)據(jù)立即可用來提高存儲性能。當主機發(fā)出數(shù)據(jù)請求時,緩存軟件將首先分析SSD緩存以查看數(shù)據(jù)是否已駐留在那里。
如果沒有,緩存軟件將使用算法來預測數(shù)據(jù)訪問的模式。該算法識別最少和最常用的數(shù)據(jù),以及最少和最近的數(shù)據(jù)訪問,使其能夠將高優(yōu)先級活動數(shù)據(jù)的副本放入快速高速緩沖存儲器中。
并非每個應用程序都通過SSD緩存得到改進。任何主要發(fā)布順序讀取和寫入的應用程序(如視頻流)都不需要隨機I/O緩存。并且沒有預測模式的數(shù)據(jù)(例如隨機數(shù)據(jù)讀。┎粫芤嬗赟SD緩存,因為沒有數(shù)據(jù)模式可以可靠地預測。
SSD緩存位置
SSD緩存可能出現(xiàn)在使用SSD硬盤的任何類型的設備中:
•個人計算機(Windows和Linux操作系統(tǒng)都提供基本緩存)
•外部存儲陣列
•SSD存儲控制器
•具有直接連接混合存儲的服務器—但意識到服務器緩存不僅限于SSD;eMMC是支持緩存的嵌入式閃存。
SSD緩存用例:虛擬化基礎設施
SSD緩存可以顯著提高企業(yè)應用程序和大型虛擬化網(wǎng)絡的性能并降低延遲。
例如,SSD緩存可加速I/O性能,虛擬化環(huán)境可生成大量隨機I/O。這是因為虛擬化環(huán)境將許多不同的服務器功能和應用程序結合在一起。這包括具有數(shù)百到數(shù)千個虛擬桌面的VDI,或具有數(shù)十個不同應用程序服務器和數(shù)百個動態(tài)虛擬機的虛擬化計算網(wǎng)絡。
所有這些虛擬化實體共享相同的底層存儲介質(zhì)(主要是HDD硬盤),因為用所有閃存陣列替換HDD陣列以支持虛擬化環(huán)境并不劃算。全閃存陣列(AFA)支持極高數(shù)量的I/O,但即使是更大的虛擬化環(huán)境也不會自動生成全閃存陣列(AFA)現(xiàn)在或將來能夠支持的幾乎相同數(shù)量的I/O。
這種架構不能證明全閃存陣列的高成本。但在構成虛擬化網(wǎng)絡的HDD硬盤或混合陣列中,SSD緩存使硬盤能夠支持高I/O需求,即使是對于密集的虛擬化工作負載也是如此。
與基于網(wǎng)絡陣列的存儲相反,基于服務器的SSD硬盤也可用于虛擬化網(wǎng)絡。在這些情況下,主機服務器在其直連存儲中使用SSD緩存來為多個虛擬機提供服務。由于SSD緩存在物理上接近I/O位置,因此延遲會進一步降低。缺點是服務器出現(xiàn)故障,緩存的數(shù)據(jù)可能是不可訪問的,甚至可能是不可恢復的,這取決于寫緩存的類型。但是,如果IT備份/快照/復制緩存的數(shù)據(jù)并快速恢復到另一臺服務器,這不是一個巨大的缺點。
最佳的SSD緩存軟件
“最佳”在SSD緩存中是一個復雜的概念,因為有許多技術可以提供緩存軟件命令。其中包括VMware和Hyper-V、特定應用程序、第三方軟件、Windows和Linux、SSD存儲控制器和存儲陣列。例如:
•Intel:用于混合緩存的智能響應技術。智能響應技術是Intel公司快速存儲技術的一項功能,可提高混合陣列的性能和耐用性。智能響應技術將最常用數(shù)據(jù)和應用程序的I/O塊緩存到SSD硬盤中,并將HDD硬盤用于大容量存儲。
•Intel:RAID緩存控制器。Intel公司還生產(chǎn)RAIDSSD緩存控制器,該控制器使用智能緩存算法識別經(jīng)常訪問的數(shù)據(jù),并將其引導至快速閃存。
•QNAP:網(wǎng)絡附屬存儲(NAS)上的本機SSD緩存。QNAP公司聲稱其緩存功能可將QNAP網(wǎng)絡附加存儲上的IOP性能提升多達10倍,并將延遲降低三倍。QNAP為數(shù)據(jù)庫和虛擬化環(huán)境推出了具有SSD緩存功能的網(wǎng)絡附屬存儲(NAS)。
•NetApp:基于陣列的SSD緩存。SSD緩存功能可提高NetApp陣列的讀取性能,因此主要用于存儲讀取密集型應用程序的陣列。NetApp公司在其SSD上使用主要和二級緩存位置:主緩存是基于SSD控制器的DRAM,而NAND閃存單元是其二級緩存。一旦數(shù)據(jù)存儲在SSD高速緩存中,后續(xù)讀取將在高速緩存上執(zhí)行,而不是在主存儲中執(zhí)行。高性能SSD緩存可改善應用程序I/O和響應時間,并可在不同工作負載下提升性能。