tft每日頭條

 > 科技

 > 固态硬盤怎樣發揮作用

固态硬盤怎樣發揮作用

科技 更新时间:2024-12-22 20:29:51

固态硬盤怎樣發揮作用(固态硬盤是如何工作的)1

我們經常讨論不同類型的NAND結構之間的區别:垂直NAND與平面,或者多級單元(MLC)與三級單元(TLC)和四級單元(QLC)。現在,讓我們來談一談更基本的相關問題。首先,固态硬盤是如何工作的,它們與英特爾的非易失性存儲技術(Optane)等新技術相比如何?

為了理解固态硬盤與旋轉磁盤的不同之處和原因,我們需要談一談硬盤的情況。硬盤在一系列被稱為盤片的旋轉磁片上存儲數據。

上面的推杆将讀寫頭定位在硬盤的正确區域上,以讀取或寫入信息。

由于驅動器磁頭必須在磁盤的某一區域上對準才能讀或寫數據,而且磁盤不斷旋轉,因此在訪問數據之前會有一個延遲。硬盤可能需要從多個位置讀取,以啟動一個程序或加載一個文件,這意味着它可能不得不等待盤片多次旋轉到适當的位置,才能完成命令。如果硬盤處于睡眠狀态或低功率狀态,可能需要多花幾秒鐘時間讓磁盤旋轉到全功率并開始運行。

固态硬盤怎樣發揮作用(固态硬盤是如何工作的)2

機械硬盤存儲原理:磁頭臂是可以旋轉的,磁頭可借助磁頭臂沿盤片的半徑方向運動。

很明顯從一開始,硬盤不可能與CPU的運行速度相提并論。硬盤的延遲是以毫秒為單位的,而典型的CPU是以納秒為單位的。一毫秒等于1,000,000納秒,而硬盤通常需要10-15毫秒的時間來找到硬盤上的數據并開始讀取。硬盤行業引入了更小的盤片、磁盤内存緩存和更快的主軸速度來對抗這種趨勢,但機械硬盤隻能轉這麼快。西部數據的10,000 RPM VelociRaptor系列是有史以來為消費市場制造的最快的一套硬盤,而一些企業級硬盤的旋轉速度達到了15,000 RPM。問題是,即使是擁有最大緩存和最小盤片的最快旋轉驅動器,就你的CPU而言,硬盤的速度仍然慢得令人憤怒。

固态硬盤如何與衆不同

固态硬盤之所以被稱為固态硬盤,是因為它們不依賴于移動部件或旋轉的磁盤。相反,數據被保存在一個NAND閃存池中。NAND本身是由所謂的浮動門晶體管組成的。與DRAM中使用的晶體管設計不同,NAND閃存必須每秒多次刷新,它的設計是即使在不通電的情況下也能保持其充電狀态。這使得NAND成為一種非易失性存儲器。相比之下,DRAM是易失性的,如果不迅速刷新,它就會丢失數據。

003

上圖顯示了一個簡單的閃存單元設計。電子被儲存在浮動門中,然後被讀取為帶電的 "0 "或不帶電的 "1"。在NAND閃存中,"0 "意味着數據被存儲在一個單元中,這與我們通常認為的 "0 "或 "1 "正好相反。NAND閃存被組織成一個網格。整個網格布局被稱為塊,而組成網格的各個行被稱為頁。常見的頁大小為2K、4K、8K或16K,每塊有128至256頁。因此,塊的大小通常在256KB和4MB之間變化。

這個系統的一個優勢應該是顯而易見的。由于固态硬盤沒有移動部件,它們的運行速度遠遠高于典型的硬盤。下圖顯示了典型存儲介質的訪問延遲,單位為微秒。

NAND的速度遠不及主存儲器,但它比硬盤快好幾個數量級。雖然NAND閃存的寫入延遲比讀取延遲要慢得多,但它們仍然超過了傳統的旋轉式硬盤介質。

固态硬盤怎樣發揮作用(固态硬盤是如何工作的)3

在上面的圖表中,有兩點值得注意。首先,請注意在NAND的每個單元中增加更多的比特對存儲器的性能有很大影響。相對于讀取來說,寫入的情況更糟糕,典型的三層單元(TLC)的延遲比單層單元(SLC)NAND的讀取要差4倍,但寫入要差6倍。擦除延遲也會受到顯著影響。這種影響也不是成正比的:TLC NAND的速度幾乎是MLC NAND的兩倍,盡管它隻多容納了50%的數據(每個單元有三個比特,而不是兩個)。對于QLC驅動器來說也是如此,它在同一單元内不同的電壓水平上存儲更多的比特。

TLC NAND比MLC或SLC慢的原因與數據在NAND單元中的進出方式有關。對于SLC NAND,控制器隻需要知道位是0還是1。對于MLC NAND,單元可能有四個值:00、01、10或11。對于TLC NAND,單元可以有8個值,而QLC有16個。從單元中讀出适當的值需要存儲器控制器使用精确的電壓來确定任何特定的單元是否被充電。

