走进SSD,揭开SSD神秘的面纱 (ssd)
整理分享走进SSD,揭开SSD神秘的面纱 (ssd),希望有所帮助,仅作参考,欢迎阅读内容。
内容相关其他词:ssd,ssd,ssd_z,ssd!,ssd!,ssd_z,ssd讲解,ssd讲解,内容如对您有帮助,希望把内容链接给更多的朋友!
SSD主要有三部分构成:主控(Controller),DRAM缓存和NAND闪存。 主控对于SSD的作用,相似处理器对于电脑的作用,属于大脑中枢,拥有最高指挥权,管理NAND闪存,实现数据的储存。 DRAM缓存是Host与SSD主控之间的数据中转站。在Host写入数据时,并不会直接交给主控去写入NAND闪存,而是先把数据丢到DRAM缓存中,之后再传到主控内部的缓存中,最后再由主控写入NAND闪存,这样做的目的是提升数据传输的效率。 是不是有点不太好理解?没关系,举个简单的例子:(已经理解的同学可以略过这部分) 比如说,在网购的时候,一件A商品会产生元邮费,如果要购买5件A商品,我们一次购买5件呢?还是分5次购买呢?很显然,肯定会一次购买5件呀,这样只需要付一次邮费(每个人都很聪明,我这里只是举个例子哈)。 同理,如果Host每发一笔数据,不管传输的数据大小,主控都直接响应,然后写数据到NAND闪存,这时主控会花费了大量的精力去处理琐碎的事情,导致SSD表现不尽如人意,最终被嫌弃。SSD又一次发挥聪明才智,将DRAM这一干将招致麾下,并给DRAM派了个任务量,在Host传输数据时,先送到DRAM手里,如果没有达到任务量,就不要给领导-主控汇报了。这样大大地降低了主控的负担,提升了SSD处理数据的效率。 NAND闪存是数据归属地,NAND颗粒的存在,赋予了SSD储存数据的使命。为了提升储存的性能,主控会通过不一样的通道(Channel)*作NAND闪存。 由于Host和NAND闪存两位人士,性格迥异,对数据处理的方式完全不一样。此时就需要领导者-主控登场了,发挥管理智慧,打造一支和谐共赢的团队,实现储存数据的使命。 对于一个称职的主控,需要有能力完成两项艰巨的任务: 1.为Host和NAND提供适当的对接界面(Interface)以及协议(protocol); 2.高效地处理数据,优化传输速率,同时保证数据的完整性。现在主流SSD主控架构如下图: 主要有三大部分组成:与Host对接的界面(Hostinterface),闪存转换层FTL以及闪存对接界面(Flashinterface)。 Hostinterface采用的协议(protocol)包括SATA,PCIe/NVMeSSD协议(后续文章会详细介绍)。 闪存转换层FTL是主控的核心部分,主要实现磨损平衡(Wear-leveling),垃圾数据回收(GarbageCollection),坏块管理(BadBlockManagement)和数据纠错处理(ECC,ErrorCorrectionCode)。 FTL层涉及的内容较多,在这里就不展开了,后续专门介绍FTL。 Flashinterface包括了SSD主控的flashcontroller,用来控制主控与NAND闪存之间的数据传输。