****欧欧美毛片4,国产午夜精品视频,97视频在线观看免费视频,久久七国产精品

數據恢復咨詢熱線:400-666-3702??

歡迎訪問南京兆柏數據恢復公司,專業數據恢復15年

兆柏數據恢復公司

?常見問題

?當前位置: 主頁 > 常見問題

ssd壞了數據怎么恢復,擦除了能恢復嗎?

瀏覽量: 次 發布日期:2019-02-27 13:19:03

一、SSD固態硬盤恢復出廠設置,SSD本身沒有這個功能,只能借其它用軟件安全擦除,刪除所有的分區信息后,當作新盤一樣,重新分區,重新安裝操作系統。

注意,沒有特殊情況(如果正常,不掉速)不要擦除SSD,一般只要用軟件對SSD進行重新分區、格式化,SSD速度就會快起來。

擦除是重新對SSD進行量產的過程,會對SSD的閃存顆粒造成一定的磨損,影響壽命。

有些廠家的SSD附帶了刷盤軟件工具,比如浦科特就有,三星固態硬盤也有自帶軟件magician,可到廠家官網下載。

二、軟件安全擦除:

SSD用久了,會留下海量的使用記錄,就會導致SSD的整體性能的下降,這是固態硬盤易患的毛病。

安全擦除( Secure Erase,簡稱SE),是指通過軟件完全清除固態硬盤內部所有的存儲數據,以及主控trim、CG回收以及磨損均衡等所有記錄,隔離壞盤。格式化重裝系統有時還是解決不了SSD掉速的問題,但用SE能完成。SE就相當于機械硬盤的低級格式化,SE能夠將SSD內部數據完整擦除,不僅擦掉盤內數據,還可以把SSD內部的FTL表清空到出廠狀態。

SE的效果比用機械硬盤使用的格式化重裝系統的老方法效果要好。

將需要做SE的SSD固態硬盤掛從盤使用,其它硬盤或U盤裝好Win7系統后,做啟動盤,可選用下列軟件之一。

1、用DiskGenius擦除。

2、用Parted Magic軟件進行Secure Erase(安全擦除)操作即可。

3、也可以下載軟件ccleaner,用這款軟件的驅動器擦除器將硬盤所有文件擦除一遍。

4、下載英特爾固態硬盤工具箱:Intel SSD Toolbox 3.0破解版擦除。

5、使用HDDErase軟件恢復出廠設置。

6、下載Txbench軟件。

7、用win7自帶的磁盤管理功能,也能夠刪除SSD所有分區信息:

在win 7桌面上找到圖標:計算機,右鍵后點管理,進入計算機管理界面,點磁盤管理,找到SDD固態硬盤,右鍵,在列表中找到:刪除卷。把SSD所有的分區信息都刪掉了,就相當于恢復到了出廠狀態。



三、最后,就把上面這個已經清理好的SSD固態硬盤當作新盤處理。

當SE操作成功完成后,這個SSD就恢復到了剛買時的狀態,這時候需要重新做系統了。建議先不要從電腦上取下SSD,繼續在計算機上右鍵,選擇管理,進入到磁盤管理,將SSD初始化一下,并創建分區、格式化。SE做完后,盤上數據全部擦除完了,需要重新安裝操作系統了。

用win 7原系統盤重新安裝系統,或用U盤來安裝,或系統遷移。

使用U盤來安裝的話,首先要制作一個系統啟動盤,將win 7以上的ISO鏡像文件復制到U盤中。插入U盤到電腦上,設置為U盤啟動,進PE用diskgenius重新分區,并且可以將扇區位置手動指定4K對齊。
1. 什么是SSD
      固態硬盤(Solid State Drives),用固態電子存儲芯片陣列而制成的硬盤,由控制單元和存儲單元(FLASH芯片、DRAM芯片)組成。固態硬盤在接口的規范和定義、功能及使用方法上與普通硬盤的完全相同,在產品外形和尺寸上也完全與普通硬盤一致。被廣泛應用于軍事、車載、工控、視頻監控、網絡監控、網絡終端、電力、醫療、航空、導航設備等領域。

