無處不在的緩存
我們都知道,緩存是用于平衡高速設(shè)備和低速設(shè)備之間速度差異的紐帶,也是一種用于存儲臨時文件的交換區(qū),其最大意義就是“盡可能”幫助低速設(shè)備不拖高速設(shè)備的后退。之所以是“盡可能”,是因為緩存的容量通常都很小,而且數(shù)據(jù)在緩存中的命中率也是有限的。但無論如何,緩存都是提高整體性能中不可或缺的關(guān)鍵一環(huán)。
以CPU內(nèi)集成的L2、L3等小容量高速緩存為例(圖1),它們就是CPU與內(nèi)存之間的紐帶。在數(shù)據(jù)交換的過程中,由于CPU的運算速率遠(yuǎn)超內(nèi)存,因此CPU在更多的時間中都是在等待數(shù)據(jù)到來,或是把數(shù)據(jù)寫入內(nèi)存。而緩存會提前預(yù)讀CPU即將訪問的數(shù)據(jù),當(dāng)CPU需要讀取數(shù)據(jù)時會繞過內(nèi)存直接從緩存中調(diào)用,從而提高讀取效率。
HDD的緩存情結(jié)
繼CPU緩存之后,HDD機械硬盤的緩存也是聲名在外。限于物理結(jié)構(gòu)的制約,就速度一項HDD和內(nèi)存相比簡直堪比“垃圾”,如果沒有緩存用于作為硬盤和內(nèi)存之間數(shù)據(jù)交換的紐帶簡直就是“作死”,因此如今的HDD大都會配備64MB容量的緩存芯片(圖2)。
受SSD固態(tài)硬盤的步步緊逼,機械硬盤領(lǐng)域還逐漸衍生出了新的品類:SSHD(混合硬盤)。與HDD相比,SSHD內(nèi)除了傳統(tǒng)的硬盤控制芯片和緩存芯片以外,還會額外加入NAND閃存芯片(多為8GB)和SSD主控芯片(圖3~4)。其實,我們可以將新加入的兩顆芯片理解為SSHD的特殊緩存模塊,它們會將用戶頻繁使用的各種應(yīng)用、數(shù)據(jù)預(yù)存到NAND中緩存,這個緩存具備學(xué)習(xí)和記憶功能,它預(yù)存的數(shù)據(jù)不會因為關(guān)機而消失,從而給用戶帶來PC越用越快的感覺。
SSD和緩存的曖昧關(guān)系
SSD固態(tài)硬盤的速度遠(yuǎn)遠(yuǎn)超過HDD,為何此類高速存儲設(shè)備內(nèi)也會內(nèi)置緩存芯片呢? 如果將這顆芯片取消會不會影響性能呢?這個問題的答案源于SSD所采用的主控芯片與存儲介質(zhì)。
簡單來說,由于SSD的工作機制與HDD不同,其特有的FTL機制讓操作系統(tǒng)只能對LBA(邏輯地址)進(jìn)行操作而不能干涉到PBA(物理地址)的操作。因此,SSD需要一個可以動態(tài)轉(zhuǎn)換LBA與PBA層的對應(yīng)關(guān)系的FTL表。SSD容量越大,F(xiàn)TL表也就越大。而SSD內(nèi)置的DRAM外部緩存芯片就可以用于保存FTL表,從而節(jié)省系統(tǒng)訪問FTL表的時間提高讀寫效率。
另一方面,像三星840這類采用TLC閃存的SSD(圖5),它所內(nèi)置的高達(dá)512MB的DRAM外部緩存芯片并非提升系統(tǒng)性能,而是起到了延長TLC閃存耐久度的功效。此外,通過主控的特殊算法,還能將緩存用于4K小文件,從而明顯提高4K性能。
問題來了,既然都說SSD離不開緩存,那為什么以東芝旗下Q系列SSD為代表的固態(tài)硬盤產(chǎn)品,會取消看似重要的緩存芯片呢(圖6)?原來,這個秘密就源于東芝Q系列SSD所選用的主控芯片。
SSD主控可彌補緩存作用
東芝Q系列SSD所用的主控芯片是基于Marvell主控的二次開發(fā),和Marvell最新的88NV11X0系列主控有著血緣關(guān)系。88NV11X0系列包括88NV1120和88NV1140兩款,它們最大的特色就是不再需要DRAM外部緩存芯片。
88NV11X0系列主控芯片內(nèi)置了兩顆Cortex-R5 CPU核心,并通過嵌入式的SRAM硬件加速來優(yōu)化IOPS隨機性能。換句話說,88NV11X0主控可以通過更為復(fù)雜的固件算法來模擬DRAM外部緩存的功能,從而可以幫助SSD節(jié)省出一個緩存芯片的空間。要知道,88NV11X0主控的封裝尺寸只有8×8mm2,最少僅需兩顆芯片就可做成一個SSD。也許對2.5英寸標(biāo)準(zhǔn)尺寸SSD來說不算什么,但對M.2(NGFF)接口的迷你SSD來說就意義非凡了,使大容量2230(22mm寬,30mm長)規(guī)格的M.2成為了可能。
就性能而言,東芝Q系列SSD與同價位帶緩存的SSD相比也是不遑多讓(圖7),失去了緩存芯片的幫忙并沒有出現(xiàn)想象中的性能和壽命衰減。在M.2成為新一代主板和筆記本的標(biāo)準(zhǔn)接口后,不需要緩存的SSD主控將有更為廣泛的發(fā)展前景,相同容量但尺寸更小的SSD可以幫助PC們進(jìn)一步瘦身。
緩存成集顯“激素”
筆記本用戶肯定都發(fā)現(xiàn)了一個有趣的現(xiàn)象,CPU集成顯卡在配備雙內(nèi)存時的性能更好,內(nèi)存頻率越高,集顯性能也就越強。實際上,對CPU集顯而言,系統(tǒng)會將一部分內(nèi)存空間虛擬成集顯的“緩存”(也可稱為顯存),緩存規(guī)格越高(如雙內(nèi)存時就是雙通道),性能自然也就越強了。
而英特爾旗下的Iris/Iris Pro(銳炬)系列核芯顯卡之所以可以獲得媲美GT640M級別獨立顯卡的性能,答案就源于在CPU上加入了一顆128MB容量的eDRAM嵌入式緩存(圖8),代號“Crystalwell”。我們可以將Crystalwell視為內(nèi)存體系中的“四級緩存”,任何從三級緩存中被趕出來的數(shù)據(jù)都會到這里邊來,其雙向帶寬可達(dá)50GB/s,從而徹底解決了集成顯卡面臨內(nèi)存帶寬不足的問題。
小 ? ?結(jié)
總之,緩存是PC領(lǐng)域各種硬件的重要組成部分,只是在技術(shù)的發(fā)展過程中面臨著更多可能。比如在CPU中新出現(xiàn)的eDRAM緩存可以進(jìn)一步改善集顯性能,但需要面臨更高的功耗和成本壓力;在SSD硬盤領(lǐng)域中,緩存可以被新主控與固件算法取代,從而幫助廠商設(shè)計更為迷你的SSD產(chǎn)品。