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. SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005

    SQL Server 2012SQL Server 2012 开发版(DVD)(X64,X86)(中文简体)ed2k://|file|cn_sql_server_2012_developer_edit ...

  2. 推荐大家一本学习php模式的书

    对我来讲,写程序不是码代码,不想只是简单的将类拿来调用,然后功能实现了,可是以后要做一些扩展或者是修改就要对代码大刀阔斧. 在网站的开发过程中,使用一些框架,团队就可以在一定的程度上,分工合作.但是当 ...

  3. Android 圆形按钮实现

    项目中用到的圆形按钮,做个半天,用sharp形式实现,样式代码如下: <Button android:id="@+id/btn_5" android:layout_width ...

  4. redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

    超时 Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: jav ...

  5. 在COM组件中调用JavaScript函数

    转载自: http://blog.csdn.net/cheungmine/article/details/1451489 要求是很简单的,即有COM组件A在IE中运行,使用JavaScript(JS) ...

  6. Word Break I II

    Word Break Given a string s and a dictionary of words dict, determine if s can be segmented into a s ...

  7. 【转】android 电容屏(一):电容屏基本原理篇

    关键词:android  电容屏 tp  ITO 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsung exynos 42 ...

  8. ComponentName的意思

    ComponentName是用来打开其它应用程序中的Activity或服务的. 使用方法: Intent i=new Intent(); i.setComponent(new ComponentNam ...

  9. Git(一):Git与版本号控制简单介绍

    Intro 版本号控制系统是什么      版本号控制系统(Version Control System,VCS)能够帮助我们记录和跟踪项目中各文件内容的改动变化.它能够帮我们保存项目的各个版本号.以 ...

  10. oracle Can't connect to X11 window server using ':0.0' /Checking monitor: must be configured to display at least 256 colors解决方法

    Can't connect to X11 window server using ':0.0' 解决方法 1. 以oracle 用户登陆X window 或者 2. root 身份执行 # xhost ...