拆解固态硬盘结构

news/2024/11/13 7:29:51/

前面几篇文章,主要围绕的是机械硬盘来说的。目前ssd目前应用也越来越广了,值得我们花精力琢磨琢磨。SSD硬盘是地地道道电子技术下的产品,因为不像机械硬盘IO时依赖两个耗时的机械轴行为:磁盘旋转,以及磁道寻道,SSD硬盘的访问延迟要比机械硬盘要低的多,在随机IO下的表现尤其明显。我们今天从最底层出发,看看SSD的几个内部机理。

欢迎关注微信公众号:开发内功修炼

SSD的组成结构

机械硬盘和ssd虽然都同为硬盘,但底层实现技术却完全不一样,机械硬盘使用的是磁性材料记忆,而SSD用的是类似u盘的闪存技术。实现技术的不同,必然在硬盘内部结构上他们就有天壤之别。他们的果照对比如下图所示:

图1 机械硬盘与SSD对比

不像机械硬盘里的一摞子圆形碟片,SSD是由一些电路和黑色的存储颗粒构成。SSD硬盘是基于NAND Flash存储技术的,属于非易失性存储设备,换成人话说,就是掉电了数据不会丢。其中每一个黑色的存储颗粒也叫做一个Die。 我们“拆开”一个Die来看一下

图2 SSD硬盘存储颗粒内部结构 

每个Die有若干个Plane,每个Plane有若干个Block,每个Block有若干个Page。Page是磁盘进行读写的最小单位,一般为2KB/4KB/8KB/16KB等。

SSD里的扇区

前面我们介绍机械硬盘的时候,说到由于历史原因,操作系统等软件里,512KB扇区的概念是“根深蒂固”。新的机械硬盘虽然把物理扇区已经做到4KB的了,但为了兼容老系统还得整出个逻辑扇区的概念来适配。到了SSD里也一样,虽然每一个物理Page的大小为2K到16K不等,但是为了兼容性,也必须得整出个逻辑扇区才行。

SSD控制器在逻辑上会把整个磁盘再重新划分成一个个的“扇区”,采用和新机械硬盘一样的LBA方式来进行编址(整个磁盘的扇区从0到某个最大值方式排列,并连成一条线)。当需要读取某几个"扇区"上数据的时候,SSD控制器通过访问这个LBA MapTable,再来找到要实际访问的物理Page,如下图:

图3 扇区地址与物理Page映射

不过SSD最小的读写单位就是Page,他是没办法只扇区来进行读写的。

最底层的闪存单元

上面我们看到SSD是由一个个的Page组曾。而在每一个Page里,又包含了许许多多的闪存单元。。现代的闪存单元有多种类型,目前主流的主要分为SLC、MLC和TLC。

图4 闪存单元类型

在SLC里,一个单元的电压只分成高低两种状态,所以只能表示1bit数据。到了MLC,硬是把一个单元里的电压按照高低分成了四种状态,所以可以表示2bit。到了TLC,直接一个单元应拆分成8个电压高低不同的状态,为了表示3bit。由于TLC在数据读写需要八种不同电压状态,而施加不同的电压状态、 就需要更精确,也就需要更长的时间才能得以实现。另外由于电压状态多,出错的可能性也会更大。

以上三种闪存单元对比:从性能和稳定性角度来看,SLC最好。从容量角度看,TLC最大。这就是为什么日常我们看到的工业级的SSD要比笔记本SSD要贵很多,其中一个很重要的原因就是工业级的盘往往采用的闪存单元是SLC或MLC,而我们家用的笔记本一般都是TCL,因为便宜嘛。我们从用表格再对它们直观对比一下:

表1 闪存单元对比

目前主流闪存类型TLC居多,因为价格便宜,容量大。

思考

  • 假设某SSD的Page大小是4KB,一个文件是16KB。那么该文件是存在一个黑色的存储颗粒里,还是多个?

我们先把SSD的逻辑结构用个直观一点的图来看:

图5 16K文件在SSD中分布示意

假设只写在一个颗粒里,那么对该文件进行读取的时候,就只能用到一条Flash通道,这样速度就会比较慢。如果存在相邻的4个颗粒里,每个写入4KB。这样多个Flash通道的带宽会充分发挥出来,传输速度也更快。所以,实际中是分散在多个。

欢迎关注微信公众号:开发内功修炼


http://www.ppmy.cn/news/808331.html

相关文章

IDEA中使用.env文件配置信息

一、说明 我们以配置阿里云的 Access Key 的信息为例(配置别的信息当然也可以,我只是举个例子!!!),假设我们的代码中需要用到它。Access Key有两个属性,分别为【ALIBABA_CLOUD_ACCE…

程序员的护城河是什么?

最近两个月一直处于忙碌状态:跳槽、转行、学习新的编程语言(Python Golang)、赶工期、面试招人……也正是这一系列的经历,对目前的就业形势和软件从业人员的发展有了一些新的观察和思考,在这篇文章分享给大家。 整体…

adobe acrobat设置黑白打印

通常,文章总是采用黑白打印,打印出来的往往与电脑显示效果不同,为不必在打印店白跑一趟,可采用虚拟打印,随时预览“打印结果”,下面是adobe acrobat设置黑白打印的方法: 选择Print->Advance…

打印机设置默认为黑白

打开控制面板 右击—打印机属性

黑白图像,灰度图像和彩色图像的区别

黑白、B&W、单色图像表示二值图像。 灰度图像(gray image)是每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的…

cad打印黑白图纸,该如何打印呢?

CAD制图工作中,我们常常从事各种CAD绘制操作,有时候还需要cad打印黑白图纸,该如何打印呢?今天教大家一个非常好用的打印技巧,使用CAD看图软件,打印黑白CAD图纸。演示操作如下: 1.可以先在浏览器…

CAD彩色线条直接打印成黑白PDF的办法

只需要进行打印设置就行,不需要修改CAD线条颜色 1.打开CAD图纸,点击打印,设置一般打印选项 本步中,各设置选项可直接按照图中来,如果预览发现不对可做相应修改。 【一般预览图纸的时候,发现残缺不全&…

彩色图像、灰度图像与黑白图像的区别

一、彩色图像 彩色图像是指图像中的每个像素都分成R、G、B三个基色分量,每个基色分量直接决定其基色的强度,这样产生的色彩称为真彩色,因此彩色图像有3个通道。例如图像深度为24,用R:G:B8:8:8来表示色彩,则R、G、B各占…