
無處不在的緩存
我們都知道,緩存是用于平衡高速設備和低速設備之間速度差異的紐帶,也是一種用于存儲臨時文件的交換區,其最大意義就是“盡可能”幫助低速設備不拖高速設備的后退。之所以是“盡可能”,是因為緩存的容量通常都很小,而且數據在緩存中的命中率也是有限的。但無論如何,緩存都是提高整體性能中不可或缺的關鍵一環。
以CPU內集成的L2、L3等小容量高速緩存為例(圖1),它們就是CPU與內存之間的紐帶。在數據交換的過程中,由于CPU的運算速率遠超內存,因此CPU在更多的時間中都是在等待數據到來,或是把數據寫入內存。而緩存會提前預讀CPU即將訪問的數據,當CPU需要讀取數據時會繞過內存直接從緩存中調用,從而提高讀取效率。
HDD的緩存情結
繼CPU緩存之后,HDD機械硬盤的緩存也是聲名在外。限于物理結構的制約,就速度一項HDD和內存相比簡直堪比“垃圾”,如果沒有緩存用于作為硬盤和內存之間數據交換的紐帶簡直就是“作死”,因此如今的HDD大都會配備64MB容量的緩存芯片(圖2)。
受SSD固態硬盤的步步緊逼,機械硬盤領域還逐漸衍生出了新的品類:SSHD(混合硬盤)。與HDD相比,SSHD內除了傳統的硬盤控制芯片和緩存芯片以外,還會額外加入NAND閃存芯片(多為8GB)和SSD主控芯片(圖3~4)。其實,我們可以將新加入的兩顆芯片理解為SSHD的特殊緩存模塊,它們會將用戶頻繁使用的各種應用、數據預存到NAND中緩存,這個緩存具備學習和記憶功能,它預存的數據不會因為關機而消失,從而給用戶帶來PC越用越快的感覺。
SSD和緩存的曖昧關系
SSD固態硬盤的速度遠遠超過HDD,為何此類高速存儲設備內也會內置緩存芯片呢? 如果將這顆芯片取消會不會影響性能呢?這個問題的答案源于SSD所采用的主控芯片與存儲介質。
簡單來說,由于SSD的工作機制與HDD不同,其特有的FTL機制讓操作系統只能對LBA(邏輯地址)進行操作而不能干涉到PBA(物理地址)的操作。因此,SSD需要一個可以動態轉換LBA與PBA層的對應關系的FTL表。SSD容量越大,FTL表也就越大。而SSD內置的DRAM外部緩存芯片就可以用于保存FTL表,從而節省系統訪問FTL表的時間提高讀寫效率。
另一方面,像三星840這類采用TLC閃存的SSD(圖5),它所內置的高達512MB的DRAM外部緩存芯片并非提升系統性能,而是起到了延長TLC閃存耐久度的功效。此外,通過主控的特殊算法,還能將緩存用于4K小文件,從而明顯提高4K性能。
問題來了,既然都說SSD離不開緩存,那為什么以東芝旗下Q系列SSD為代表的固態硬盤產品,會取消看似重要的緩存芯片呢(圖6)?原來,這個秘密就源于東芝Q系列SSD所選用的主控芯片。


SSD主控可彌補緩存作用
東芝Q系列SSD所用的主控芯片是基于Marvell主控的二次開發,和Marvell最新的88NV11X0系列主控有著血緣關系。88NV11X0系列包括88NV1120和88NV1140兩款,它們最大的特色就是不再需要DRAM外部緩存芯片。
88NV11X0系列主控芯片內置了兩顆Cortex-R5 CPU核心,并通過嵌入式的SRAM硬件加速來優化IOPS隨機性能。換句話說,88NV11X0主控可以通過更為復雜的固件算法來模擬DRAM外部緩存的功能,從而可以幫助SSD節省出一個緩存芯片的空間。要知道,88NV11X0主控的封裝尺寸只有8×8mm2,最少僅需兩顆芯片就可做成一個SSD。也許對2.5英寸標準尺寸SSD來說不算什么,但對M.2(NGFF)接口的迷你SSD來說就意義非凡了,使大容量2230(22mm寬,30mm長)規格的M.2成為了可能。
就性能而言,東芝Q系列SSD與同價位帶緩存的SSD相比也是不遑多讓(圖7),失去了緩存芯片的幫忙并沒有出現想象中的性能和壽命衰減。在M.2成為新一代主板和筆記本的標準接口后,不需要緩存的SSD主控將有更為廣泛的發展前景,相同容量但尺寸更小的SSD可以幫助PC們進一步瘦身。
緩存成集顯“激素”
筆記本用戶肯定都發現了一個有趣的現象,CPU集成顯卡在配備雙內存時的性能更好,內存頻率越高,集顯性能也就越強。實際上,對CPU集顯而言,系統會將一部分內存空間虛擬成集顯的“緩存”(也可稱為顯存),緩存規格越高(如雙內存時就是雙通道),性能自然也就越強了。
而英特爾旗下的Iris/Iris Pro(銳炬)系列核芯顯卡之所以可以獲得媲美GT640M級別獨立顯卡的性能,答案就源于在CPU上加入了一顆128MB容量的eDRAM嵌入式緩存(圖8),代號“Crystalwell”。我們可以將Crystalwell視為內存體系中的“四級緩存”,任何從三級緩存中被趕出來的數據都會到這里邊來,其雙向帶寬可達50GB/s,從而徹底解決了集成顯卡面臨內存帶寬不足的問題。
小 ? ?結
總之,緩存是PC領域各種硬件的重要組成部分,只是在技術的發展過程中面臨著更多可能。比如在CPU中新出現的eDRAM緩存可以進一步改善集顯性能,但需要面臨更高的功耗和成本壓力;在SSD硬盤領域中,緩存可以被新主控與固件算法取代,從而幫助廠商設計更為迷你的SSD產品。