固态硬盤怎樣發揮作用(固态硬盤是如何工作的)4

讀取、寫入和擦除

固态硬盤的功能限制之一是,雖然它們可以非常快速地在一個空的驅動器上讀寫數據,但覆蓋數據的速度要慢得多。這是因為雖然固态硬盤在頁級(指從NAND内存網格中的個别行)讀取數據,并且可以在頁級寫入,假設周圍的單元是空的,但它們隻能在塊級擦除數據。這是因為擦除NAND閃存的行為需要高額的電壓。雖然理論上你可以在頁級擦除NAND,但所需的電壓量會對被重新寫入的單元周圍的單個單元造成壓力。在塊級上擦除數據有助于緩解這個問題。

固态硬盤更新現有頁面的唯一方法是将整個塊的内容複制到内存中,擦除該塊,然後寫入舊塊的内容和更新的頁面。如果硬盤已經滿了,沒有空頁可用,那麼固态硬盤必須首先掃描那些被标記為要删除但還沒有被删除的塊,擦除它們,然後将數據寫入現在被删除的頁面。這就是為什麼固态硬盤會随着年齡的增長而變得越來越慢:一個大部分為空的硬盤充滿了可以立即寫入的區塊,一個大部分為滿的硬盤則更有可能被強制完成整個程序/擦除順序。

如果你使用過SSD,你很可能聽說過一種叫做 "垃圾收集 "的術語。垃圾收集是一個後台過程,它允許硬盤通過在後台執行某些任務來減輕程序/擦除周期的性能影響。下面的圖片是垃圾收集過程的步驟。

注意在這個例子中,硬盤已經利用了它可以通過為前四個區塊(A'-D')寫入新值來快速寫入空頁的事實。A-D塊現在被标記為陳舊,意味着它們包含的信息被硬盤标記為過期。在空閑期間,固态硬盤将把新的頁面移到一個新的區塊上,擦除舊的區塊,并把它标記為空閑空間。這意味着下次SSD需要執行寫操作時,它可以直接寫到現在的空塊X上,而不是執行編程/擦除循環。

我想讨論的下一個概念是TRIM。當你在典型的硬盤上從Windows中删除一個文件時,該文件并沒有被立即删除。相反,操作系統告訴硬盤,它可以在下一次需要執行寫入時覆蓋存儲該數據的磁盤物理區域。這就是為什麼有可能撤銷文件(以及為什麼在Windows中删除文件通常不會清除很多物理磁盤空間,直到你清空回收站)。對于傳統的HDD,操作系統不需要注意數據被寫入的位置,或者塊或頁的相對狀态是什麼。對于SSD來說,這一點很重要。

固态硬盤怎樣發揮作用(固态硬盤是如何工作的)5

TRIM命令允許操作系統告訴固态硬盤,它可以在下次執行塊擦除時跳過重寫某些數據。這降低了硬盤寫入的數據總量,增加了SSD的壽命。讀取和寫入都會損害NAND閃存,但寫入的損害遠遠大于讀取。幸運的是,在現代NAND閃存中,區塊級的壽命并沒有被證明是一個問題。

我們要讨論的最後兩個概念是磨損均衡和寫入放大。由于固态硬盤将數據寫入頁面,但以塊為單位擦除數據,被寫入硬盤的數據量總是大于實際更新的數據量。例如,如果你對一個4KB的文件進行修改,那麼4K文件所在的整個塊必須被更新和重寫。根據每個塊的頁數和頁的大小,你可能最終要寫4MB的數據來更新一個4KB的文件。垃圾收集可以減少寫入放大的影響,TRIM命令也是如此。保持硬盤的很大一部分空閑和/或制造商的超額配置也可以減少寫放大的影響。

磨損平衡指的是确保某些NAND塊不比其他塊更頻繁地被寫入和擦除的做法。雖然損耗均衡通過對NAND的平均寫入增加了硬盤的預期壽命和耐用性,但它實際上會增加寫入放大作用。為了在整個磁盤上均勻地分配寫入量,有時需要對塊進行編程和擦除,即使它們的内容實際上沒有改變。一個好的磨損均衡算法會尋求平衡這些影響。

固态硬盤控制器

固态硬盤怎樣發揮作用(固态硬盤是如何工作的)6

現在應該很明顯,SSD需要比硬盤更複雜的控制機制。這并不是要貶低磁介質。實際上計算機專家認為硬盤應該得到更多的尊重。在5400到10000轉/分的盤片上平衡多個讀寫頭,所涉及的機械挑戰是不容小觑的。事實上,HDD在完成這一挑戰的同時,還開創了新的磁介質記錄方法,并最終以每千兆字節3-5美分的價格出售硬盤,這簡直令人難以置信。

