• <nav id="ukski"></nav>
    <menu id="ukski"></menu>
  • 咨詢熱線:400-6759-388  
    分部: 杭州 | 上海 | 武漢 | 深圳 | 北京
    數據恢復
    成功案例
     
     當前位置: 首頁 > 數據恢復 > 正文

     聯系我們

     400-6759-388

    SSD固態硬盤技術及原理分析

     瀏覽量:次  來源:華軍數據恢復  發布日期:2021-04-18 17:46:48

    正確認識SSD

    \

    SSD固態硬盤

    間單介紹 SSD 先進技術以及SSD的原理,SSD是設計來取代『傳統硬盤』。其構造完全是『積體電路』結構,無任何機件,所以和『硬盤』無關。市面簡稱『固態硬盤』不是很正確。傳統硬盤內有『碟片』是旋轉碟片來讀寫數據,但 SSD 都是『積體電路』無碟片。讀寫原理完全不同。SSD 在 2020年的規格是採用先進的 3D NAND Flash Memory+PCIe 介面,讀寫極速是傳統硬盤的 4倍,同時,SSD 也有『加密功能SSD』

    SSD與傳統硬盤比較,混合式硬盤是什么?

    目前市面的數據儲存設備(Data Storage)以儲存的材質區分為『磁性介質表面儲存設備』代表性產品是傳統式硬盤,另一是『積體電路的儲存設備』代表性產品是 RAM, ROM, SSD Flash Memory….。


    雖然目前硬盤還佔優勢,但因其『物理極限』已無法克服『怕碰撞,易磨損,耗電...』的問題,也無法再開發更『輕,薄,短,小』的硬盤??茖W家因此開始開發以『積體電路的儲存設備』取代硬盤。


    而目前最符合『輕薄短小』的儲存設備是 SSD,而SSD 最重要的元件就是『NAND 非揮發性記憶體(Non-volatile Memory Device)』。雖然 NAND 的技術雖然還有『成本高,容量較低,數據儲存年限...問題』但還是已漸漸取代硬盤。

     
    SSD 傳統硬盤
    NAND 積體電路 精密金屬機件
    輕薄短小、省電、溫度低 體積大、重量重、較耗電、溫度較高
    讀寫快速 讀寫速度相對較慢
    NAND 寫入時會有耗損 理論上磁片讀寫無耗損
    耐摔耐碰撞 怕碰撞
    晶片燒毀后,無法數據恢復 硬盤故障時,數據恢復機會較高

    SSD的設計是用來取代傳統式硬盤,SSD特性是輕便,讀寫快速,省電.....非常適合『可攜式』使用。為了改善傳統硬盤因機件太精密,萬一碰撞即發生硬盤故障,導致數據無法讀取,必須數據恢復。

    下圖是『傳統機件式硬盤』和『SSD』內部結構,可明顯看出差異。

    •  傳統式硬盤內部都是精密機件,怕碰撞。
    • SSD 內部都是積體電路元件,較不怕碰撞。


    目前的趨勢,Notebook 一律都已改用SSD,符合耐碰撞特性,因為讀寫速度比傳統硬盤快速,連一般 PC 都建議改用 SSD 當開機用磁碟,不必因每次開機時需讀取數量龐大的作業系統檔案而等待的時間,實務上使用者很容易感受速度的差異,幾乎提升 4倍以上。


    但提醒重要一點,因 SSD 是用 NAND 快閃記憶體,目前受限于『數據寫入時都對 NAND flash memory 會造成耗損而降低使用壽命』建議不適用于讀寫頻繁的 Server, RAID, NAS。但相信 SSD 廠商一定設法提升技術克服,不久后即會出現『穩定』『可靠』RAID 專用 SSD。


    建議目前 RAID, NAS, Server 建議還是安裝 SAS 傳統硬盤,應該是較『保險安全』方式。


    混合式硬盤

    『混合式硬盤』就是『傳統硬盤+SSD』結合成單一硬盤。有 SSD 讀寫快速的優點,又有傳統硬盤的高容量可使用。等于是 1臺當 2臺用,規格是只有一個 SATA 介面。SSD 磁碟可安裝作業系統當開機用磁碟,傳統硬盤則當儲存數據用。


    SSD規格&介面:SATA、M.2 SATA、M.2 PCIe、NVMe

    SSD 目前 2020 年規格種類共有3種,Interface 共2種:

    1. 和傳統硬盤外觀相同的 SSD 2.5”,也是用 SATA Interface 可以輕易取代傳統硬盤。

    2. 規格尺寸 - m2_2280,也是用 SATA 介面。

    3. 規格尺寸 - m2_2280 介面 - PCIe G3 1x4 / NVMe。


    上述照片得知 SSD 規格分 3種,但介面( Interface)分2種 SATA & PCIe/NVMe。

    SATA 是傳統硬盤用,無法發揮 NAND 極速特性,屬舊型 Interface。

    PCIe/NVMe 是專為 SSD 內的 NAND 開發的新協定,可以發揮 NAND 的極速。


    多年前 SSD 設計時的用意是為了取代傳統硬盤,為了改善傳統式硬盤『怕碰撞,怕摔』的問題,只先將內部精密機件改用成『積體電路 NAND Flash Memory』當儲存數據元件,但當時 SATA 是傳統硬盤的傳輸介面 Interface 的標準。


    為了可以讓市場輕易接受而改用 SSD,所以才繼續延用SATA。但卻因此阻礙了 NAND Flash Memory 讀寫快速的特性。多年后 SSD 廠商才開始推廣專為 NAND 平行運算 (Internal Parallelism) 功能開發出的傳輸協定 『NVMe』,而且是可以採用現有的 PCIe 介面,其極速表現比 SATA 高 4倍。


    SATA SSD

    這是最早出現市面的 SSD,當時是為了取代暢銷的傳統硬盤而設計,外型就是和一般 2.5”傳統硬盤完全相同,也是採用 SATA 介面,安裝和傳統硬盤相同,毫無困難,可以輕易取代。

    目前市面規格 SATA 6.0Gb/s, 讀取時間 560 MB/s ,寫入時間 510 MB/s。


    M.2 PCIe (PCI Express) / NVMe

    這是搭配目前最高速的 PCIe 介面,NVMe 也是較新 SSD規格,如是舊款主機板可能不支援,但近期新款主機板都已有支援,據說近年的 Notebook 都搭配 PCIe / NVMe 的 SSD。

    目前市面規格 3D NAND,讀取時間 3,400 MB/s,寫入時間 3,000 MB/s。


    M.2 SATA

    這是比 PCIe / NVMe 更早期介面,適用較舊款主機板,

    目前市面規格 M.2 SATA,讀取時間 560MB/s, 寫入時間 510MB/s。

    據說一般客戶選購 SSD 時,較重視讀寫速度,下列為一簡單比較表。

     
    2020年規格 M.2 PCIe / NVMe M.2 SATA SATA
    Sequential Read 3,400 MB/s 560 MB/s 560 MB/s
    Sequential Write 3,000 MB/s 510 MB/s 510 MB/s
     
    NVMe(NVM Express)先進規格,讀寫速度快

    上述圖片比較說明,應該已很清楚看出,M.2 PCIe+NVMe 是 SSD 讀寫速度最快的規格。


    談 SSD 的技術就不得不談 NVMe 原理,但筆者對 NVMe 技術知道的有限,目前只能簡單介紹基本概念,無法深入說明內部核心『平行運算Internal Parallelism for SSD』原理,請見諒。


    NVMe 開發的契機是因為:

    1. 目前的 CPU 是具有平行運算。

    (Parallel computin 可同時執行高達 64,000 個指令,注:CPU 技術更先進,運算能力也提升)

    2. NAND 內部也已具備『平行架構』運算能力。

    3. 現已有極高速的傳輸界面『 PCIe』。


    如可結合,CPU 的『平行運算』+PCIe 高速傳輸介面+NAND 的『平行運算』,這種組合即可達到『極速』,但只缺 NAND 和 PCIe 的『高速通訊技術』。


    所以廠商才為此而開發出 『NVMe』其名稱是『非揮發性記憶體控制介面規格 Non-Volatile Memory Host Controller Interface Specification』通訊協定。此新協定終于定義出可以 100% 發揮 NAND 『平行運算』的高速能力,再利用現有的 PCIe 介面的高速特性,即可發揮 NAND 高達 3,400 MB/s 讀寫速度。這已比傳統 SATA 硬盤快4倍速度。

     
    PCle 高速傳輸介面

    PCIe 採用四通道連接,讓數據傳輸比 SATA 快4倍,且省電。使用 PCle +NVMe SSD,是目前追求極速唯一選擇。

    另外有一優點,NVMe SSD+PCIe 組合,因有省電特性,NoteBook 電池耗損減低,電池壽命才得已增長。

     
    SSD 先進的3D NAND&寫入讀取數據原理

    先簡單介紹 SSD 重要元件 Controller, NAND 的功能用途。

    SSD controller NAND


    Controller:就是負責當外部有檔案要寫入時,就是先由 Controller 已內建『File System』將檔案分數段 Blocks『平均寫入』每一顆 NAND Flash Memory 儲存。當 Windows 下指令要讀取檔案時,也是由此 Controller 負責至各 NAND 將該檔案所有的 Blocks 取出,依序傳輸給 Windows。且保證順序,數量正確無誤,檔案才完整可正常使用。

    Controller 當然還有其它功能,但都是與讀寫數據有關。后面會一一介紹。


    NAND Flash Memory:是先進的 3D NAND 就是負責儲存檔案數據的 Storage。但因屬于半導體高科技,筆者才疏學淺,所知有限不敢賣弄,請包涵。 

    注:此處所指 Controller File System 是該 Controller 廠商自行開發專用,是指此顆 Controller 這層的邏輯控制。其主要是負責『讀寫』功能,是將 Windows NTFS、Mac HFS、AFS、Linux EXT3、EXT4、XFS…...作業系統不同格式的檔案,轉換成可寫入至『積體電路 NAND』內的檔案格式。且各廠牌有不同格式。 


    接下來說明內部最重要的元件『 NAND 』。NAND 是『非揮發性記憶體』 (Non-volatile Memory Device) 也是 Flash memory 一種。因屬于『積體電路』的設計,其內部結構是先進的『3D立體』的多層邏輯電路佈線,是『垂直+平行 Layout』和傳統硬盤圓形磁片讀寫方式完全不同。當初設計的用意就是為了取代『硬盤』,所以 NAND 的儲存單位也是512 Byte/Unit。


    NAND 的最小儲存單位是 512byte / Unit,這種設計就是為了取代傳統硬盤制定的標準協定 512byte / Sector,如此即可 100% 相容。


    3D積體電路基本上是一層一層的 Layer,每一層可佈線成數量龐大的 512byte/unit,類似『網格狀』的邏輯電路而且共有 2面,再一層一層堆迭,如此堆迭即可構成『立體的邏輯電路架構』,以達到垂直平行讀寫功能。


    NAND 的儲存單位也採用『邏輯虛擬』設計,且不同廠牌、型號....數值不同。但制定的基本標準如下:

    1. Unit 是 NAND 最基本儲存單位,Size=512 byte。

    2. Page 是網格上的每一列(行),在 NAND 上稱為『Page』。通常數量都是 32、64、128、256、512.../unit,Size 32、64、128...KB,基本上每一層有多少數量的列就相同數量的 Page,但各廠牌設計也有不同。一個page上所有的 unit共用一字元線(Word line)所以 NAND 讀寫一定是一個 Page 一個 Page同時進行。  

    3. Block 是 32,64,128,256,512….Page 組成的『區塊』且是『3D立體』,想像成陣列 Array或巨型的『魔術方塊』較易理解。

    NAND儲存單位

    NAND 讀取與寫入原理有點復雜,

    NAND 『讀取,寫入』是一個 Page 一個Page 進行。但寫入前必須先將要寫入該 page 的整個 Block 擦除乾淨(Block erasure) 才可寫入。擦除原理就是將 Block 內所有的 bit 變為『1』狀態=Free 。擦除作業只能以「Block」進行,無法以較小的 page。


    所以程序是, 先清除一個大的 Block 空間 → 數據才寫入一個小的 page 內。

    例如:為了寫入小量的 16KB 數據(page) 需先將一個大量的 512KB(block) 所有 bit 都寫成”1”(Full “11111111”) 變成 Free ,才可寫入 16KB 數據。

     

    這就是 SSD 因?!耗ǔ?,寫入比讀出耗時,也導致 NAND 壽命減原因。

    如果一直在同一個 Block 寫入與清除數據,這些Block 的壽命會消耗很快,為了儘量減少Erasure的次數,有效率的Block 管理技術就非常重要。

    當晶片漸漸磨損,Erasure與讀寫速度會變非常慢,而且需要更多次數 Retry。

    NAND Flash還有一項限制就是區塊內的數據只能序列性的寫入,無法像傳統硬盤隨機讀寫(Randon read/write)。這屬于 file system 技術,先不在此討論。


    如何管理已損壞區塊(Bad Blocks):

    1:出廠時的 Bad Blocks,這是製造生產時已存在的 Bad Blocks。

    2:使用時累積的 Bad Blocks,發生在無數次的寫入/擦除,造成一些 NAND單元的『電荷電壓 Electric charge /Coulomb』被永久性的改變了,因此而無法使用。

    SSD 有管理Bad blocks 機制,Controller 用 bad Blocks map 紀錄每一 Bad block。傳統硬盤也有相同機制(Bad Sectors Map)。


    SSD的Trim(修剪)& 耗損平均 (Wear Leveling)

    SSD有一的致命缺點,就是 NAND 物理問題,寫入次數是有限制,太頻繁的寫入(含抹除 Full”11111111”)是會破壞其『電荷電壓 Electric charge /Coulomb』,影響使用壽命。


    目前 2020年 SSD 廠商宣稱已用2 方法,解決此問題:

    1:目前 NAND 容量已大大提高,Block 數量龐大,其每一 Block 被寫入次數變減少,如此即可延長使用壽命。

    2:  NAND 目前先進科技,寫入次數已可達 5萬次以上。


    所以此處文章用意只在說明 NAND 先天性的『寫入次數有限制』的技術問題。使用者不必太擔心 SSD 使用壽命問題。


    SSD NAND 有一先天上的問題,就是每當要寫入數據時不論數據量是多小,就算只是 16KB /Page,也要先抹除一整個容量較大的 512KB / Block。等抹除完成(Full”11111111”) 才可將16KB 數據寫入。


    例如:有一Block 內現已存在 4 pages 的數據,現在Delete 3pages 后只剩1 page。為了日后要讓新數據寫入時使用這 Block,現在須先將這 1 page 遷移另一 Block,再清除這 Block (Full”111111111”)供寫入新數據用。 


    所以為了寫入一支檔案,等于那一些 Blocks 會被做了2次『寫入』動作,每一次寫入就多一次耗損。

    1: 先將一整個 Block 先抹除(Full”11111111”)這動作也是『寫入』。

    2: 再正式寫入新數據。

    了解上述問題后,接下來說明SSD的耗損平均 (Wear Leveling) & Trim(修剪) 原理。


    Wear Leveling(耗損平均 )是什么?

    SSD NAND 常會被做『寫入』動作,且 Blocks 數量龐大,那就要設法讓每一 Block 被寫入次數是平均的,避免某些 Blocks 時常被寫入而耗損較嚴重,其它不常被寫入的 Blocks 卻耗損較輕微。


    簡單形容類似避免『路面』到處坑坑疤疤,最好是每一路段都平均使用,勿集中常使用某一路段,造成這一路段耗損嚴重,其它不常使用路段卻耗損輕微。


    最好是一整層路面平均耗損,使用一陣子后又是一整層平均耗損,如此即可保持路面永遠是平整,無坑坑疤疤現象,直到路面已薄到無法再耗損才報廢。

     
    Trim(修剪) 的功能是什么?

    先以傳統硬盤來說明,在 Windows, Mac, Linux 下使用傳統硬盤,當刪除檔案時,該檔案在硬盤磁片上只是先被標示成『已刪除』,該檔案在磁片上所佔用的 Blocks 都還存在原數據,并未被清除(未被 Full “00000000”),只是當檔案管理系統 File manage 讀到此『標示已刪除』時會略過不讀,如此才有機會隨時『還原檔案』。


    注:各位應該有注意到,Windows,Mac, Linux.. 下 Copy 寫入一支 1GB File 約需幾十秒才可完成,但 Delete File 卻是瞬間完成,足證這『瞬間』只是做了『標示已刪除』的動作,絕不足將 1GB 數據100% 清空(未被 Full “00000000”)。 


    但當有新檔案要寫入時,只要是磁片后面還有未使用區塊(Unused Blocks),一律先寫入這些未使用的區塊,不會先去寫入『已刪除』區塊,就是避免覆蓋已刪除檔案,提供隨時『還原檔案』的機會。


    但如磁片已被寫滿,無任何未使用區塊可用時,新檔案就只能寫入那些標示『已刪除』的區塊,只要一被寫入新數據,原舊有數據即已被覆蓋,絕不可能『還原』。


    這『磁性紀錄』原理類似,錄音帶某段如被再錄製新歌曲,其原舊歌曲即被覆蓋,絕不可能『還原』。


    SSD 也有類似此機制,一些『已刪除』檔案所佔用的 Blocks 也只是被標示『已刪除』,原檔案數據還存在,并無被 Full”11111111”,也是有機會『還原』。


    當有檔案要寫入時,也是去找未使用區塊寫入。


    但 NAND 有一致命缺點,如某些區塊 Blocks 常被頻繁的讀+寫+抹除 (Full “11111111”)其『電荷電壓』會加速減弱,導致這些區塊無法再使用,變成 Bad Blocks,如此整個 NAND 就會到處散佈這些 Bad Blocks,將導致 SSD


    讀寫異常。為了避免發生此狀況,就設計了『Trim』這機制來改善。


    Trim 的主要功能是,趁 SSD 閒置時,先去啟動『主動垃圾收集機制』直接清除那些標示『已刪除』的 Blocks,供隨時寫入新數據 Pages。


    事先清除的優點是,不必等到真正有新數據要寫入時,才去『搬移殘馀 Pages』→『Full “11111111”』→『寫入新數據Pages』。


    Trim 是SSD專用功能,某些作業系統版本,非設定自動啟用,可能需要至 /設定/ Trim 手動啟用。


    『主動垃圾收集機制』的功能也是趁 SSD 閒置時,主動去收集一些『屬于同一支檔案的所有Pages』集中存放,減少『斷離現象』聽起來有點像『數據重整』。


    Trim 與主動垃圾收集機制同時運作即可延長 SSD 的使用壽命,并提升 SSD讀寫效率。是非常聰明的機制,目前新規格 SSD NAND 都有提供此項機制。 以前常聽說 『SSD 不要寫滿,一定要預留約 20% 空間供暫存用,否則讀寫速度會變慢』。


    目前新款 SSD已內建此機制,使用者不必再為此操心。


    SSD因讀寫時需要遷移殘遺的 Pages,所以需預留一些暫存空間,目前 SSD 設計是已內建『暫存空間』,Windows, MacOS, Linux….. 下是無法識別,使用者也看不到,當然更無法去使用這些空間,這是一種『保護』機制。

     
    如何讓 SSD 更快速更聰明?

    1. 隨時更新原廠韌體(Update Firmware)。

    2. 安裝原廠的 SSD 自我監控,分析和報告技術(S.M.A.R.T)監控系統。



    相關推薦:
    午夜电影网_一一在线观看视频_日本黄页免费视频_欧美性史在线观看_曰批全免费观看_free女厕所撒尿视频