SSD简介及其基本工作原理.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SSD基本工作原理 SSD(Solid State Disk),即固态存储,它用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元组成,其一般可以分为两种方式:基于闪存的SSD(采用FLASH芯片作为存储介质)和基于DRAM的SSD(采用DRAM作为存储介质)。 传统硬盘的机械特性严重限制了数据读取、写入的速度及性能;SSD采用FLASH存储介质,它内部没有机械结构,因此没有数据查找时间、延迟时间和寻道时间。对SSD而言,其读取数据的过程就是一个解析地址的过程,因此,其数据读取的速度非常快。SSD的写操作比较特殊,其最小写入单元为4KB,称为页(page),当写入空白位置时可以按照4KB的单位写入,但是如果需要改写某个单元时,则需要一个额外的擦除动作,擦除的单位(块block)一般是128个page,如果向一个空白的page写入信息时,可以直接写入而无需擦除,但是如果需要改写某个存储单元的数据,必须首先将整个block读入缓存,然后修改数据,并擦除整个block的数据,最后将整个block写入,很显然,SSD改写数据的代价很高,SSD的这个特性,称之为erase-before-write。 HOST是通过逻辑地址块(LBA)访问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的哪个位置把数据读取上来。HOST每写入一个Host Page,就会产生一个新的映射关系,这个映射关系会加入(第一次写)或者更改(覆盖写)Map Table;当读取某个Host Page时, SSD首先查找Map Table中该Host Page对应的Physical Page,然后再访问Flash读取相应的HOST数据。 随着数据的持续写入,FLASH存储空间慢慢变小,直到耗尽。如果不及时清除这些垃圾数据,HOST就无法写入。SSD内部都有垃圾回收机制,它的基本原理是把几个Block中的有效数据集中搬到一个新的Block上面去,然后再把这几个Block擦除掉,这样就产生新的可用Block了。如下图所示,原先将Block x和Block y上的数据移到Block z中,然后释放掉Block x和Block y的空间,以备之后使用。 所以,SSD磁盘用了一段时间后,会感觉到磁盘的性能下降,就是因为数据写入时会把若干个块上的数据擦除,再写入数据,这样会严重影响SSD性能。另外一个存在的问题如下所示:当磁盘Block较少时,要写入新的数据,要进行Block回收,找到Block x,首先将Block x上的数据搬移到Block z上,然后写入H,这样其实写入了4个Page,写入被放大了4倍。写入放大的倍数的计算公式为: 写入放大的倍数=(闪存写入的数据量 / 主控写入的数据量) 另一个需要了解的是预留空间(OP, Over Provisioning)的概念,如果磁盘被占满了,用户删除一些数据,然后写入,能够写入成功吗?不能,因为B如果要写入新的数据,必须要有可用的空闲Block,而垃圾回收的时候,必须借助空闲的块(前面图中的Block z),然而此时连Block z都没有,所以就不能进行垃圾回收,也就不能写入新的数据。所以,SSD内部需要预留一部分的空间用于垃圾回收,这部分的空间,SSD内部的一些系统数据,也需要预留空间来存储,比如前面说到的映射表(Map Table)、SSD固件,以及其它的一些SSD系统管理数据。 当某个单元长时间被反复擦写时,不仅会造成写入的性能问题,而且会大大缩短SSD的使用寿命。如果SSD集中对某几个Block进行擦写,那么这几个Block很快就寿命耗尽。比如有些数据是频繁需要更新,那么这些数据所在Block就需要频繁的进行擦写,这会造成这些Block的寿命就可能很快的耗尽。而有些数据用户是很少更新的,那么这些数据所在的Block擦写的次数就很少。随着用户对SSD的使用,就会形成一些Block有很高的PE数,而有些Block的PE数却很低的。在SSD内部,通过损耗均衡(Wear Leveling,WL)的机制来保证所有的Block均衡使用。 WL有两种算法:动态WL和静态WL。所谓动态WL,就是在使用Block进行擦写操作的时候,优先

您可能关注的文档

文档评论(0)

添香小铺 + 关注
实名认证
服务提供商

专注于产业研究、商业计划、房地产营销策划、企业运营及咨询管理方案撰写,欢迎咨询。

1亿VIP精品文档

相关文档