SSD 都有什麼缺點呢?

總有人說SSD這好那好的,那麼SSD除了價格高之外還有什麼其他的壞處嗎


1. 壽命不如傳統硬碟,但這幾年已經有很大改觀。
2. 編譯太快,都沒時間上廁所


容量小
——編輯於2015-8-31
-------------------------------------------------------------------------------------------------------------------
現在SSD最大容量已經達到16TB了。超過機械硬碟。
現在主要也就是

相對貴
——2016-1-16-1:22


貴,
質量看運氣,
我的NEC120G,SSD,用了半年,
某天開機BIOS不認,然後返廠換了塊兒新的。
所有的數據都丟失了。
後來到處打聽才知道很多品牌都有這個毛病。
選這個牌子,我還是沖著他的英特爾ml c顆粒去的。
最大的好處就是快。
用這玩意兒,把我逼著養成了用網上雲盤備份數據的習慣。


壽命:反正你也不會一塊盤用10年,所以不用在意

剩下的除了貴,沒了


容量上限


部分內容搬運整理自維基百科

1.「價格高」正確描述是「單位容量的價格高」。

2.上一條的影響——個人產品市場魚龍混雜,從某些速度低到可以叫「大號U盤」的低端產品(不過也比機械硬碟快不少,尤其是涉及隨機存取時),到某些「已經明顯超過實際個人PC處理能力的」高速產品,價位覆蓋範圍也很大,其中有很多性價比明顯不值的產品(點名一個金士頓的V300)。很多參數和片面測評結果容易誤導消費者。相比之下,機械硬碟的市場已經很成熟和穩定了。
這個問題可以細寫很多,不過主要是看主控和存儲顆粒。SSD的主控是為硬碟設計的,和U盤有明顯不同,SSD預期有大量的頻繁的小文件讀寫,而U盤沒有這種需求。因此,其中一個做得好並不代表另一個也能做好(還是點名金士頓)。一塊好的主控,不但能提高讀寫速度,還能通過合理分配讀寫區塊位置而減少不必要的讀寫次數消耗。存儲顆粒則是質量問題了,現在TLC的已經越來越少,並且TLC=質量差的觀念已經深入人心,MLC已經普及。

3.使用次數(壽命)和掉速問題。單塊存儲塊的使用次數是有限的。SSD隨著使用,性能會逐漸下降。這個與機械硬碟的磁碟碎片無關,機械硬碟在不考慮碎片問題時基本不會有性能損失。不過,SSD即使發生了掉速,一般也仍然具有絕對的速度優勢。現有的使用一部分預留空間的方法可以降低掉速損失,副作用則是實際可用空間略微減少,具體減少量的計算方法較為複雜,Write amplification。

4.上一條的影響——災難性損壞問題。SSD的存儲顆粒在發生災難性損壞之前,一般不會有像機械硬碟的S.M.A.R.T.數據異常那樣的先兆。損壞往往發生在整個存儲顆粒上,因此影響範圍比硬碟壞道要大很多。SSD在損壞以後從被損壞的存儲顆粒中恢複數據的難度也遠高於機械硬碟。


壽命,數據安全


如果固態硬碟里的一顆存儲晶元壞了,那個數據是沒法恢復的。
只是主控壞了,花錢能恢復。


現在的缺點主要還是價格,壽命,以及容量。
在我看來,容量和價格很快就可以突破。兩三年,筆記本就可以普遍使用SSD。


=============================
自己給摺疊了,發現文不對題。
嘿嘿
=============================
要知道ssd是啥做的,裡面是nand啊,現在已經是1z nm的tlc(要知道這種存儲廠可賺錢了,市場都可以當黃金炒了)了,p/e cycle也就500次左右,穩定性隨著p/e增加越來越低,這一切都靠好的ssd controller handle+firmware,包含bad block management, wearleveling,error handle, address mapping,ecc等。
不管怎麼做,ssd廠商都在發展,controller也在發展,不穩定也很多,一般都在保證1年的壽命(data retention,read disturb, program endurance),好的到三年(這個還要求是好的產品,牛逼的控制器廠)。
所以更多的建議當個系統啟動盤,只讀少寫。


