U盘因其小巧方便,逐步取代了笨重的移动硬盘和光驱,成为最普及的存储介质。现在的主板BIOS也将支持USB启动,作为标准之一,再过几年,光驱时代可能就要终结了。从早期的16MU盘,到现在动辄几个G,U盘的容量有了数量级的飞跃,但普通U盘的读写速度却没有太大的提高。原因在于U盘多用于即插即用的场合,且受限于USB2.0接口,做多通道的意义不是很大,随着USB3.0的普及和U盘成本的下降,这个现状可能会改变。

  高速U盘采用高性能的主控芯片多片Nand flash,通过并行处理技术,将N片低速Flash芯片并联起来,使用相同的控制线、片选线和读写信号线,构成一个多位宽的Flash组,这样N片并行工作,进行相同的操作,存储量可以达到单片Flash的N倍,理论上的存储速度也是单片Flash的N倍。金士顿新出一款100MB/s读取速度的高速U盘,不过价格超过同容量的SSD,离平民阶层时日尚早。

  SSD和U盘,都采用Flash作为存储介质,可以将SSD视为强大的Flash阵列。SSD内部采用多个FLash贴片,常见的64G SSD,通常采用16片4GB Flash,读写速度较好的可以达到200MB/S,如果不计成本的话,可以做的更好。

  SSD的读写操作是可以同时进行的,而U盘在同一时间仅能读或写,这是Nand Flash的特性决定了的.。SSD带有电池,用于应急备份。

  SSD和U盘区别不仅仅在于速度,关键在于算法。Flash介质的擦除次数是有限的,反复的对一个Block擦写,可能会出现坏块。一些厂商在固件中提供了损耗平衡算法,尽可能充分利用每个Block的,延长整个SSD的寿命。同时,Flash的写入都存在一个放大效应,不同于机械硬盘的写操作,对Flash某个存储单元的写入,必须先将整个Block读入缓存,修改完数据,再擦除整个Block的数据,最后将这个Block写入,因此即使一个微小的改动,带来的影响也可能是巨大的(蝴蝶效应?)。一些SSD的固件里实现了Trim算法,对win7等支持trim的操作系统,开启trim功能,能提升SSD的读写性能,又大大减轻了SSD的损耗。还有一些SSD自身带有高速缓存,进一步提高了读写性能和IOPS。除了SATA接口的SSD,还有PCIE接口,性能更高,甚至GBps级别,当然成本也是极其昂贵。一些厂商为了降低成本,开发了SSD-HDD的混合硬盘,兼顾了性能和成本。

  由于SSD良好的随机读写性能和低功耗、无噪音、抗震动、低热量的特点,被广泛应用于平板电脑和上网本。在数据库优化方面,将SSD用作高速缓存,对密集读的应用,可能带来数量级的性能提升。

  在快速销毁领域,SSD也具有无法比拟的优势,Flash数据的擦除基于电信号的改变,只需要几秒钟,且现有技术手段难以恢复,而传统的机械硬盘,依靠盘片上的磁性介质记录信息,即使低格也不能完全销毁磁盘上的数据(不然也不会有艳照门了),只能借助专业的软件或者物理销毁,理论上来说,即使一块盘片碎片,也能从中恢复信息,但以目前的技术手段,尚有困难。有兴趣的TX,可以看看网上一位猛人利用铝热剂,物理销毁磁盘的方法。3000°C的高温,别说磁盘了,铁都化成水了。