2. SSD的分類
      固態硬盤(SSD)的存儲介質分為兩種,一種是采用閃存(FLASH芯片)作為存儲介質,另外一種是采用DRAM作為存儲介質。

      基于閃存類:基于閃存的固態硬盤(IDEFLASH DISK、Serial ATA Flash Disk),采用FLASH芯片作為存儲介質,這也是通常所說的SSD。它的外觀可以被制作成多種模樣,例如:筆記本硬盤、微硬盤、存儲卡、U盤等樣式。這種SSD固態硬盤最大的優點就是可以移動,而且數據保護不受電源控制,能適應于各種環境,適合于個人用戶使用。

      基于DRAM類:基于DRAM的固態硬盤,采用DRAM作為存儲介質,應用范圍較窄。它仿效傳統硬盤的設計,可被絕大部分操作系統的文件系統工具進行卷設置和管理,并提供工業標準的PCI和FC接口用于連接主機或者服務器。應用方式可分為SSD硬盤和SSD硬盤陣列兩種。它是一種高性能的存儲器,而且使用壽命很長,美中不足的是需要獨立電源來保護數據安全。DRAM固態硬盤屬于比較非主流的設備。

3. SSD的構成
      SSD主要由主控制器,存儲單元,緩存(可選),以及跟HOST接口(諸如SATA,SAS, PCIe等)組成。
3.1 主控制器
      每個 SSD 都有一個控制器(controller)將存儲單元連接到電腦,主控器可以通過若干個通道(channel)并行操作多塊FLASH顆粒,類似RAID0,大大提高底層的帶寬??刂破魇且粋€執行固件(firmware)代碼的嵌入式處理器。主要功能如下:

      (1)錯誤檢查和糾正(ECC)

      (2)磨損平衡(Wear leveling)

      (3)壞塊映射(Bad block mapping)

      (4)Read disturb(讀取某個塊的數據的時候會影響到相鄰塊的數據)管理

      (5)緩存控制

      (6)垃圾回收

      (7)加密

3.2 存儲單元
      盡管有某些廠商推出了基于更高速的 DRAM 內存的產品,但 NAND 閃存依然最常見,占據著絕對主導地位。低端產品一般采用 MLC(multi-level cell) 甚至 TLC(Triple Level Cell) 閃存,其特點是容量大、速度慢、可靠性低、存取次數低、價格也低。高端產品一般采用 SLC(single-level cell) 閃存,其特點是技術成熟、容量小、速度快、可靠性高、存取次數高、價格也高。但是事實上,取決于不同產品的內部架構設計,速度和可靠性的差別也可以通過各種技術加以彌補甚至反轉。

      存儲單元內部結構

      一個Flash Page由兩個或者多個Die(又稱chips組成),這些Dies可以共享I/0數據總線和一些控制信號線。一個Die又可以分為多個Plane,而每個Plane又包含多個多個Block,每個Block又分為多個Page。以Samsung 4GB Flash為例,一個4GB的Flash Page由兩個2GB的Die組成,共享8位I/0數據總線和一些控制信號線。每個Die由4個Plane組成,每個Plane包含2048個Block,每個Block又包含64個4KB大小的Page。

      存儲單元的分類

      SLC(Single Level Cell 單層單元),就是在每個存儲單元里存儲 1bit 的數據,存儲的數據是0還是1是基于電壓閥值的判定,對于 NAND Flash 的寫入(編程),就是控制 Control Gate 去充電(對 Control Gate 加壓),使得浮置柵極存儲的電荷夠多,超過4V,存儲單元就表示 0(已編程),如果沒有充電或者電壓閥值低于4V,就表示 1(已擦除)。

      MLC(Multi-Level Cell 多層單元), 就是每個存儲單元里存儲 2bit 的數據,存儲的數據是"00","01","10","11"也是基于電壓閥值的判定,當充入的電荷不足3.5V時,就代表"11",當充入的電荷在3.5V和4.0V之間,則代表"10",當充入的電荷在4V和5.5V之間,則表示"01",當充入的電荷在5.5V以上,則表示"00"。同時由前面的圖可以看到,MLC 相比 SLC 雖然使用相同的電壓值,但是電壓之間的閥值被分成了4份,可以想象這樣就直接影響了性能和穩定性。

      TLC(Triple Level Cell 三層單元), 就更加復雜,因為每個存儲單元里存儲 3bit 的數據,所以它的電壓閾值的分界點就更細致,導致的結果也就每個存儲單元的可靠性也更低。