沒有


沒有機械硬碟讀寫時候磁頭運動的咔嗒聲
現在好多電腦都不帶不帶硬碟燈了,有時候系統「卡」在那兒不動,機械硬碟還能聽一下是不是在瘋狂IO導致系統卡頓,SSD就沒辦法了


跟硬碟相比,SSD有下面這些缺點:

  1. 性能起伏大
  2. 性能不易預測
  3. 不同型號之間性能差距大
  4. 相對較新,軟體系統可能不能最大化利用其性能
  5. 容易壞?(最近有幾篇新的論文,沒讀,所以問號)

跟硬碟相比,SSD有下面這些優點:

  1. 帶寬高
  2. IOPS(IO Operations Per Second)高
  3. 省電
  4. 抗震

因為問題是關於缺點的,所以下面展開來說缺點。

性能起伏大, 性能不易預測

性能起伏大和不易預測的主要原因是因為SSD自身需要做垃圾回收(Garbage Collection)。垃圾回收是一個可能相當佔用SSD內部資源的過程。在垃圾回收的過程中,SSD用戶的性能可能極大地降低。並且,因為垃圾回收由SSD自己管理,所以其啟動的時間不易預測,導致的SSD的性能也難以預測。

垃圾回收的存在是SSD和HDD的最大的差別之一。要理解垃圾回收,我們得理解SSD里的基本存儲介質(NAND flash)和SSD的體系結構。

什麼是NAND flash?

NAND flash是一種存儲介質,邏輯上由塊和頁組成。一個塊包含多個頁。一般一個塊的大小可能是128KB, 甚至是1MB。一個頁的大小是2KB,4KB或者更大。對NAND flash的基本操作有三個:讀,寫和擦除。讀和寫的最小單位是頁(page)。擦除的最小單位是塊(block)。

NAND flash有兩個特性。一是我們只能在擦除過的頁上寫。二是我們只能在每個塊中順序的寫(因為不按順序寫的話可能會破壞已有的數據)。下面的是一個狀態圖。一個頁不能從「已寫」到「已寫」。其必須先從「已寫」到「已擦」,才能回到」已寫」。

什麼是垃圾回收?

當大量數據寫入SSD後,SSD就只剩少量的空閑塊了(即已擦的塊)。大部分的非空閑的塊是類似下圖中狀態:所有頁都已經寫過,有一部分存了有效數據。SSD需要回收這樣的塊(讓他們變成「已擦」的狀態,新的數據才有地方寫。

圖中的「無效」表示這一頁上的數據已經刪除(其實情況更複雜一些),「有效」表示這一頁上的數據用戶還是需要的。要回收這個塊的時候應該怎麼做?注意我們可以一次只寫一個頁,但是我們不能一次只擦一個(一次必須擦一個)。如果我們把這一個塊直接擦除了,用戶的數據就會丟失。正確的做法是:先把有效的數據複製到一個新的塊上,然後再擦除原來的塊(如下圖所示)。這個複製+擦除的過程就是垃圾回收(使用Hybrid mapping FTL的SSD需要用類似的方式減少mapping table的大小。這個方式的通常被稱作merge。我們姑且認為其是垃圾回收的一種。)。

為什麼垃圾回收會導致SSD變慢?

下圖是SSD內部大致的體系結構,包括有控制器,內存和多個Flash晶元。圖中有六個flash晶元,每三個一組,形成一個通道(channel)。一個通道上的三個晶元共用一條匯流排。

假設我們要把Flash 1上某一個塊中的有效數據複製到Flash 4上。第一步,我們得把數據從Flash 1上複製到內存里。這個過程中,Flash 1所在的匯流排被佔用,用戶對這個通道的請求需要等待。第二步,我們把數據從內存寫到Flash 4上。同樣的,在這期間,用戶對這個通道的請求需要等待。第三步,我們擦除Flash 1上的原來的塊。用戶對flash 1的請求需要等待。寫一個頁的時間比讀一個頁的時間要長很多,所以第二步要佔用第二個通道大量的時間。這三步操作也要佔用控制器和內存。所有這些對資源的佔用會推遲對用戶請求的處理。

垃圾回收會導致SSD變得多慢?

在SSD的評測中,大家通常會看到像這個頁面里的性能圖http://www.anandtech.com/show/10481/the-samsung-850-evo-4tb-ssd-review/2 這個圖顯示SSD的性能下降了大概90%。這個性能下降就(很有可能)是垃圾回收導致的。

基於上面的分析,我們可以認為SSD性能起伏大。在壞的情況下,其有可能比HDD還要慢。

垃圾回收什麼時候會啟動?

每一個型號上的設計都可能不同。但大致可能在差不多沒有可用的塊的時候,或者SSD空閑的時候啟動。

因為我們無法知道SSD上的垃圾回收什麼時候啟動,而且垃圾回收可能極大地影響性能,所以我們說SSD的性能不易預測。

說一個例子。我們學校某個部門的一個用了一年多的SSD RAID的性能在2016年的6月份突然降低了90%,他們至今沒有弄清楚是什麼原因。

不同型號/價格之間的性能差距大

造成差距有軟體和硬體兩方面的原因。

先說軟體方面。上面已經說過,NAND flash的操作方式和HDD里的磁性碟片的操作方式有相當大的不同。為了讓HDD用戶能無縫地升級為SSD,我們必須讓SSD的介面和HDD兼容。SSD中的FTL(Flash Translation Layer)就是做這個事情的:FTL就像是SSD的操作系統一樣,管理著SSD里的所有資源,並對外部提供和HDD兼容的介面。FTL的工作包括轉換用戶看到的邏輯地址和SSD內部的物理地址,垃圾回收,壞塊管理,耗損均衡(wear-leveling)等。

FTL有好有壞。有的FTL可能有大量的優化,讓一些應用跑得很快(但同樣的優化可能在另一些應用上會起反作用)。有的FTL可能很落後,導致SSD快速老化。所以不同FTL會導致性能的差距。FTL的設計十分複雜,是各種廠商的商業秘密。開發能力強的公司應該會有更好的FTL。

再說硬體方面。

控制器的性能和內存的大小會影響SSD的整體性能,就像CPU和內存會影響計算機的性能一樣。但SSD有另一個重要的硬體指標,就是預留空間比例(over-provisioning ratio)。如果用戶看到的可用空間是100GB,而預留空間比例是20%,那麼實際flash的大小就是120GB。預留空間的大小能極大地影響性能。

為什麼要預留空間?

我們用兩個極端的例子來說明。假設我們有一塊超小的SSD,裡面只有四個塊,每個塊有四個頁,每個頁4KB。假設這塊SSD的沒有預留空間,也就是說用戶看到的空間大小是64KB,flash的大小也是64KB。下圖是SSD的初始狀態。

假設用戶寫入了48KB的數據(其中包括overwrite)。在這之後,SSD的一種可能的狀態如下圖。

這個時候,直接可用的塊(已擦的塊)非常少了,SSD必須開始垃圾回收。垃圾回收把B和C里的有效數據複製到D里,然後擦除A、B和C,得到如下的狀態。

在這個過程中,A中沒有有效數據,所以可以直接擦除。這個過程很快。B和C中有有效數據,需要將其複製到D中。這個過程較慢。我們可以想像,塊里的有效數據越多,對其的垃圾回收就越慢。所以,我們希望多一些像A這樣的,少一些像B和C這樣的。

所以,在這個64KB的SSD里,我們每寫大概48KB的數據,就要進行一次垃圾回收。垃圾回收時,SSD的性能可能會大大降低。


現在來考慮另一個極端的例子。假設我們還是有一塊用戶可見大小是64KB的SSD,但是它的實際的flash大小是6400KB(預留空間比例是(6400-64)/64=9900%)。假設SSD在物理空閑空間還剩10%的時候進行垃圾回收,那們我們大概每寫5700KB數據才用做一次垃圾回收。相比於之前的例子,垃圾回收啟動的頻率大大地降低了。

另外,在這個極端的例子里,我們可以輕易地找到沒有有效數據的塊,所以垃圾回收基本不需要複製數據。因為有效數據最多也只是64KB(即用戶可用空間的大小),最多佔用16個塊(每個塊有一個頁的有效數據),而這個SSD一共有400個塊。大部分的塊上沒有有效數據。

雖然上面的兩個例子有些極端,但我們可以看到,當預留空間更大時,垃圾回收的頻率更低,並且開銷更小。

相對較新,軟體系統可能不能利用其性能

舉例來說,SSD的介面比HDD多了一個trim命令,用來告訴SSD,「邏輯地址
x上的數據我不要了,你可以擦掉了」。如果上層的軟體沒有使用,或者沒有正確地使用這個命令,會使性能降低。如果沒有使用trim,SSD會認為所有被寫過的邏輯地址上的數據都是有效數據,給垃圾回收帶來負擔。如果使用得不正確,比如頻繁地發出trim命令,會阻礙某些SSD(SATA)的讀寫請求,因為trim要等待所有在其之前發送的請求完成之後才能發送。如果變換順序,可能會導致本來可以讀取的數據被插隊的trim命令刪除。

還有就是,操作系統中很多代碼假設IO是很慢的,當換上了一個很快的SSD之後,可能工作得不好。


數據易失,尤其是在高溫工作環境,比如伺服器。


除了前面的朋友說的那些問題,還有就是雜訊污染大!ssd雜訊來自讀寫的電感高頻滋滋聲,這種聲音對人耳及健康影響很大,商家說ssd靜音全是用理論騙消費者的,實際質量都有電感高頻嘯叫,電流聲的高頻污染。


  成本高

  每單位容量價格是傳統硬碟的5~10倍(基於快閃記憶體),甚至200~300倍(基於DRAM)。

  容量低

  目前固態硬碟最大容量遠低於傳統硬碟。(美國公司Foremay推出了EC188M系列固態硬碟2TB。)傳統硬碟的容量仍在迅速增長,據稱IBM已測試過4TB的傳統硬碟。

  易受外界影響

  由於不像傳統硬碟那樣屏蔽於法拉第籠中,固態硬碟更易受到某些外界因素的不良影響。如斷電(基於DRAM的固態硬碟尤甚)、磁場干擾、靜電等。

  寫入壽命有限

  寫入壽命有限(基於快閃記憶體)。一般快閃記憶體寫入壽命為1萬到10萬次,特製的可達100萬到500萬次,然而整台計算機壽命期內文件系統的某些部分(如文件分配表)的寫入次數仍將超過這一極限。特製的文件系統或者固件可以分擔寫入的位置,使固態硬碟的整體壽命達到20年以上。

  數據難以恢復

  數據損壞後難以恢復。一旦在硬體上發生損壞,如果是傳統的磁碟或者磁帶存儲方式,通過數據恢復也許還能挽救一部分數據。但是如果是固態存儲,一但晶元發生損壞,要想在碎成幾瓣或者被電流擊穿的晶元中找回數據那幾乎就是不可能的。當然這種不足也是可以犧牲存儲空間來彌補的,主要用RAID 1來實現的備份,和傳統的存儲的備份原理相同。由於目前SSD的成本較高,採用這種方式備份還是價格不菲。

  電池航程較短

  根據實際測試,使用固態硬碟的筆記本電腦在空閑或低負荷運行下,電池航程短於使用5400RPM的2.5英寸傳統硬碟。

  能耗較高

  基於DRAM的固態硬碟在任何時候的能耗都高於傳統硬碟,尤其是關閉時仍需供電,否則數據丟失。


看到這種有關SSD的問題都感覺很親切,忍不住要答一下。

首先,大家普遍印象深刻的價格問題,其實現在已經達到大眾的可接受購買範圍了(當然近多半年是個意外,漲了大約60%,已退回到14年底的水平),根據intel最新報告也許3D給我們的驚喜並不會來那麼快,但是一定會來的。2016年消費級SSD出貨量是1.1億台,業界人士預測17年消費級出貨量為1.3億台,總容量約690億GB,當然辯解歸辯解,事實是這仍然是它比較顯著的第一個缺點。

其次,第二個就是不得不提的壽命和可靠性問題。SLC 可擦除次數為10萬次,MLC約3000-1萬量級,目前火爆便宜的3d TLC為多少呢?很不幸的告訴你,只有幾百次的量級,加上LDPC校驗大約能將壽命延長2-3倍。危言聳聽點說就是,格個幾百次後盤對於數據就不那麼友好了。另外,溫度對於數據保持的影響要高於機械硬碟,JEDEC規定消費級SSD在30度的關機溫度,可以保存一年(25度的關機溫度可以達到152周,就是將近3年),而企業級則是40度關機溫度,保持時間是三個月,這點在規定的最大數據寫入量之前都能滿足這個標準。儘管如此,不得不提的是因為NAND壽命而最終導致盤損毀的可能性遠遠小於固件,配件以及意外導致的SSD壽命終結。

最後,說一下很多人提到的掉速問題,其實這個是主要跟NAND和垃圾回收有關係(當然也有固件的問題),SLC,MLC和TLC掉速程度是遞增的,總體上來說寫的數據越多掉速越明顯,前兩種主要是因為數據量較大時垃圾回收導致,而對於TLC來說,很重要的一點是因為業界為了給出一個漂亮的跑分把部分TLC當做SLC來做cache,這樣剛開始使用的時候速度輕鬆幾百兆,但是後期發現基本就在50MB左右,這個主要的問題是當下製程的TLC擦寫的時間太長,導致後期無SLC可用,而且數據量較大時垃圾回收效率較低導致。雖然起初高富帥的形象一直在打折,但是瘦死的駱駝比馬大,即使再掉速,它的速度,抗震,功耗,雜訊等優點也甩機械硬碟幾條街,其中速度主要指隨機讀寫。

SSD不斷吞噬HDD的市場是時代的需要,也許它先天的不足不會讓它長時間站在非易失存儲介質的頂端,但是就目前來看它還沒到被撼動的地步,包括未來幾年。


AS SSD Benchmark 1.8.5636.37293

------------------------------

Name: KINGSTON SV300S37A120G

Firmware:

Controller: intelide

Offset: 2048 K - OK

Size: 111.79 GB

Date: 2017-3-26 10:57:58

===================================


浦科特m6s 用了一年四個月,前幾天早上開機bios無法識別,用盡辦法也不行,發回RMA服務中心,等待維修,還在等消息。
SSD硬碟一般都是作為系統盤,我還分了個軟體盤出去,一旦故障數據全部丟失,這段時間電腦也沒法用了,只能幹等!


所有的問題都沒有,只有一點是最致命的,隨著使用時間,速度會下降,當然也看顆粒,但是主流還都是那樣,


推薦閱讀:

開發一個 Windows 級別的操作系統難度有多大?
中東富裕國家如沙烏地阿拉伯有哪些拿得出手的現代科技?
HTC 為什麼衰敗?
為什麼有人認為「工作的電腦一般不用 Mac」?
有沒有什麼炫酷的代步工具?

TAG:科技 | 固態硬碟 | 數碼 | U盤 | 數碼產品 |