U盘开发之SSD对比的更多相关文章

  1. U盘开发之GPIF Master模式

    在U盘开发过程中,一个人从头做到尾,经常遇到一些莫名其妙的问题,只有到官网论坛发帖.折腾困扰我最久的,就是U盘的读写性能问题了,不采用GPIF的方式,single读只有几百K,single写只有几十K ...

  2. U盘开发之SCSI命令

    借助硬件USB协议分析仪,可以清楚的看到U盘启动时和上位机之间交互的USB协议流程,从get desciptor get congfiguration set configuration到scsi命令 ...

  3. 高效开发之SASS篇 灵异留白事件——图片下方无故留白 你会用::before、::after吗 link 与 @import之对比 学习前端前必知的——HTTP协议详解 深入了解——CSS3新增属性 菜鸟进阶——grunt $(#form :input)与$(#form input)的区别

    高效开发之SASS篇   作为通往前端大神之路的普通的一只学鸟,最近接触了一样稍微高逼格一点的神器,特与大家分享~ 他是谁? 作为前端开发人员,你肯定对css很熟悉,但是你知道css可以自定义吗?大家 ...

  4. RAMOS和SSD对比

    http://bbs.pcbeta.com/forum.php?mod=redirect&goto=findpost&ptid=1786284&pid=48341400RAMO ...

  5. UWP开发之Mvvmlight实践七:如何查找设备(Mobile模拟器、实体手机、PC)中应用的Log等文件

    在开发中或者后期测试乃至最后交付使用的时候,如果应用出问题了我们一般的做法就是查看Log文件.上章也提到了查看Log文件,这章重点讲解下如何查看Log文件?如何找到我们需要的Packages安装包目录 ...

  6. 【转载】浅谈游戏开发之2D手游工具

    浅谈游戏开发之2D手游工具 来源:http://www.gameres.com/459713.html 游戏程序 平台类型: iOS Android  程序设计: 其它  编程语言:   引擎/SDK ...

  7. qt-qml移动开发之在ios上开发和部署app流程简单介绍

    qt5.3已经全面支持移动开发,除了mac,windows,linux.还支持ios,android,wp,meego等移动平台,本教程是作者依据自己的经验,从头讲怎么样在ios上公布自己的app.因 ...

  8. 微信公众号开发之VS远程调试

    目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...

  9. Android混合开发之WebViewJavascriptBridge实现JS与java安全交互

    前言: 为了加快开发效率,目前公司一些功能使用H5开发,这里难免会用到Js与Java函数互相调用的问题,这个Android是提供了原生支持的,不过存在安全隐患,今天我们来学习一种安全方式来满足Js与j ...

随机推荐

  1. Linux下安装Perl和Perl的DBI模块

    今天在虚拟机测试shell脚本的时候,有些命令使用不了. 比如说 mysqlhotcopy ,它提示Perl的版本太低. 我用的 RedHat9 的Perl才5.8.0版本...(2002年以前的) ...

  2. 2014第2周三Web安全学习

    2014第2周三Web安全学习 先记录下自己关于json和xml作为数据传递媒介的差异:在写一个java方法时我将正确结果返回的对象转成json返回,将错误结果根据不同原因以xml形式返回,同事看后有 ...

  3. UESTC_最少花费 2015 UESTC Training for Dynamic Programming<Problem D>

    D - 最少花费 Time Limit: 30000/10000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submi ...

  4. 剑指offer-面试题5.从尾到头打印链表

    题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值. 刚看到这道题的小伙伴可能就会想,这还不简单,将链表反转输出. 但是这种情况破坏了链表的结构. 如果面试官要求不破坏链表结构呢,这时候我们 ...

  5. zoj3433(贪心+优先队列)

    Gu Jian Qi Tan Time Limit: 2 Seconds      Memory Limit: 65536 KB Gu Jian Qi Tan is a very hot Chines ...

  6. InternetExplorer 表单及用户名密码提交

    陆ftp或者其他类似需要输入密码的站点,可以在url中直接输入用户名密码,格式为: ftp://username:password@url 另外一种情况是,如果是表单提交的也可以通过url填写,如: ...

  7. 在Linux下如何创建LVM及LVM创建过程

    Linux LVM创建过程:(我用的是Centos6.8) 一.准备工作: LVM可以的创建可以在系统安装的过程中创建,也可以在安装完系统之后再创建建,都是可以的,我的是在系统安装完之后创建的,具体的 ...

  8. android createbitmap函数内存溢出,求解怎样进行处理out of memory溢出问题

    android createbitmap函数内存溢出,求解怎样进行处理out of memory溢出问题 android createbitmap函数内存溢出,求解怎样进行处理out of memor ...

  9. ECShop2.7.2详细文件结构及模板结构目录名称

    ┣plugins目录┣templates目录┃   ┣backup目录┃   ┃   ┣index.htm┃   ┃   ┗ibrary目录┃   ┃       ┗index.htm┃   ┣cac ...

  10. OC——NSArray和NSMutableArray

    /*---------------------NSArray---------------------------*/ //创建数组 NSArray *array1 = [NSArray arrayW ...