4. Host訪問SSD的原理
      Host是通過LBA(Logical BlockAddress,邏輯地址塊)訪問SSD的,每個LBA代表著一個Sector(一般為512B大小),操作系統一般以4K為單位訪問SSD,我們把Host訪問SSD的基本單元叫用戶頁(Host Page)。而在SSD內部,SSD主控與Flash之間是Flash Page為基本單元訪問Flash的,我們稱Flash Page為物理頁(Physical Page)。Host每寫入一個Host Page, SSD主控會找一個Physical Page把Host數據寫入,SSD內部同時記錄了這樣一條映射(Map)。有了這樣一個映射關系后,下次Host需要讀某個Host Page 時,SSD就知道從Flash的哪個位置把數據讀取上來。

      SSD內部維護了一張映射表(Map Table),Host每寫入一個Host Page,就會產生一個新的映射關系,這個映射關系會加入(第一次寫)或者更改(覆蓋寫)Map Table;當讀取某個Host Page時, SSD首先查找Map Table中該Host Page對應的Physical Page,然后再訪問Flash讀取相應的Host數據。

      大多數SSD,我們可以看到上面都有板載DRAM,其主要作用就是用來存儲這張映射表。也有例外,比如基于Sandforce主控的SSD,它并不支持板載DRAM,那么它的映射表存在哪里呢?SSD工作時,它的絕大部分映射是存儲在FLASH里面,還有一部分存儲在片上RAM上。當Host需要讀取一筆數據時,對有板載DRAM的SSD來說,只要查找DRAM當中的映射表,獲取到物理地址后訪問Flash從而得到Host數據.這期間只需要訪問一次FlashH;而對Sandforce的SSD來說,它首先看看該Host Page對應的映射關系是否在RAM內,如果在,那好辦,直接根據映射關系讀取FLASH;如果該映射關系不在RAM內,那么它首先需要把映射關系從FLASH里面讀取出來,然后再根據這個映射關系讀取Host數據,這就意味著相比有DRAM的SSD,它需要讀取兩次FLASH才能把HOST數據讀取出來,底層有效帶寬減半。對HOST隨機讀來說,由于片上RAM有限,映射關系Cache命中(映射關系在片上RAM)的概率很小,所以對它來說,基本每次讀都需要訪問兩次FLASH,所以我們可以看到基于Sandforce主控的SSD隨機讀取性能是不太理想的。

5. SSD相關概念和技術
5.1 多 Plane NAND
      多 Plane NAND 是一種能夠有效提升性能的設計。例如,一個晶片內部分成了2個 Plane,而且2個 Plane 內的 Block 編號是單雙交叉的,想象我們在操作時,也可以進行交叉操作(一單一雙)來提升性能。


5.2 FTL
      操作系統通常將硬盤理解為一連串 512B 大小的扇區[注意:操作系統對磁盤進行一次讀或寫的最小單位并不是扇區,而是文件系統的塊,一般為 512B/1KB/4KB 之一(也可能更大),其具體大小在格式化時設定],但是閃存的讀寫單位是 4KB 或 8KB 大小的頁,而且閃存的擦除(又叫編程)操作是按照 128 或 256 頁大小的塊來操作的。更要命的是寫入數據前必須要先擦除整個塊,而不能直接覆蓋。這完全不符合現有的、針對傳統硬盤設計的文件系統的操作方式,很明顯,我們需要更高級、專門針對 SSD 設計的文件系統來適應這種操作方式。但遺憾的是,目前還沒有這樣的文件系統。為了兼容現有的文件系統,就出現了 FTL(閃存轉換層),它位于文件系統和物理介質之間,把閃存的操作習慣虛擬成以傳統硬盤的 512B 扇區進行操作。這樣,操作系統就可以按照傳統的扇區方式操作,而不用擔心之前說的擦除/讀/寫問題。一切邏輯到物理的轉換,全部由 FTL 層包了。

      FTL 算法,本質上就是一種邏輯到物理的映射,因此,當文件系統發送指令說要寫入或者更新一個特定的邏輯扇區時,FTL 實際上寫入了另一個空閑物理頁,并更新映射表,再把這個頁上包含的舊數據標記為無效(更新后的數據已經寫入新地址了,舊地址的數據自然就無效了)。