然而,固态硬盤的控制器則是自成一派的。它們通常有一個DDR3或DDR4内存池來幫助管理NAND本身。許多硬盤還加入了單級單元緩存,作為緩沖區,通過将快速NAND專用于讀/寫周期來提高硬盤性能。由于固态硬盤中的NAND閃存通常是通過一系列并行的内存通道連接到控制器,你可以認為硬盤控制器執行一些與高端存儲陣列相同的負載平衡工作。固态硬盤不在内部部署RAID,但磨損均衡、垃圾收集和SLC緩存管理在鐵磁介質的世界裡都有相似之處。

一些硬盤還使用數據壓縮算法,以減少總的寫入次數,提高硬盤的使用壽命。固态硬盤控制器負責糾錯,随着時間的推移,控制單比特錯誤的算法已經變得越來越複雜。

不幸的是,我們不能對SSD控制器進行太多細節的研究,因為各公司都鎖定了他們的各種秘密算法。NAND閃存的大部分性能是由底層控制器決定的,而公司并不願意過多地透露他們是如何做到的,以免給競争對手帶來優勢。

接口

起初,SSD使用SATA接口,就像硬盤一樣。近年來,我們看到了向M.2硬盤的轉變:非常薄的硬盤,幾英寸長,直接插入主闆(或者,在少數情況下,插入PCIe立管卡的安裝支架)。下圖是一個三星970 EVO Plus硬盤。

固态硬盤怎樣發揮作用(固态硬盤是如何工作的)7

NVMe驅動器比傳統的SATA驅動器提供更高的性能,因為它們支持更快的接口。通過SATA連接的傳統固态硬盤的實際讀寫速度最高為~550MB/s。M.2驅動器能夠大幅提高性能。PCIe 5.0硬盤的讀寫速度預計在12GB/s-13GB/s之間。這與雙通道DDR2-800系統的DRAM帶寬相差無幾。

前進之路

NAND閃存為硬盤提供了巨大的改進,但它并非沒有自己的缺點和挑戰。驅動器的容量和每千兆字節的價格預計将分别繼續上升和下降,但固态硬盤在每千兆字節的價格上趕上硬盤的可能性很小。縮小的工藝節點對NAND閃存來說是一個重大挑戰--雖然大多數硬件随着節點的縮小而改善,但NAND卻變得更加脆弱。20納米NAND的數據保留時間和寫入性能本質上低于40納米NAND,即使數據密度和總容量有很大的提高。到目前為止,我們已經看到市場上有多達128層的驅動器,在這一點上,更高的層數似乎仍然是合理的。總的來說,向3D NAND的轉變有助于提高密度,而不需要縮減工藝節點或依賴平面擴展。

到目前為止,固态硬盤制造商已經通過提供更快的數據标準、更多的帶寬和每個控制器更多的通道并加上我們前面提到的使用SLC緩存提供了更好的性能。盡管如此,從長遠來看,人們認為NAND将被其他東西所取代。

這個東西會是什麼樣子,仍然有待商榷。磁性RAM和相變存儲器都已成為候選者,盡管這兩種技術仍處于早期階段,也必須克服重大挑戰才能真正取代NAND。消費者是否會注意到這種差異是一個開放的問題。如果你已經從HDD升級到SSD,然後又升級到更快的SSD,你很可能知道HDD和SSD之間的差距比SSD與SSD之間的差距要大得多,即使是從一個相對較小的驅動器升級。将訪問時間從毫秒提高到微秒非常重要,但将其從微秒提高到納秒,在大多數情況下可能會低于人類真正能感知到的程度。

Optane在企業市場的縮減

從2017年到2021年初,英特爾在消費市場上提供其Optane内存作為NAND閃存的替代品。2021年初,該公司宣布将不再在消費者領域銷售Optane驅動器,除了H20混合驅動器。H20将QLC NAND與Optane緩存結合起來,以提高整體性能,同時降低驅動器成本。雖然H20是一個有趣而獨特的産品,但它并沒有提供Optane固态硬盤的那種高端性能。

固态硬盤怎樣發揮作用(固态硬盤是如何工作的)8

Optane将繼續在企業服務器領域保持市場地位。雖然它的影響力有限,但它仍然是NAND最接近的挑戰者。Optane固态硬盤不使用NAND,因為它們使用非易失性内存,據信其實現方式與相變RAM類似。但它們提供的順序性能與目前的NAND閃存驅動器類似,盡管在低驅動隊列中性能更好。驅動器延遲也大約是NAND閃存的一半:10微秒,而不是20微秒,而且耐用性也高得多:每天30次完整的驅動器寫入,而高端英特爾SSD每天隻有10次完整的驅動器寫入。

Optane有多種驅動形式,可以直接替代DRAM。英特爾的一些高端至強CPU支持多TB的Optane部署,并支持DRAM和Optane的混合,為服務器提供的内存比單純的DRAM要多得多,但代價是訪問延遲更高。

Optane在消費者領域難以突破的一個原因是,NAND價格在2019年大幅下降,并在2020年之前保持低位,使英特爾難以有效競争。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved