《Inside Solid State Device》讀書筆記

這周我看了《Inside Solid State Device》一書,瞭解瞭解SSD做爲軟件的補充。算法

固態硬盤區別於將數據以磁形式存儲的機械硬盤,使用了一種名爲NAND的閃存顆粒,以電信號的形式存儲數據。存儲介質利用半導體的特性,以高低電平來標記數據的類型。NAND顆粒又以最小存儲單元的堆疊形式不一樣而分爲SLC(single-level cell)顆粒、MLC (multi-level cell)顆粒和TLC(triple-level cell)顆粒。單個slc存儲單元有0和1兩種充電值,(高電平記爲「1」,標記爲空白,低電平標爲「0」,標記爲存儲)可存儲1bit的數據;單個mlc存儲單元有四種充電值——00、0一、10和11,可存儲2bit數據;以此類推,單個tlc存儲單元有8種充電值,可存儲3bit數據。slc顆粒的結構簡單、穩定,具備高速、安全、使用壽命長的特色,(壽命約爲100000次徹底Program/Erase)而mlc顆粒相比slc顆粒,擁有更高的存儲密度,也由於結構的複雜,須要犧牲必定的速度和使用壽命(壽命約10000次徹底P/E),tlc則同理,存儲密度相比slc有了很大的提高,但速率和使用壽命也大幅降低。(壽命約爲500-2000次徹底P/E)緩存

2012年開始,民用固態硬盤規模迎來了一次井噴,緣由是MLC顆粒的商用開始成熟,解決了傳統的SLC顆粒生產成本高的問題,將這種高速安全的存儲介質帶入民用市場。一樣,2015年,解決了使用壽命問題的TLC顆粒憑藉成本優點開始逐步取代MLC顆粒。目前,市場在售的大部分固態硬盤都是用TLC顆粒生產而來。安全

機械硬盤的讀寫原理是經過機械馬達帶動機械臂上的磁頭對磁碟片進行讀取和寫入,而這種方式最大的弊端就是尋址要花費至少10ms的時間,從而帶來了巨大的延遲,影響了用戶的體驗。固態硬盤則不存在這樣的問題,閃存顆粒的尋址只須要花費約0.1ms。可是固態硬盤也存在自然的缺陷,經過電信號存儲數據的方式雖然讀寫速度快,可是一旦存儲顆粒出現問題,數據恢復的概率幾乎爲0。存儲顆粒出現故障的概率隨着其讀寫次數的增多也在不斷增長。數據的安全問題彷佛是固態硬盤的死穴,特別是隨着大量TLC顆粒的固態硬盤的上市,人們愈來愈關注如何延長固態硬盤的使用壽命(以提升徹底讀寫次數這種方式爲主),下降使用時的故障率,保持壽命內的讀寫速度。目前,固態硬盤中有幾種方式來實現這一目的。ide

首先是磨損均衡(wear leveling)性能

因爲系統在向固態硬盤寫入文件時,並不全是徹底的順序寫入,大部分時間都是隨機寫入,文件在系統中體現的邏輯位置和在固態硬盤中的物理位置經過LBA(Logical Block Addressing)表格一一對應,而當固態硬盤的主控發現某些區塊的顆粒已經進行了相對屢次的擦寫,某些區塊只進行了相對少次的擦寫,會將文件寫入相對少次的區塊,以平衡各區塊間的磨損程度,不導致某些區塊提早透支使用壽命,使固態硬盤提早報廢。優化

trimip

機械硬盤對刪除後從新寫入的過程,僅須要磁柱頭直接改變碟片上的磁信號,不存在擦除的過程。而固態硬盤對「刪除」的理解,則只是在LBA表格中刪除對應文件的邏輯位置信息,使系統找不到這個文件從而認爲該文件已刪除。當該物理區塊又有文件寫入時,則會先對對應寫入的區塊進行擦除,而後再寫入。若該區塊中還包含其餘有效的文件,還須要先將該區塊中的有效文件複製改寫到其餘區塊中,而後擦除該區塊,再進行寫入。原本單純的寫入過程卻變成了複雜的過程,下降了總體的響應速度。trim就是爲解決這一問題而生的。微軟在Windows7系統中開始加入對固態硬盤的trim指令。它的做用是,當系統在邏輯層面對文件進行刪除時,固態硬盤在物理層面也對對應區塊進行擦除,其中的有效文件會提早進行轉移改寫,保證了使用的速度。內存

垃圾回收(Garbage Collection)it

因爲大量的隨機寫入,固態硬盤中存在着一些小的有效數據,它們分佈在不一樣的區塊中,文件大小不足以佔用整個區塊。固態硬盤的主控會在系統空閒時,將這一部分的文件複製入系統內存中,自動緩存的固態硬盤會複製入自帶的緩存中,而後將這一部分文件寫入其餘的區塊,再將原區塊擦除,保證原區塊的寫入性能。這一機制相似於機械硬盤的磁盤碎片整理。io

預留空間

由於固態硬盤的垃圾回收機制和改寫機制會佔用其餘空白的區塊,因此在必定程度上來講,預留的空白空間越大,對保持固態硬盤的讀寫速度越有利。

靜動數據分離

固態硬盤主控會識別LBA中數據的讀寫次數,對不常常寫入的靜態數據(系統文件,軟件安裝文件)和常常寫入的動態數據進行歸類分離,在有文件寫入時,會主動寫入存有動態數據的區塊,避免改寫靜態數據形成性能浪費。

總結

固態硬盤的主控在整個固態硬盤中起到了重要做用,甚至能夠說一個主控的優秀與否決定了這個固態硬盤的壽命和性能。競爭激烈的市場上,主控性能的提升也帶來了強大的競爭力。在即將到來QLC顆粒上更須要依靠主控嚴格的糾錯和算法的優化,才能保證必要的性能。

相關文章
相關標籤/搜索