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

版權聲明:如需轉載,請列明出處:HingAglaiaWong@博客園

支持原創,是對作者最好的的鼓勵。

http://www.cnblogs.com/HingAglaiaWong/

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

首先,科普一下,usb是Universial Serial Bus的簡寫。USB之所以能存取,靠的是快閃記憶體(NAND flash),物理上就是芯片。受物理限制,所有存儲裝置都是有寫入/抹除次數的壽命限制。

市面上的USB採用了2種芯片結構,包括SLC(Single-Level Cell,單層式儲存技術)與MLC(Multi-Level Cell,多層式儲存技術)。MLC每個單元能儲存2個位元,這是他的祝福、也是他的噩夢。由於MLC每單元保存更多的位元,所以架構也更為複雜,而且出錯的機會也會比較大。

檔案完整性

在Windows 系統上用的USB採用FAT32 或 NTFS的檔案系統儲存文件,沒有針對資料完整性的校檢。就是文件如在存取之中失真,檔案系統裡面都不會自動進行檢測或是修正。如要自動維護,則可以考慮使用只在Linux上運行的ZFS檔案系統。如在隨身裝置裡面使用ZFS,他的checksum功能會對usb的性能產生一下影響:一、加快usb硬件耗損(checksum數據、還原檔案的備份);二、讀取速度慢(每次都要進行校檢)。

耗損平均技術(Wear Leveling)

由於usb芯片採用快閃記憶技術,被劃分為多個區塊(扇區,sectors),當某個扇區進行抹寫次數過多,會造成讀取速度慢、甚至是損壞的情況。所以,耗損平均技術能平均分佈抹寫次數於usb上不同存區,整體上延長usb壽命。

預防檔案壞損

1. 先在電腦上安全移除裝置,才拔下usb:這樣能確保緩衝裡面的資料已經讀寫完畢,拔下不會損壞usb。

2. 採用多個備份方法

參考資料

SLC & MLC: http://bbs.mydigit.cn/simple/?t242223.html

快閃記憶體:https://zh.wikipedia.org/wiki/%E9%97%AA%E5%AD%98

usb保固:https://www.google.com/amp/s/blog.gtwang.org/tips/usb-stick-how-to-minimize-risk-of-data-corruption-or-data-loss/amp/

有關於USB保固的更多相关文章

  1. 在laravel下關於blade模板的嘗試

    Blade模板 關於模板繼承和分區段 @section和@yield的實驗 ①關於@section...@show嘗試 測試1 {{--appV2test.blade.php--}} <html ...

  2. 開博客了, 因為搞Delphi 開發的關於Delphi學習

    開博客了, 因為搞Delphi 開發的關於Delphi學習,之前都是用本地TXT文件保存,發現在本地電腦保存非常不方面,而且只能在一台電腦上保存,不容易查看和修改內容.便於以後的記錄只用,以及經驗交流 ...

  3. [Xamarin] 關於發出Notification 的大小事 (转帖)

    關於Anroid 的使用者來說,Notification 是一個非常會看到且用到的功能 他可以提醒使用者甚麼東西需要待處理,像是郵件或是會議的提醒等.. 甚至有些APP ,直接使用Notificati ...

  4. 關於Validform 控件 值得注意的地方

    Validform控件其實用起來挺方便的,直接百度就能找到官網,有直接的demo做參考.這些我就不提了,我所要說的是關於Validform控件的ajax的提交. Validform中有個參數ajaxP ...

  5. JDK1.6历史版本的下载(關於TLSv1.2)Oracle的官方文檔

    [资源描述]:对于部分老项目 仍然采用的是JDK1.6 版本 但是打开官方 JDK 都是最新的 版本 想找 历史版本 不容易找到 [资源详情]:提供下载链接: http://www.oracle.co ...

  6. 關於imagick不得不說的一些事

    PHP建圖通常都用GD庫,因為是內置的不需要在服務器上額外安裝插件,所以用起來比較省心,但是如果你的程序主要的功能就是處理圖像,那麼就不建議用GD了,因為GD不但低效能而且能力也比較弱,佔用的系統資源 ...

  7. 關於 WebClient wc = new WebClient() 下載第三方數據不能進安安信任異常

    報錯異常:The underlying connection was closed: Could not establish trust relationship for SSL/TLS secure ...

  8. [Xamarin] 關於Internal Storage ,存取App內部使用資料 (转帖)

    最近在開發App,會使用到必須要處理一些App所使用的資料,上網路查一下Android 得作法,包含我自己也實作了一下,可能是因為對Java || Android 不是很孰悉,常常錯在 java.la ...

  9. 關於NPOI的一點補充和示例

    最近看到很多人分享NPOI的用法. 但是很多都不是完整示例或者並沒有實戰效果. 剛好最近有個VB.NET的項目有升級原有的oledb select sheet$的做法. 很明顯,NPOI有更好的穩定性 ...

随机推荐

  1. php7 安装yar 生成docker镜像

    Docker包含三个概念:(1)远程仓库即远程镜像库所有镜像的聚集地(不可进入操作).(2)本地镜像即从远程仓库拉取过来的镜像(3)运行起来的本地镜像叫做容器(分层的可操作)Docker使用:1.首先 ...

  2. jq与原生js实现收起展开效果

    jq与原生js实现收起展开效果 (jq需自己加载) <!DOCTYPE html> <html> <head> <meta charset="UTF ...

  3. docker中执行sed: can't move '/etc/resolv.conf73UqmG' to '/etc/resolv.conf': Device or resource busy错误的处理原因及方式

    错误现象 在docker容器中想要修改/etc/resolv.conf中的namesever,使用sed命令进行执行时遇到错误: / # sed -i 's/192.168.1.1/192.168.1 ...

  4. h5 新增特性用法---持续更新

    1.dataset <div class="box" data-title1="自定义属性" data-age="18" data-m ...

  5. FineReport中如何对cpt模板加密

    1. 描述 FR客户使用FineReport报表并将其集成到自己的产品中,然后提供给最终用户使用,最终用户可以预览FR模板,但是不能打开模板进行设计修改. FineReport提供了cpt模板Des加 ...

  6. Frameset框架集的应用

    Frameset框架集常用于写网站后台页面,大多数"T字型"布局后台页面,就是应用Frameset框架集来做的.Franeset框架集的优点是,他可以在同浏览器窗口显示不同页面内容 ...

  7. 深入浅析JavaScript中的constructor

    constructor 属性返回对创建此对象的数组函数的引用.本文给大家介绍JavaScript中的constructor ,需要的朋友参考下吧 定义和用法 constructor 属性返回对创建此对 ...

  8. 关于"模块计算机类型与目标计算机类型冲突"的解决

    问题描述:我的64位工程包含32位静态库之后报错(模块计算机类型"x86"与目标计算机类型"x64"冲突),将工程修改为32位之后,又报错(若干个无法解析的外部 ...

  9. Django学习(九)---Templates过滤器及Django shell和Admin增强

    一.Templates过滤器 过滤器属于django模板语言 修改模板中的变量,从而显示不同内容 {{ value | filter }} 举例:{{ list_nums | length}}    ...

  10. linux UART

    #include <stdio.h> #include <string.h> #include <sys/types.h> #include <errno.h ...