浅析闪存盘(Flash Drive)内部架构与应用考虑
? ? ?Flash Drive闪存盘,作为代替使用了几十年的机械硬盘,它与机械硬盘相比有着绝对的性能优势,架构上也与机械硬盘有着很大的区别。本文以摘要的形式梳理了闪存盘的内部结构Page、Block、Channel的作用以及使用闪存盘上的一些性能考虑和使用范围。 ? 闪存盘就像一个小型的存储系统: ? 闪存盘就像一个小型的存储系统,它包括一下的组件:
? 闪存盘中的页面通过几种状态来管理数据状态:
? ???? 页面状态会受到负载的影响,页面状态也会影响到可用的区域。可用的区域(已经释放的区域)会决定写入的性能。由于随机写入页面变得随机分布,闪存盘使用元数据来定位Valid和Invalid的数据,比如一个占两个Block文件更新写入,第一个block写入到缓存,那么它所对应的NAND上的两个block都会变成invalid。 ???? 闪存盘中还有一部预留空间,存储通常意义上的元数据,预留空间会为写入数据提供可用的block位置。 ???? 持续的数据写入会使闪存盘饱和,然后闪存盘会在空闲的时间进行擦除(Erase)操作。在擦除之前,为了保证Block中的页面必须都是invalid状态,会将每个block中的valid页面写入到其他block,这个过程类似于硬盘碎片整理,主要分为几个步骤:
? ? 使用闪存盘时的一些性能考虑与应用场景: ? ???? 是否闪存盘在使用久了以后会变慢?答案是,的确会有一些影响。闪存盘的剩余空间会是主要因素之一,因为剩余空间的减少会导致碎片的增加,影响到闪存盘对于持续写入的相应时间,较高的空间利用率会导致在每个block中有更多的valid页面。随着时间增加,这种valid页面的分布会变得更加随机分布而且空间利用率增加。如果block中包含比较高的比例的valid页面,擦除的过程中就需要调整更多的页面。闪存盘就需要更多的时间进行碎片整理。 ???? 闪存盘的大小是否影响性能?这里需要描述一个概念,叫做小IO和写入页面填充的概念,因为在闪存盘处理写入IO的情况中,如果写入的IO小于一个页面的大小,则闪存盘需要进行Read-Modify-Write操作。因此对于闪存盘来说的负载加倍。所以就闪存盘性能来说,73GB和200GB使用的4KB页面大小会好于400GB的16KB页面大小。 ???? 最后还要简要提一下闪存盘的应用场景。其实处于成本效益的考虑,闪存盘的使用还是需要有的放矢。根据适合的应用选择,而且结合存储阵列的情况进行综合考虑,作者认为可以从以下几个方面考虑:
更多精彩内容,请点击“阅读原文”进行查看!
如何每天都能收到如此精彩的文章? ①点击右上角→点击“查看官方账号”→“关注” ②长按并识别下图中的二维码,直接访问EMC中文支持论坛 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |