美文网首页
SSD原理学习笔记

SSD原理学习笔记

作者: CPinging | 来源:发表于2021-01-25 10:25 被阅读0次

本文为清华大学存储课程的学习笔记,以及一些体会,图片主要来自课程的PPT,附带一些Note来做补充说明。

非遗失性存储主要介于Storage以及Memory之间,延时在100-1000ns,非常接近Memory的60ns,而远高于Storage的性能。

传统的磁盘由于机械式的部件,使得性能非常慢 - 两个马达要转

该图表现出,从1990年开始磁盘的延迟在不断降低,直到2005左右,就基本没变化了。

带宽也是,2000年之后变化就比较少了,很难提升了。

能耗开销也非常大,包括了磁盘以及冷却的开销,限制了可扩展性。右图表示,到2020年需要500万块磁盘才能满足性能需求。

单位为MB/s,表示了两种盘的对比。

现在我们常见的闪存主要是NAND,按照页去读写,擦除按照block进行。而NOR可以原地改写。

NOR有个地线,所以可以原地更新,但是缺点是空间有限,放的东西不够多。

写是把电子放进Floating Gate中;读的话通过不同的电压加载,看对应的状态;擦除是把电子打出去;

与传统CMOS的差异:

CMOS的简化图(晶体管)。达到某个阈值电压就接通。

Flash的区别是多了一块(两个红色的长方体),多了Floating gate。下面为氧化层,且加压后电子可以通过氧化层,进入Floating gate,被保存进去。

具体来看:

现在有两个阈值对应两个状态。

Row为word line,Column为bit line,横着一行为页(读写单元),整个方块叫block(擦除单元),选中后放到Sense Amplifiers(行选中)。

左上角门限为2V,右上角为3V,所以加载2.5V可以将其选通。

假如我们要读第二行,则其他行加上5V电压,第二行2.5V即可。

如图,2.5V无法通过前两行,所以竖着无法通过,后面两行可以通过,所以呈现0 0 1 1的情况。从而选中page2的数据。

该图表示了MLC下,闪存存储的容量变大,但是可靠性变差。

每一行的一个单元是有两个bit(wordline),如何写入呢?

下面为写入顺序:

这个顺序的原因是:加电压的时候会对周边的数据有影响,使得相邻数据偏移。连续写两次同一个位置会对周边影响过大。

但是当写了第一行、第二行,再写第一行的第二个数据的时候,就可以把偏移的电压调整过来。

下面阐述了Flash的其他特性:

寿命影响可靠性。Retention是放了时间久了之后电子跑掉了,耐久性是写的越来越多,设备(Floating gate)越来越薄,这个变薄的时间就是耐久性。

为了使用上述特性,所以设计了FTL。

1 不写在一个地方,新写在一个地方,通过修改指针。旧的数据无效化,放过去

  • 地址映射

  • 垃圾回收

  • 磨损均衡

SSD内部结构如上图所示。

其内部是多通道进行,Channel Level使得SSD内部有很强的并行性,速度变快。其中每个Chip中都有Register,数据会提前准备到Register,然后通过总线传输。

1 垃圾回收

闪存每一个page分类三种状态,上图右侧:有效的叫Live page,无效的叫Dead page。

垃圾回收的目的就是把无效的D擦掉,所以需要把有效的挪走,把一整块擦掉。如下图:

已经挪走后,直接擦除:

这里存在两个开销:

  • 1 复制Live数据

  • 2 擦除块

垃圾回收的策略需要考虑:

1 什么时候启动?
2 选择哪些块回收?
3 新的数据放哪?

考虑冷热数据,分特性去放数据。

2 磨损均衡

动态磨损均衡:分配空间的时候尽可能把数据分配到擦除空间少的地方。

静态磨损均衡:对现有数据进行转移。

3 FTL - 地址映射

维持一个Page页表,虚拟地址到物理地址的转换

类似于查表的过程。数据为LPN,通过查表然后得出物理地址。

相关文章

  • 目标检测系列——SSD(上)

    一、SSD原理   本文记录一阶段目标检测模型SSD的学习笔记及代码复现过程。首先个人感觉SSD和YOLO相比稍微...

  • SSD原理学习笔记

    本文为清华大学存储课程的学习笔记,以及一些体会,图片主要来自课程的PPT,附带一些Note来做补充说明。 非遗失性...

  • 目标检测学习资料

    RCNN学习笔记(10):SSD:Single Shot MultiBox Detector 深度学习目标检测模型...

  • 从机械硬盘到SSD谈碎片化问题

    参考文章:SSD基本工作原理Copyright: www.ssdfans.com SSD背后的秘密:SSD基本工作...

  • SSD代码阅读

    1.CNN目标检测(三):SSD详解 - 浩瀚之水的专栏 - CSDN博客 2.深度学习笔记(七)SSD 论文阅读...

  • SSD (46、47讲)

    SSD的读写原理 如何最大化利用SSD AeroSpike: 如何最大化SSD的使用效率

  • DynamoDB 的原理

    DynamoDB 原理,大约是以空间换时间, 因为 SSD 硬盘不值钱。所以数据就直接存在 SSD上, 你不再需要...

  • 简析物体识别SSD算法

    【学习笔记,仅作参考,欢迎交流】 发表于 ECCV-2016 的 SSD 算法是继 Faster RCNN 和 Y...

  • SSD(Single Shot MultiBox Detecto

    前言 本文用于记录学习SSD目标检测的过程,并且总结一些精华知识点。 为什么要学习SSD,是因为SSD和YOLO一...

  • SSD笔记

    SSD 网络结构 SSD使用VGG16作为基础网络,上图的黄色部分为在VGG16基础网络上填加的特征提取层。SSD...

网友评论

      本文标题:SSD原理学习笔记

      本文链接:https://www.haomeiwen.com/subject/jpbioktx.html