隨著超極本的曝光率越來(lái)越高,SSD(固態(tài)硬盤(pán))對(duì)于很多用戶來(lái)說(shuō)也不再是什么陌生的產(chǎn)品。超極本的優(yōu)秀的性能表現(xiàn),除了得益于新一代移動(dòng)計(jì)算平臺(tái),SSD在其中也功不可沒(méi)。雖然SSD是最近兩年才被大多數(shù)人所熟知,但是SSD的歷史足跡足以追述到上世紀(jì)70年代。
對(duì)復(fù)雜,出錯(cuò)的幾率會(huì)增加,必須進(jìn)行錯(cuò)誤修正,這個(gè)動(dòng)作導(dǎo)致其性能大幅落后于結(jié)構(gòu)簡(jiǎn)單的SLC閃存。
因NAND閃存是一種電壓元件,因此它以不同的電壓范圍來(lái)代表不同的數(shù)據(jù)。SLC就是在NAND閃存的每個(gè)存儲(chǔ)單元里存儲(chǔ)1bit的數(shù)據(jù),存儲(chǔ)的數(shù)據(jù)代表”0”還是”1”是由基于Vth電壓閾值來(lái)判定,對(duì)于NAND閃存的寫(xiě)入(編程),就是對(duì)其充電,使得它的電壓超過(guò)上圖的電壓判定點(diǎn)A,存儲(chǔ)單元就表示0-已編程,如果沒(méi)有充電或者電壓閾值低于那個(gè)A點(diǎn),就表示1-已擦除。
M L C則是每個(gè)存儲(chǔ)單元里存儲(chǔ)2 b i t的數(shù)據(jù),存儲(chǔ)的數(shù)據(jù)是”00”,”01”,”10”,”11”也是基于電壓閾值的判定,當(dāng)電壓沒(méi)到判定點(diǎn)B時(shí),就代表”11”,當(dāng)電壓在B和C之間,則代表“10”,電壓在C和D之間,則表示”01”,而電壓達(dá)到D以上,則表示”00”。
SLC和MLC的擦除性能是一樣的,MLC閃存的讀取性能需花費(fèi)兩倍長(zhǎng)的時(shí)間,寫(xiě)入性能需花費(fèi)四倍長(zhǎng)的時(shí)間。如果您以前聽(tīng)說(shuō)過(guò)有人抱怨MLC寫(xiě)入速度,這就是部分原因。不過(guò)一定要記住,我們?cè)谶@里談?wù)摰倪@些數(shù)字低得離譜——甚至900微秒寫(xiě)入MLC閃存的速度都遠(yuǎn)遠(yuǎn)超過(guò)向普通機(jī)械硬盤(pán)的寫(xiě)入速度。
SLC的最大優(yōu)勢(shì)不在于它的性能好而在于它的使用壽命長(zhǎng)。要了解閃存的耐用性,我們首先需要看看存儲(chǔ)設(shè)備的內(nèi)部構(gòu)造。
我們已經(jīng)證實(shí)了一個(gè)閃存單元可以儲(chǔ)存一個(gè)還是兩個(gè)比特取決于它是SLC還是MLC設(shè)備。把一群?jiǎn)卧奂揭黄穑偷玫搅艘粋€(gè)page。page是您可以編程(寫(xiě)入)NAND閃存裝置最小的結(jié)構(gòu)。
大部分MLC NAND閃存的每一page是4KB。一個(gè)block是由許多page組成的,在STEC的MLC SSD中一個(gè)block包含128 pages(128 pages x 4KB/page = 512KB/ block = 0.5MB。Block是您可以擦除得最小結(jié)構(gòu)。
因此,當(dāng)您寫(xiě)入SSD時(shí),您一次可寫(xiě)入4KB數(shù)據(jù);但是當(dāng)您從SSD擦除數(shù)據(jù)時(shí),您一次不得不刪除512KB。無(wú)論何時(shí)您將數(shù)據(jù)寫(xiě)入閃存,我們都會(huì)反復(fù)經(jīng)歷同樣的編程過(guò)程。創(chuàng)建一個(gè)電場(chǎng),電子穿過(guò)氧化物并儲(chǔ)存電荷。擦除數(shù)據(jù)會(huì)導(dǎo)致同樣的事情發(fā)生,但卻向著相反的方向。問(wèn)題是電子穿過(guò)氧化物的次數(shù)越多,就會(huì)變的越弱,最終將電壓也不能再阻止電子的自由活動(dòng)了。這時(shí)候,SSD的這個(gè)單元就發(fā)生故障了。
大約經(jīng)過(guò)一萬(wàn)次擦除/編程周期后,MLC閃存才會(huì)最終出現(xiàn)那個(gè)問(wèn)題。而SLC可使用十萬(wàn)次,這得益于它的簡(jiǎn)單設(shè)計(jì)。由于壽命有限,所以SSD必須非常小心地選擇擦除/編程每個(gè)單元的時(shí)間和方式。請(qǐng)注意,您可以從一個(gè)單元里讀取數(shù)據(jù),多少次都行,這并不減少單元存儲(chǔ)數(shù)據(jù)的能力。只有擦除/編程周期才會(huì)降低了壽命。
此外需要注意的是,因?yàn)镾SD沒(méi)有擦除block這個(gè)概念,唯一擦除block的時(shí)候就是寫(xiě)入新數(shù)據(jù)的時(shí)候。如果您刪除Windows里的一個(gè)文件而沒(méi)有創(chuàng)建新的文件,SSD實(shí)際上并沒(méi)有從閃存中移走這個(gè)數(shù)據(jù),除非您準(zhǔn)備好寫(xiě)入新的數(shù)據(jù)。
大家應(yīng)該已經(jīng)知道,NAND顆粒的最小寫(xiě)入單位是頁(yè),而一般每個(gè)頁(yè)的大小是4KB。在HDD時(shí)代,分區(qū)起始扇區(qū)的定義在第63個(gè)扇區(qū),也就是31.5KB的位置,這里各位應(yīng)該會(huì)發(fā)現(xiàn)問(wèn)題了,31.5KB并不是4KB的整數(shù)倍,若繼續(xù)使用這個(gè)分區(qū)方式,勢(shì)必導(dǎo)致以后每寫(xiě)入一個(gè)頁(yè)(4KB)的數(shù)據(jù),都必須要橫跨寫(xiě)入到2個(gè)頁(yè)內(nèi),這樣不單寫(xiě)入時(shí)間增加一倍,WA同樣也增加了一倍(寫(xiě)一頁(yè)實(shí)際變成寫(xiě)二頁(yè))。因此不管從任何方面來(lái)說(shuō),對(duì)SSD都不是一件好事,既影響性能表現(xiàn)(最顯著的就是測(cè)試成績(jī)低下),也影響SSD的壽命。
下圖中SSD出現(xiàn)分區(qū)沒(méi)對(duì)齊問(wèn)題,讀寫(xiě)正好在2個(gè)16KB邊界,所以需要做2次讀-改-寫(xiě)操作,那么我們說(shuō)這時(shí)候的操作所需時(shí)間就 是原來(lái)的2倍。如果系統(tǒng)請(qǐng)求寫(xiě)入4KB,那么發(fā)生這種情況的概率就是25%(圖中第一個(gè)4KB在邊界,后面3個(gè)在16KB內(nèi),而第5個(gè)又到下個(gè)16KB邊 界了),性能為原本的80%。如果把寫(xiě)入請(qǐng)求提升到32KB的話,發(fā)生的概率就是8/9了,隨著請(qǐng)求容量的增大,差距就會(huì)縮小。所以對(duì)持續(xù)速度來(lái)說(shuō),分區(qū)不對(duì)齊并不會(huì)影響很大。想要做到4KB對(duì)齊其實(shí)也很簡(jiǎn)單,用Windows 7自帶的分區(qū)軟件進(jìn)行分區(qū)格式化就可以,當(dāng)然你也可以選擇使用第三方磁盤(pán)工具,比如最新版的DiskGenius。在我們?nèi)粘J褂弥校霈F(xiàn)4KB不對(duì)齊大多數(shù)是因?yàn)槭褂苗R像恢復(fù)系統(tǒng)造成的,如果是正常安裝Windows很少會(huì)出現(xiàn)這種情況。