閃存SSD存儲(chǔ)與HDD存儲(chǔ)速度大比拼
閃存SSD以及閃存SSD存儲(chǔ)陣列已經(jīng)變得越發(fā)普及。其原因來(lái)自于許多方面,比如說(shuō)有對(duì)速度的需求,或者至少是感覺(jué)有這樣的需求。市場(chǎng)上大多數(shù)人對(duì)SSD存儲(chǔ)的看法是這是一款比傳統(tǒng)HDD存儲(chǔ)更快的設(shè)備。但這究竟是否屬實(shí)?我們將在本文一起探討閃存SSD的真相。
觀點(diǎn):閃存SSD總是比傳統(tǒng)硬盤(pán)更快
大多數(shù)IT人員都會(huì)認(rèn)為這句話說(shuō)的沒(méi)錯(cuò)。但事實(shí)是,這里的“總是”是否用的正確。
事實(shí):閃存SSD存儲(chǔ)并不總是比HDD存儲(chǔ)快
這取決于應(yīng)用負(fù)載,SSD使用壽命以及SSD被寫(xiě)入的位置。
在隨機(jī)訪問(wèn)及讀訪問(wèn)延時(shí)上的表現(xiàn)均會(huì)優(yōu)于傳統(tǒng)HDD硬盤(pán)上的表現(xiàn),例如在隨機(jī)讀延時(shí)上,傳統(tǒng)硬盤(pán)在合理的2.9ms到12ms的范圍內(nèi),而SSD閃存的表現(xiàn)則會(huì)控制在100微秒左右,這對(duì)高負(fù)載的讀操作和隨機(jī)訪問(wèn)場(chǎng)景是不錯(cuò)的選擇。低延時(shí)的直接效果是使得閃存SSD讀取數(shù)據(jù)的能力更加直接,可以直接從閃存SSD的特定區(qū)域?qū)?shù)據(jù)讀出來(lái)。在操作系統(tǒng)啟動(dòng)和應(yīng)用啟動(dòng)的時(shí)候,閃存SSD通常會(huì)幫上大忙,特別是在讀取數(shù)據(jù)的環(huán)節(jié)。
當(dāng)在寫(xiě)操作放大的時(shí)候,SSD閃存存儲(chǔ)的性能明顯有所降低,并且會(huì)隨著閃存SSD的使用而持續(xù)下降。盡管有手段將性能降低的水準(zhǔn)減緩,但這只是相對(duì)而言的。性能降低的程度很大程度上取決于閃存NAND的類(lèi)型。更為昂貴的單層單元SLC閃存性能表現(xiàn)會(huì)比企業(yè)級(jí)多層單元eMLC,多層MLC或者三層單元TLC閃存更好。
傳統(tǒng)磁盤(pán)存儲(chǔ)的性能也會(huì)因?yàn)樽鲞^(guò)磁盤(pán)碎片整理而降低。每一個(gè)碎片都會(huì)去讀取整個(gè)數(shù)據(jù)塊,隨著碎片的增加延遲也隨之增加。對(duì)于傳統(tǒng)磁盤(pán)來(lái)說(shuō),碎片整理工作相對(duì)直接且有效。很遺憾的是,就目前的閃存來(lái)說(shuō),SSD寫(xiě)操作會(huì)降低性能是一個(gè)不爭(zhēng)的事實(shí)。因此,盲目的表示SSD的速率優(yōu)于傳統(tǒng)磁盤(pán)的速率是不科學(xué)的,在一些場(chǎng)景下閃存的確遜于傳統(tǒng)磁盤(pán)的表現(xiàn)。
寫(xiě)操作對(duì)于閃存SSD來(lái)說(shuō),的確是一塊短板。同樣是寫(xiě)操作,閃存SSD和傳統(tǒng)磁盤(pán)處理的方式相當(dāng)不同。所有閃存SSD的寫(xiě)操作僅能發(fā)生在沒(méi)有使用過(guò)的或是事先擦除過(guò)的數(shù)據(jù)塊,而對(duì)于傳統(tǒng)磁盤(pán)來(lái)說(shuō),則可以覆蓋之前寫(xiě)過(guò)的數(shù)據(jù),這點(diǎn)在閃存SSD上是無(wú)法實(shí)現(xiàn)的。這些數(shù)據(jù)塊需要先被擦除干凈,再寫(xiě)入新的數(shù)據(jù)。這就意味著對(duì)于閃存SSD來(lái)說(shuō),數(shù)據(jù)寫(xiě)起來(lái)就沒(méi)有傳統(tǒng)磁盤(pán)這么方便。
SSD控制器的作用則是通過(guò)后臺(tái)進(jìn)行垃圾清理,從而減緩閃存SSD的性能問(wèn)題??刂破骼厥盏膶?shí)現(xiàn)方法有許多種,但最常見(jiàn)的方法是提前分配20%-50%額外的空間,取決于廠商以及存儲(chǔ)單元的不同。
這就意味著,對(duì)于一個(gè)200TB的SSD存儲(chǔ)來(lái)說(shuō),可能就需要有256TB的空間,其中僅有200TB的空間是真實(shí)可見(jiàn)并可用的。額外的空間則用于給控制器提供動(dòng)態(tài)空間,這樣在做垃圾清理的時(shí)候用戶的寫(xiě)操作并不會(huì)被影響。存有廢棄數(shù)據(jù)的寫(xiě)入頁(yè)與剩余的頁(yè)空間交換,然后新擦除后的頁(yè)則成為了新的可用空間。
閃存SSD的動(dòng)態(tài)空間縮短了整體寫(xiě)入時(shí)間,其本質(zhì)是縮短了寫(xiě)入操作的整個(gè)流程,從而大大提升了寫(xiě)操作的性能。
寫(xiě)操作在較為昂貴的單層單元SLC閃存SSD上的表現(xiàn)接近于讀速度。而對(duì)于企業(yè)級(jí)多層單元eMLC,多層單元MLC,尤其是三層單元TLC來(lái)說(shuō),寫(xiě)性能是遠(yuǎn)遠(yuǎn)低于讀性能的。而對(duì)于傳統(tǒng)磁盤(pán)來(lái)說(shuō),讀和寫(xiě)的性能則相對(duì)接近。
的確,從一般意義上來(lái)說(shuō),閃存SSD會(huì)比傳統(tǒng)磁盤(pán)的速度要快。因此,在什么時(shí)候閃存SSD會(huì)慢于傳統(tǒng)硬盤(pán)的表現(xiàn)呢?答案是在工作負(fù)載大多為寫(xiě)操作或者是在用久了的或已進(jìn)行過(guò)大量寫(xiě)操作的SSD上進(jìn)行混合操作的時(shí)候。