5.3 磨損平衡(Wear leveling)
      簡單說來,磨損平衡是確保閃存的每個塊被寫入的次數相等的一種機制。
      通常情況下,在 NAND 塊里的數據更新頻度是不同的:有些會經常更新,有些則不常更新。很明顯,那些經常更新的數據所占用的塊會被快速的磨損掉,而不常更新的數據占用的塊磨損就小得多。為了解決這個問題,需要讓每個塊的編程(擦寫)次數盡可能保持一致:這就是需要對每個頁的讀取/編程操作進行監測,在最樂觀的情況下,這個技術會讓全盤的顆粒物理磨損程度相同并同時報廢。
      磨損平衡算法分靜態和動態。動態磨損算法是基本的磨損算法:只有用戶在使用中更新的文件占用的物理頁地址被磨損平衡了。而靜態磨損算法是更高級的磨損算法:在動態磨損算法的基礎上,增加了對于那些不常更新的文件占用的物理地址進行磨損平衡,這才算是真正的全盤磨損平衡。簡單點說來,動態算法就是每次都挑最年輕的 NAND 塊來用,老的 NAND 塊盡量不用。靜態算法就是把長期沒有修改的老數據從一個年輕 NAND 塊里面搬出來,重新找個最老的 NAND 塊放著,這樣年輕的 NAND 塊就能再度進入經常使用區。
      盡管磨損均衡的目的是避免數據重復在某個空間寫入,以保證各個存儲區域內磨損程度基本一致,從而達到延長固態硬盤的目的。但是,它對固態硬盤的性能有不利影響。

5.4 垃圾回收(Garbagecollection)
      當整個SSD寫滿后,從用戶角度來看,如果想寫入新的數據,則必須刪除一些數據,然后騰出空間再寫。用戶在刪除和寫入數據的過程中,會導致一些Block里面的數據變無效或者變老。Block中的數據變老或者無效,是指沒有任何映射關系指向它們,用戶不會訪問到這些FLASH空間,它們被新的映射關系所取代。比如有一個Host Page A,開始它存儲在FLASH空間的X,映射關系為A->X。后來,HOST重寫了該Host Page,由于FLASH不能覆蓋寫,SSD內部必須尋找一個沒有寫過的位置寫入新的數據,假設為Y,這個時候新的映射關系建立:A->Y,之前的映射關系解除,位置X上的數據變老失效,我們把這些數據叫垃圾數據。隨著HOST的持續寫入,FLASH存儲空間慢慢變小,直到耗盡。如果不及時清除這些垃圾數據,HOST就無法寫入。SSD內部都有垃圾回收機制,它的基本原理是把幾個Block中的有效數據(非垃圾數據)集中搬到一個新的Block上面去,然后再把這幾個Block擦除掉,這樣就產生新的可用Block了.

      另一方面,由前面的磨損平衡機制知道,磨損平衡的執行需要有“空白塊”來寫入更新后的數據。當可以直接寫入數據的“備用空白塊”數量低于一個閥值后,SSD主控制器就會把那些包含無效數據的塊里的所有有效數據合并起來寫到新的“空白塊”中,然后擦除這個塊以增加“備用空白塊”的數量。

      有三種垃圾回收策略:
      閑置垃圾回收:很明顯在進行垃圾回收時候會消耗大量的主控處理能力和帶寬造成處理用戶請求的性能下降,SSD 主控制器可以設置在系統閑置時候做“預先”垃圾回收(提前做垃圾回收操作),保證一定數量的"備用空白塊",讓 SSD 在運行時候能夠保持較高的性能。閑置垃圾回收的缺點是會增加額外的"寫入放大",因為你剛剛垃圾回收的"有效數據",也許馬上就會被更新后的數據替代而變成"無效數據",這樣就造成之前的垃圾回收做無用功了。
     被動垃圾回收:每個 SSD 都支持的技術,但是對主控制器的性能提出了很高的要求,適合在服務器里用到,SandForce 的主控就屬這類。在垃圾回收操作消耗帶寬和處理能力的同時處理用戶操作數據,如果沒有足夠強勁的主控制器性能則會造成明顯的速度下降。這就是為啥很多 SSD 在全盤寫滿一次后會出現性能下降的道理,因為要想繼續寫入數據就必須要邊垃圾回收邊做寫入。
      手動垃圾回收:用戶自己手動選擇合適的時機運行垃圾回收軟件,執行垃圾回收操作。

      可以想象,如果系統經常進行垃圾回收處理,頻繁的將一些區塊進行擦除操作,那么 SSD 的壽命反而也會進一步下降。由此把握這個垃圾回收的頻繁程度,同時確保 SSD 中的閃存芯片擁有更高的使用壽命,這確實需要找到一個完美的平衡點。所以,SSD 必須要支持 Trim 技術,不然 GC 就顯不出他的優勢了。

