關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 分析緩存在固態(tài)硬盤(pán)中的作用

分析緩存在固態(tài)硬盤(pán)中的作用

作者: 時(shí)間:2012-11-14 來(lái)源:網(wǎng)絡(luò) 收藏

隨著SSD的普及,如今帶有的SSD價(jià)格也逐漸被用戶(hù)接受,雖然我們知道沒(méi)有的SSD在價(jià)格上會(huì)比有的略貴一些,但是緩存究竟在SSD中發(fā)揮了怎樣的作用并不是每個(gè)用戶(hù)都了解。

本文引用地址:http://2s4d.com/article/202047.htm

什么是緩存:

其實(shí)“緩存”一詞單純從字面上理解可解釋為延緩存放,簡(jiǎn)單的說(shuō)“緩存”是為了平衡高速設(shè)備和低速設(shè)備之間的速度差異而存在的。作用是讓低速設(shè)備盡量的不拖高速設(shè)備的后退。這里之所以用“盡量”一詞,主要是各類(lèi)產(chǎn)品中的緩存容量有限,算法也不可能100%的準(zhǔn)確命中,所以低速設(shè)備多多少少還是會(huì)拖高速設(shè)備的后腿,緩存的作用只能是“盡量”減少這種現(xiàn)象。

例如CPU緩存;每當(dāng)CPU從內(nèi)存里讀數(shù)據(jù)時(shí),會(huì)向內(nèi)存控制器發(fā)出一個(gè)讀指令,要求內(nèi)存控制器返回其要求的數(shù)據(jù),可是因?yàn)閮?nèi)存響應(yīng)速度相對(duì)于CPU是很慢的,所以在數(shù)據(jù)返回之前CPU只有無(wú)所事事的“等待”,如果經(jīng)常出現(xiàn)這樣的情況,再快的CPU也會(huì)被內(nèi)存拖后腿,效率也不會(huì)提高。

在主內(nèi)存(RAM)和CPU之間,放一塊小容量的SRAM。當(dāng)CPU申請(qǐng)RAM數(shù)據(jù)的時(shí)候,先在SRAM里面尋找,如果找到了數(shù)據(jù),就不用花費(fèi)很多時(shí)間到RAM里去讀了(同步讀取)。如果SRAM里沒(méi)有數(shù)據(jù),再到RAM去讀,當(dāng)RAM返回?cái)?shù)據(jù)的時(shí)候,不僅僅返回原來(lái)所需要的數(shù)據(jù),同時(shí)“捎帶”返回所需數(shù)據(jù)“前后”的一些看似無(wú)關(guān)的數(shù)據(jù),并將這些數(shù)據(jù)放入SRAM中。

下次CPU再次到SRAM里讀數(shù)據(jù)的時(shí)候,如果所需數(shù)據(jù)正好在SRAM里,就可以“命中”了。從原理上可以看出,命中率越高,CPU的效率就越高。而命中率又是被“捎帶”返回的數(shù)據(jù)所決定的,哪些數(shù)據(jù)被捎帶返回,這個(gè)就要依CPU內(nèi)部的緩存算法而定了。由此可見(jiàn),由于緩存容量遠(yuǎn)遠(yuǎn)小于主內(nèi)存容量,而緩存算法也不可能100%的準(zhǔn)確命中。

緩存在機(jī)械硬盤(pán)

以上是以CPU緩存做例子。但是在電腦系統(tǒng)里,緩存并不僅僅是CPU獨(dú)有,因?yàn)楦咚僭O(shè)備與低速設(shè)備的矛盾并不僅僅體現(xiàn)在CPU和內(nèi)存之間?,F(xiàn)在假如說(shuō),我要把數(shù)據(jù)從內(nèi)存寫(xiě)入硬盤(pán),由于硬盤(pán)相當(dāng)緩慢,需要等待很長(zhǎng)的時(shí)間才能完成此任務(wù)。那么用戶(hù)體驗(yàn)就是電腦非常慢。實(shí)際上,這里CPU不慢,內(nèi)存不慢,只是硬盤(pán)太慢了。

解決機(jī)械硬盤(pán)速度過(guò)慢的問(wèn)題,就在其內(nèi)部安置了一個(gè)小容量的內(nèi)存,也就是硬盤(pán)的緩存,數(shù)據(jù)首先寫(xiě)入到緩存里。那么在操作系統(tǒng)層面,就會(huì)認(rèn)為數(shù)據(jù)已經(jīng)寫(xiě)入了,用戶(hù)的感覺(jué)就是快速。隨后硬盤(pán)自己再?gòu)木彺鎸?xiě)入到盤(pán)片,這個(gè)過(guò)程無(wú)需用戶(hù)干預(yù)了。

不過(guò)需要注意的是,其實(shí)硬盤(pán)的緩存并不全都用于緩存數(shù)據(jù),還有其他用途,所以不見(jiàn)得緩存越大,性能就越好。而且還有個(gè)緩存算法問(wèn)題。如果算法不優(yōu)秀,命中率就不會(huì)高,這樣大容量緩存形同虛設(shè)。

緩存在SSD

剛才為大家介紹了什么是緩存,以及它在機(jī)械硬盤(pán)和內(nèi)存中發(fā)揮的作用,其實(shí)緩存在SSD固態(tài)硬盤(pán)中發(fā)揮的作用也相差不遠(yuǎn)。SSD上的緩存一般都是1或者2顆DRAM顆粒構(gòu)成,起到數(shù)據(jù)交換緩沖作用。一款SSD產(chǎn)品是否有緩存這樣的設(shè)計(jì),往往是廠商根據(jù)產(chǎn)品定位和用途做得決定,一般一些入門(mén)級(jí)產(chǎn)品或者低速產(chǎn)品,在設(shè)計(jì)上就會(huì)考慮不帶緩存方案,而一些高速產(chǎn)品由于數(shù)據(jù)交換量大,就設(shè)計(jì)有緩存,以提高產(chǎn)品的讀寫(xiě)效率。

通常帶有緩存的SSD在價(jià)格上或比不帶緩存的略高一些,雖然SSD帶緩存讀取小文件的速度會(huì)快些,但對(duì)SSD來(lái)說(shuō),快的太有限了。就反應(yīng)速度來(lái)說(shuō),SSD的反應(yīng)速度一般都在0.2毫秒以?xún)?nèi),不比緩存慢。所以帶緩存對(duì)讀取速度的提升,幾乎可以忽略。其次帶不帶緩存并不影響SSD的壽命,決定SSD壽命的是NAND FLASH的寫(xiě)入次數(shù)。其次,主控芯片的好壞才是是決定SSD性能和使用壽命的重要因素。

文章總結(jié):

通過(guò)筆者的介紹相信大家對(duì)緩存的作用有了深入的了解,另外我們可以看出緩存在內(nèi)存、機(jī)械硬盤(pán)和SSD固態(tài)硬盤(pán)身上發(fā)揮作用的強(qiáng)弱是不一樣的。緩存是為了平衡高速設(shè)備和低速設(shè)備之間的速度差異而存在的,其作用是讓低速設(shè)備盡量的不拖高速設(shè)備的后腳。

緩存的主要功能在于是電腦有資料放到HDD時(shí),因?yàn)镠DD機(jī)械式運(yùn)作比電腦慢很多,所以在HDD上放上緩存,暫時(shí)存儲(chǔ)資料以便電腦能夠繼續(xù)做其他事情,不會(huì)因?yàn)镠DD的動(dòng)作慢,而拖慢了電腦的效能。

而SSD的速度大幅提升,已經(jīng)能夠?qū)崟r(shí)處理數(shù)據(jù),緩存作為提升速度的作用就不大了。由此我們可以得出依據(jù)緩存大小判斷SSD速度并不科學(xué),固態(tài)硬盤(pán)速度快慢主要由主控芯片和閃存顆粒品質(zhì)決定。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