固态硬盘(SSD)内部详细结构

对于关心SSD的人来说,你可能知道固态硬盘的速度是普通机械硬盘的几倍,能够有效提高计算机的开关机速度,也能解决计算机卡顿的问题

那么,SSD到底是什么?它的内部结构又是怎样的呢?

SSD内部结构详解

让我们简单谈谈固态硬盘的发展历程以及目前固态硬盘行业的市场格局,这些是相对较大、宏观的内容。

今天,我们将从微观角度出发,重点分析固态硬盘本身,通过简单分析固态硬盘的内部和外部结构,让更多的人了解固态硬盘的构成。

HDDSSD的区别是什么?

HDD

机械硬盘利用磁性来记录数据,类似于我们小时候用来听音乐的磁带。如果我们需要找到某一条数据,硬盘将转动到信息记录的位置,磁头会感应磁性并读取数据。

SSD

固态硬盘(SSD)是由一系列固态电子存储芯片组成的硬盘。它由控制单元、存储单元(FLASH芯片、DRAM芯片)和缓存单元组成。与机械硬盘不同,机械硬盘由磁盘和磁头等机械部件组成,而固态硬盘的整个结构由电子芯片和电路板构成,而没有机械装置。

根据固态硬盘的定义,我们可以推测固态硬盘的内部结构实际上由三大主芯片、闪存颗粒和缓存单元组成。接下来,让我们一一了解这些组件。

固态硬盘的NAND闪存(最为重要)

闪存是用于存储数据的固态硬盘组件,通常分为SLC、MLC和TLC,它们是选择固态硬盘时最为重要的参数。

  • SLC:S代表单个(single)。因此,SLC的每个存储单元只存储1bit的数据。这种存储模型稳定,读写速度快,无错误,寿命长。因此,它也最为昂贵。
  • MLC:M代表多(multi),一般表示为两个。因此,每个MLC存储单元包含2bit的数据。
  • TLC:T代表三重(triple),没错,正是我们说的“三杀”!

因此,每个TLC存储单元需要挤进3bit的数据。(因为MLC代表多个bit,包括三个,所以一些厂商如三星将其EVO固态硬盘中使用TLC颗粒的称为“3Bit MLC”。)

我们可以将存储空间比作一个庞大的停车场,每个存储单元是一个停车位,每一bit数据就是一辆车。

  • SLC NAND闪存:1bit数据占用一个独立停车位,车子可以自由进出,不会出现错误,速度非常快,因为停车位使用频率低,所以寿命很长,但成本很高(例如SLC mSATA硬盘)。
  • MLC NAND闪存:2bit数据占用一个停车位,1辆车和2辆车的进出需要管理员调度,效率稍低,因此速度会较慢。停车位使用频率翻倍,寿命也会缩短。
  • TLC NAND闪存:3bit数据挤进一个停车位,进出的调度更加复杂,效率低,速度慢,且更容易出错,寿命短。

虽然我们说TLC颗粒寿命较短,但这是相对于SLC和MLC来说的。经过严苛测试后,TLC颗粒在正常使用中已经能够稳定工作超过五年。基于TLC颗粒的固态硬盘最为常见,主要是由于TLC颗粒价格更加亲民,适合普通用户,因此最为普遍。

控制芯片

如果存储空间是一个大停车场,那么控制芯片就是这个停车场的“管理员”。他负责精确合理地将每一辆车(数据)导引到其正确的停车位。

对于这样一个规模的停车场,特别是TLC颗粒停车场,其中三辆车挤在一个停车位里,管理员的工作压力非常大。因此,“管理员”(控制芯片)必须具备优秀的硬件素质和成熟的管理方式(固件)。

一个好的控制芯片+优秀的固件就像是有经过专业训练的警察来管理停车场,而一个糟糕的控制芯片和固件就像是让没有受过教育和培训的、瘦弱的人来管理停车场,造成效率低下和错误。即便停车场本身很坚固,长时间管理不善也会导致停车场无法正常使用。

优秀的控制芯片品牌有Marvell、SandForce、三星、英特尔、东芝 等。近年来,台湾一些领先品牌如SMI和Phison也逐渐赶上。

缓存

当你需要存储大量数据时,也就是当停车场一次性进入许多车辆时,控制芯片(管理员)会感到力不从心。但是,CPU非常强大:“我已经把这么多车(数据)交给你了,你不能让我等待!我还有很多事情要做!”

如果没有缓存,CPU将不得不等待,而用户会觉得“慢”或者“卡顿”。但如果有缓存,管理员就可以说:“我先将剩下的车停在临时停车场,而我可以在忙碌的同时为它们安排合适的停车位。”这样,CPU可以继续执行其他任务,用户就会感觉计算机速度“快”且“流畅”。

然而,缓存的缺点是,如果硬盘没有防止断电的保护,数据可能会丢失。(正规厂商会有防电断保护措施,所以不必太担心。)

3D NAND堆叠技术

这是近年来才开始流行的技术。继续沿用停车场的比喻,这个技术是有道理的。

3D堆叠技术是由于近几年固态硬盘容量的不断增加,存储单元之间的密度变得越来越大,因此我们将普通的单层停车场替换为多层停车场。这样,每个停车位之间的挤压减少,干扰也减少,因此性能更好。对于制造商而言,成本也更低。

接口(Interface)、总线(BUS)、协议(Protocol

由于固态硬盘近年来的快速发展,新旧产品交替技术,市场上固态硬盘的接口(Interface)和协议有些杂乱,存在不断割裂的情况,但幸运的是,我能帮助你掌握其中的要点。

接口(Interface

接口(Connector)是由几根不同形状的导电铜线构成的插头。市场上主流的固态硬盘接口有SATA、mSATA、M.2和PCI-E槽。

这些接口除了外观不同之外,在性能上也有很大区别。

总线

总线是我们看不见的东西,可以理解为数据传输的“高速公路”。SATA总线和PCI-E总线是两种主要的总线类型。

如果我们从P城市开车到Y城市,选择PCI-E总线就像是走一条直达的高速公路,而选择SATA总线就像是走一条绕远的城市和乡村道路。

PCI-E总线有多个等级,PCI-E x1、PCI-E x2、PCI-E x4、PCI-E x8、PCI-E x16。数字越大,速度越快。目前的固态硬盘大多为x2或x4等级,速度可达到3000MB/s以上。有些朋友可能会想到,我们使用的显卡通常是x16等级的。

协议

如上所述,PCI-E ×4 是一条平坦的高速公路,但正如我们所知道的,实际上,高速公路上每辆车的速度也是不同的,跑车总是比普通车快。支持 NVMe 协议的 SSD 就相当于专为这条平坦高速公路设计的跑车。在 PCI-E x4 通道中,不支持 NVMe 的硬盘最多只能运行 1500MB/s,而支持 NVMe 的硬盘至少可以运行 3000MB/s。

架构模型

单端口 PCIe SSD Single-port PCIe SSD

双端口 PCIe SSD,带 SMBus I2C Dual-port PCIe SSDs with SMBus or I2C

NVMe 管理接口用于发送命令消息,这些消息由标准的 NVMe 管理命令组成,目标是 NVM 子系统中的控制器。这些命令用于访问 PCI Express 配置、I/O 和存储空间,以及特定于管理接口的命令,用于计数、配置和监控 NVM 子系统。

与单端口 PCIe SSD 相关的 NVM 子系统 NVM subsystem associated with single-port PCIe SSDs

上图展示了与图 3 所示 PCIe SSD 对应的示例 NVM 子系统。该 NVM 子系统由一个与 PCIe 端口 0 相关的控制器和两个与 PCIe 端口 1 相关的控制器组成。管理端点和 SMBus/I2C 端口与每个 PCIe 端口相关联。由于 NVM 子系统包含管理端点,因此所有控制器都有相关的控制器管理接口。

与带 SMBus/I2C 的双端口 PCIe SSD 相关的 NVM 子系统 NVM subsystem associated with two-port PCIe SSDs with SMBus/I2C

管理接口请求和响应消息作为 MCTP 消息传输,消息类型通过 MCTP 设置为 NVM Express 管理消息(见 MCTP ID 和代码规范)。所有命令消息都源自管理控制器,响应消息由管理端点生成。

簇、页面与块之间的关系 Relationship among Clusters, Pages, and Blocks

磁盘容量是基于以下公式计算的:

Storage capacity = Number of magnetic heads x number of tracks (cylinders) x Number of sectors x number of bytes per sector

  • Sector: the smallest storage unit of a disk;
  • Disk block: the smallest unit of reading and writing data in a file system;
  • Page: minimum storage unit of memory;
  • A disk block consists of consecutive (2^n) sectors;
  • The page size is 2^ N times the disk block size;
  • Page size: getconf PAGE_SIZE, usually 4K;
  • Disk Block size view: the stat/boot / | grep “IO Block”, common for 4 k;
  • View the sector size: fdisk -l, which is usually 512 bytes.

参考来源:

[Know-How] Internal Structure Details of Solid-State Drives

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cheeky_man

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值