5.5 Trim
      Trim 是一個 ATA 指令,當操作系統刪除文件或格式化的時候,由操作系統同時把這個文件地址發送給 SSD 的主控制器,讓主控制器知道這個地址的數據無效了。當你刪除一個文件的時候,文件系統其實并不會真正去刪除它,而只是把這個文件地址標記為“已刪除”,可以被再次使用,這意味著這個文件占的地址已經是“無效”的了。這就會帶來一個問題,硬盤并不知道操作系統把這個地址標記為“已刪除”了,機械盤的話無所謂,因為可以直接在這個地址上重新覆蓋寫入,但是到了 SSD 上問題就來了。NAND 需要先擦除才能再次寫入數據,要得到空閑的 NAND 空間,SSD 必須復制所有的有效頁到新的空閑塊里,并擦除舊塊(垃圾回收)。如果沒有 Trim 指令,意味著 SSD 主控制器不知道這個頁是“無效”的,除非再次被操作系統要求覆蓋上去。
      Trim 只是條指令,讓操作系統告訴 SSD 主控制器這個頁已經“無效”了。Trim 會減少寫入放大,因為主控制器不需要復制“無效”的頁(沒 Trim 就是“有效”的)到空白塊里,這同時代表復制的“有效”頁變少了,垃圾回收的效率和 SSD 性能也提升了。Trim 能大量減少偽有效頁的數量,它能大大提升垃圾回收的效率。目前,支持 Trim 需要三個要素,

      (1)系統:操作系統必須會發送 Trim 指令,Win7, Win2008R2 , Linux-2.6.33 以上。
      (2)固件: SSD 的廠商在固件里要放有 Trim 算法,也就是 SSD 的主控制器必須認識 Trim 指令。
      (3)驅動: 控制器驅動必須要支持 Trim 指令的傳輸,也就是能夠將 Trim 指令傳輸到 SSD 控制器。MS 的驅動,Intel 的 AHCI 驅動目前支持。別的要看之后的更新了。

目前,RAID 陣列里的盤明確不支持 TRIM,不過 RAID 陣列支持 GC。

5.6 預留空間(Over-provisioning)
      預留空間是指用戶不可操作的容量,為實際物理閃存容量減去用戶可用容量。這塊區域一般被用來做優化,包括磨損均衡,GC和壞塊映射。
      第一層為固定的7.37%,這個數字是如何得出的哪?我們知道機械硬盤和 SSD 的廠商容量是這樣算的,1GB 是1,000,000,000字節(10的9 次方),但是閃存的實際容量是每 GB=1,073,741,824,(2的30次方) ,兩者相差7.37%。所以說假設1塊 128GB 的 SSD,用戶得到的容量是 128,000,000,000 字節,多出來的那個 7.37% 就被主控固件用做OP了。

      第二層來自制造商的設置,通常為 0%,7%,28% 等,打個比方,對于 128G 顆粒的 SandForce 主控 SSD,市場上會有 120G 和 100G 兩種型號賣,這個取決于廠商的固件設置,這個容量不包括之前的第一層 7.37% 。

      第三層是用戶在日常使用中可以分配的預留空間,用戶可以在分區的時候,不分到完全的 SSD 容量來達到這個目的。不過需要注意的是,需要先做安全擦除(Secure Erase),以保證此空間確實沒有被使用過。

      預留空間的具體作用:

     (1)垃圾回收:就是要把數據搬來搬去,那就需要始終有空的地方來放搬的數據。空的越多,搬的越快,多多益善,有些SSD為了更快,還會再拿走一些用戶的容量。 

     (2)映射表等內部數據保存:SSD里面有一個巨大的映射表,把用戶地址轉成物理Flash顆粒地址,需要保存,以防掉電丟失。這個大概是千分之三的容量。 

     (3)壞塊替換:寫得多了,壞塊會逐漸增加,需要用好的頂替。隨著Flash的制程從32nm不斷變小,變到現在的14nm,Flash質量越來越差,壞塊越來越多,這部分可能會到3%甚至更多。

5.7 寫入放大(Write amplification)
      因為閃存必須先擦除(也叫編程)才能寫入,在執行這些操作的時候,移動或覆蓋用戶數據和元數據(metadata)不止一次。這些額外的操作,不但增加了寫入數據量,減少了SSD的使用壽命,而且還吃光了閃存的帶寬,間接地影響了隨機寫入性能。這種效應就叫寫入放大(Write amplification)。一個主控的好壞主要體現在寫入放大上。

      比如我要寫入一個 4KB 的數據,最壞的情況是,一個塊里已經沒有干凈空間了,但是有無效數據可以擦除,所以主控就把所有的數據讀到緩存,擦除塊,從緩存里更新整個塊的數據,再把新數據寫回去。這個操作帶來的寫入放大就是:我實際寫4K的數據,造成了整個塊(1024KB)的寫入操作,那就是256倍放大。同時帶來了原本只需要簡單的寫4KB的操作變成閃存讀取(1024KB),緩存改(4KB),閃存擦(1024KB),閃存寫(1024KB),造成了延遲大大增加,速度急劇下降也就是自然的事了。所以,寫入放大是影響 SSD 隨機寫入性能和壽命的關鍵因素。

      用100%隨機4KB來寫入 SSD,對于目前的大多數 SSD 主控而言,在最糟糕的情況下,寫入放大的實際值可能會達到或超過20倍。當然,用戶也可以設置一定的預留空間來減少寫入放大,假設你有個 128G 的 SSD,你只分了 64G 的區使用,那么最壞情況下的寫入放大就能減少約3倍。

許多因素影響 SSD 的寫入放大。下面列出了主要因素,以及它們如何影響寫入放大。

      (1)垃圾回收雖然增加了寫入放大(被動垃圾回收不影響,閑置垃圾回收影響),但是速度有提升。

      (2)預留空間可以減少寫入放大,預留空間越大,寫入放大越低。

      (3)開啟 TRIM 指令后可以減少寫入放大

      (4)用戶使用中沒有用到的空間越大,寫入放大越低(需要有 Trim 支持)。

      (5)持續寫入可以減少寫入放大。理論上來說,持續寫入的寫入放大為1,但是某些因素還是會影響這個數值。

      (6)隨機寫入將會大大提升寫入放大,因為會寫入很多非連續的 LBA。

      (7)磨損平衡機制直接提高了寫入放大

5.8 交錯操作
      交錯操作可以成倍提升NAND的傳輸率,因為NAND顆粒封裝時候可能有多Die、多Plane(每個plane都有4KB寄存器),Plane操作時候可以交叉操作(第一個plane接到指令后,在操作的同時第二個指令已經發送給了第二個plane,以此類推),達到接近雙倍甚至4倍的傳輸能力(看閃存顆粒支持度)。

5.9 ECC
      ECC的全稱是Error Checking and Correction,是一種用于Nand的差錯檢測和修正算法。由于NAND Flash的工藝不能保證NAND在其生命周期中保持性能的可靠,因此,在NAND的生產中及使用過程中會產生壞塊。為了檢測數據的可靠性,在應用NAND Flash的系統中一般都會采用一定的壞區管理機制,而管理壞區的前提是能比較可靠的進行壞區檢測。如果操作時序和電路穩定性不存在問題的話,NAND Flash出錯的時候一般不會造成整個Block或是Page不能讀取或是全部出錯,而是整個Page中只有一個或幾個bit出錯,這時候ECC就能發揮作用了。不同顆粒有不同的基本ECC要求,不同主控制器支持的ECC能力也不同,理論上說主控越強ECC能力越強。

相關推薦