SSD | (一)SSD综述

news2024/10/10 22:29:02

文章目录

  • 📚SSD综述
    • 🐇SSD基本结构
    • 🐇SSD与HDD
    • 🐇SSD基本工作原理
      • ⭐SSD请求处理流程
      • ⭐SSD主要组成模块
      • ⭐SSD读写操作
    • 🐇SSD产品核心指标
      • ⭐基本信息
      • ⭐性能指标
      • ⭐数据可靠性和寿命
      • ⭐功耗
  • 📚可计算存储

📚SSD综述

🐇SSD基本结构

  • SSD即固态硬盘,是一种以半导体闪存(NAND Flash)为介质的存储设备。和传统机械硬盘(HDD)不同,SSD以半导体存储数据,用纯电子电路实现。
  • SSD的硬件包括几大部分:主控、闪存、缓存芯片DRAM、PCB、接口。SSD的主体其实就是一块PCB。

在这里插入图片描述

SSD与传统的HDD相比,具有更快的读写速度、更低的功耗和更好的抗震性能。

  1. 主控:SSD的大脑,负责管理数据的读写、错误校正、坏块管理、数据加密等任务。主控芯片的性能直接影响到SSD的整体性能。

  2. 闪存:闪存是SSD中用于存储数据的核心部件,闪存的类型和质量直接影响SSD的性能和耐用性。

  3. 缓存芯片DRAM:用于临时存储数据,以提高SSD的读写速度。

  4. **PCB **:SSD的物理载体,所有其他组件都安装在PCB上。PCB上还可能集成有电源管理芯片、电阻、电容等其他电子元件。

  5. 接口(Interface):接口是SSD与计算机其他部分通信的通道

    • SATA:常见的硬盘接口,传输速度相对较慢。
    • SAS:高性能的服务器级接口,传输速度较快。
    • PCIe:高速接口,提供更高的数据传输速率。

SSD的主体其实是一块PCB,所有的组件都安装在这块PCB上,并通过接口与计算机的主板相连。

  • 软件角度看,SSD内部运行固件(Firmware,FW)负责调度从接口端到介质端的数据读写,包括嵌入核心的闪存介质寿命和可靠性管理调度算法。

  • 存储介质

在这里插入图片描述

当前闪存生产供应商主要有三星、SK海力士、铠侠、西数、长存。

🐇SSD与HDD

  • 传统HDD采用的是“磁头+马达+磁盘”的机械结构,SSD则变成了“闪存介质+主控”的半导体存储芯片结构。

    在这里插入图片描述

  • 从技术参数上,与HDD相比,SSD的优点:性能好、功耗低、抗震防摔、无噪声、身形小巧百变

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

🐇SSD基本工作原理

⭐SSD请求处理流程

  • 从主机开始,用户从操作系统应用层面对SSD发出请求;
  • 文件系统将读写请求经驱动转化为相应的符合协议的读写与其他命令;
  • SSD收到命令执行相应操作,然后输出结果。

SSD的输入是命令,输出是数据和命令状态。

⭐SSD主要组成模块

在这里插入图片描述

  • 前端接口和相关的协议模块

    • SSD前端负责和主机直接通信,接收主机发来的命令和相关数据,命令经SSD处理后,最终交由前端将命令状态或数据返回给主机。

    • SSD通过SATA、SAS和PCIe等接口与主机相连,实现对应的ATA、SCSI和NVMe等协议。

      在这里插入图片描述

  • FTL模块

    • 处理逻辑到物理地址的映射。

    • 垃圾回收(闪存不能覆盖写):移动有效数据,擦除旧数据块。

      在这里插入图片描述

    • 磨损平衡(闪存有寿命,闪存块不能一直写):均衡写入,延长闪存寿命。

    • 坏块管理、读干扰处理、数据保持、错误处理等

  • 后端和闪存通信模块:执行写入和读取操作。

⭐SSD读写操作

  • 写操作:主机发送写命令,SSD缓存数据,FTL分配闪存地址,后端写入数据
  • 读操作:主机发送读命令,FTL查找映射表,后端读取数据,前端返回数据。
  • 以写为例:

    • 主机通过接口将写命令发送给SSD,SSD收到该命令后执行命令,并接收主机要写入的数据。
    • 数据一般会先缓存在SSD内部的RAM中,FTL会为每个逻辑数据块分配一个闪存地址,当数据达到一定数量后,FTL便会给后端发送写闪存请求,然后后端根据写请求把缓存中的数据写到对应的闪存空间。
  • 由于闪存不能覆盖写,所以闪存块需擦除才能写入。主机发来的某个数据块不是写在闪存固定位置,SSD可以为其分配任何可能的闪存空间以供其写入。因此,SSD内部需要FTL来完成逻辑数据块到闪存物理空间的转换或者映射。

    • 举个例子。假设SSD容量为128GB,逻辑数据块大小为4KB,则该SSD一共有128GB/4KB=32M个逻辑数据块。
    • 每个逻辑块都有一个映射,即每个逻辑块在闪存空间中都有一个存储位置。闪存地址的大小如果用4B表示,那么存储32M个逻辑数据块在闪存中的地址则需要32Mx4B=128MB大小的映射表。
  • 正因为SSD内部维护了一张逻辑地址到物理地址转换的映射表,所以当主机发来读命令时,SSD能根据需要读取的逻辑数据块查找该映射表,获取这些逻辑数据在闪存空间中的位置,后端便能从闪存上把对应数据读到SSD内部缓存空间,然后前端负责把这些数据返回给主机。

  • 由于前端接口协议都是标准化的,后端和闪存的接口及操作也是标准化的,因此,一个SSD在前端协议及闪存确定下来后,差异化就体现在FTL算法上了。FTL算法决定了性能、可靠性、功耗等SSD的核心指标。

🐇SSD产品核心指标

⭐基本信息

  • 容量配置(Capacity)

    • SSD容量是指提供给终端用户使用的最终容量,以字节(B)为单位。

    • 注意,标称的数据都以十进制为单位。以二进制为单位的容量在行业内称为裸容量,以十进制为单位的容量称为用户容量

    • 同一组数据,二进制比十进制会多出7%的容量。这里是针对GB级而言的。

    • 闪存本身是裸 容量。SSD可以利用这多出来的7%的空间管理和存储内部数据,比如把这部分额外的空间用作FTL映射表存储空间、垃圾回收所需的预留交换空间、闪存坏块的替代空间等。

    • 这里的7%的空间可以转换为OP概念

    在这里插入图片描述

  • 介质信息(Component)

    • 闪存这种半导体介质有其自身的物理参数:PEcycles(编程擦除次数)、Program(写编程)时间、数据Erase(擦除)和Read(读)时间、温度对读写擦的影响、闪存页的大小、闪存块的大小……
      在这里插入图片描述

    • 介质的好坏直接影响数据存储的性能和完整性。

  • 外观尺寸(Form Factor)、重量(Weight)、环境温度(Temperature)、震动可靠性(Shock and Vibration)、认证(Certification)、加密(Encryption)

⭐性能指标

  • IOPS:每秒完成的输入输出请求数,反映随机读写性能。
  • 吞吐量:每秒读写命令完成的数据传输量,也称带宽,反映顺序读写性能。
  • 响应时间/延时:每条命令从发出到收到状态回复所需的时间,包括平均延时和最大延时。
    • 平均延时:所有命令响应时间的总和除以命令的个数。
    • 最大延时:测试周期内所有命令中响应时间最长的那笔。

性能测试设计要考虑访问模式:

  • Random/Sequential:随机和连续数据命令请求。
  • Block Size:单条命令传输的数据大小,在性能测试中通常从4KB到512KB不等。
  • Read/Write Ratio:读写命令数混合的比例。

任何测试负荷都是上述这些模式的组合。

  • 顺序读测试:指的是LBA连续读,块大小为256KB、512KB等,读写比例为 100%:0。
  • 随机写测试:指的是LBA不连续的写,块大小一般为4KB,读写比例为0:100%。
  • 随机混合读写:指的是LBA不连续的读写混合测试,块大小一般为4KB,读写保持一定的比例。
  • 服务质量(QoS)反映延时“置信级”:在测试规定的时间内使用不同百分比的命令中的最大延时。

在这里插入图片描述

  • 空盘与满盘

    • HDD和SSHD满盘和空盘写的IOPS相差不大;SSD满盘和空盘写的IOPS相差很大,因为满盘后写会触发垃圾回收。

    • 消费级SSD,商家给的测试数据一般是空盘测试的数据;企业级SSD,客户更关注稳态性能,即满盘性能。

⭐数据可靠性和寿命

  • 数据可靠性

    • UBER (Uncorrectable Bit Error Rate):不可修复的错误比特率,衡量数据读取时错误的概率

      • SSD的存储介质闪存具有天然的数据位翻转率,可能由于擦写磨损、读取干扰、编程干扰或数据保持错误导致。
      • SSD使用纠错码(如ECC)修正错误数据,但某些情况下错误可能无法纠正,因此需要UBER来告知用户数据错误无法纠正的概率。
    • RBER (Raw Bit Error Rate):原始错误比特率,反映闪存的质量

      • RBER是影响UBER的核心因素。
      • 在相同的ECC编码长度和保护强度下,RBER越低,UBER也越低,且呈指数级降低。
      • RBER随使用时间(PE Cycle)增加而增加。
      • RBER与闪存内部结构有关,不同闪存块的RBER可能完全不同。
    • MTBF (Mean Time Between Failure):平均故障间隔时间,反映产品的可靠性。

  • 寿命

    • DWPD(Drive Writes Per Day):每天驱动器写入次数,即在SSD的保修期内,用户每天可以把盘写满多少次。

      • 写密集型应用(如OLTP)需要高DWPD值的SSD;读密集型应用对DWPD值的要求较低;根据应用场景选择合适的DWPD值,以平衡性能和成本。
    • TBW(Terabytes Written):在SSD的生命周期内可以写入的总字节数。

      • NAND PE Cycles:闪存标称写擦除次数。

      • Capacity:SSD单盘用户可使用的容量。

      • WA(写入放大系数):与SSD固件设计和用户写入的数据类型相关。
        在这里插入图片描述

    • 可以根据TBW计算每天的写入量

    在这里插入图片描述

⭐功耗

  • 空闲(Idle)功耗:SSD无操作且未进入省电模式时的功耗。

  • 最大峰值(Max active)功耗:SSD在最大工作负载(如连续写操作)时的功耗。

  • Standby/Sleep功耗:SSD在待机或睡眠模式下的功耗,通常较低。

  • DevSleep(深度睡眠)功耗:SSD在深度睡眠模式下的极低功耗,通常在10mW以下。

  • 系统功耗状态

    • S0:工作模式,OS可以管理SSD的功耗状态。

    • S1-S5:不同的睡眠和休眠模式,功耗和恢复时间随模式加深而增加。

    • 进入和退出功耗模式存在延时,频繁切换可能导致性能损失。

    • 从正常工作模式切换到低功耗模式需要适当的时间,以避免过早进入低功耗模式而影响性能。


  • 适配性(Compliance)、兼容性(Compatibility)

  • 其他:产品可靠性(RMA Rate)、测试条件信息、系统兼容性信息

📚可计算存储

  • 可计算存储(Computational Storage)是一种新兴的存储技术,它将处理数据的计算能力整合到存储设备中,以提高数据处理效率、降低延迟、减少数据移动和网络传输的开销。
  • 这种技术特别适用于需要处理大量数据的应用场景,如大数据分析、人工智能、物联网(IoT)等。
  • 可计算存储的主要特点:
    • 本地计算:计算任务在存储设备本地执行,而不是将数据发送回中央处理器(CPU)或专用服务器。
    • 减少数据移动:通过在存储设备上直接处理数据,减少了数据在存储和计算资源之间移动的需要,从而降低了延迟和网络拥塞。
    • 提高效率:可计算存储可以预处理数据,只将必要的信息发送到服务器,从而提高了整体系统效率。
    • 扩展性:通过分散计算负载到存储设备,可计算存储有助于扩展系统的处理能力。
    • 安全性:数据在存储时就可以进行加密和处理,减少了数据在传输过程中被截获的风险。
      中央处理器(CPU)或专用服务器。
    • 减少数据移动:通过在存储设备上直接处理数据,减少了数据在存储和计算资源之间移动的需要,从而降低了延迟和网络拥塞。
    • 提高效率:可计算存储可以预处理数据,只将必要的信息发送到服务器,从而提高了整体系统效率。
    • 扩展性:通过分散计算负载到存储设备,可计算存储有助于扩展系统的处理能力。
    • 安全性:数据在存储时就可以进行加密和处理,减少了数据在传输过程中被截获的风险。

  • 参考书籍:《深入浅出SSD:固态存储核心技术、原理与实战》(第2版)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2203338.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VueRouter前端路由

文章目录 VueRouter前端路由VueRouter 简介安装vuerouter配置router文件子路由路由重定向 VueRouter前端路由 VueRouter 简介 安装vuerouter npm install vue-router4yarn add vue-router4配置router文件 import { createRouter, createWebHistory } from vue-router; impor…

k8s--二进制包部署及常见报错解决方法

部署流程 所有基础流程见此教程,很详细: 从零搭建k8s集群 - 许大仙 - 博客园 (cnblogs.com) 记得在写配置文件时细心点,注意修改自己的ip地址,以及看在哪个主机上操作 这里记得写自己的token 常见报错及解决方法 我只在下边讲…

GDPU Vue前端框架开发 ecmascript6初步使用

前端框架基础,打造你的前端应用。 箭头函数 使用箭头函数实现求多个数的和,可以有一个参数,也可以有多个或零个参数。 let sum (...numbers) > {return numbers.reduce((acc, curr) > acc curr, 0);};let asum(); let bsum(1); let…

实战千问2大模型第五天——VLLM 运行 Qwen2-VL-7B(多模态)

一、简介 VLLM 是一种高效的深度学习推理库,通过PagedAttention算法有效管理大语言模型的注意力内存,其特点包括24倍的吞吐提升和3.5倍的TGI性能,无需修改模型结构,专门设计用于加速大规模语言模型(LLM)的…

生成对抗网络(GAN,Generative Adversarial Network)

生成对抗网络(GAN,Generative Adversarial Network)是一种深度学习模型,由两部分组成:生成器(Generator)和判别器(Discriminator)。生成器的目标是生成逼真的样本&#x…

Xinstall品牌揭秘:如何成为App拉新的行业翘楚?

在移动互联网时代,App作为连接用户与服务的桥梁,其重要性不言而喻。然而,随着市场竞争的加剧,App拉新(即吸引新用户下载并使用App)的难度也在逐渐增大。传统的营销方式往往面临着成本高、效率低、用户留存差…

理解PID(零)——什么是PID

PID控制器是一种广泛用于各种工业控制场合的控制器,它结构简单,可以根据工程经验整定参数Kp,Ki,Kd. 虽然现在控制专家提出了很多智能的控制算法,比如神经网络,模糊控制等,但是PID仍然被广泛使用。常见的PID控制器有位置…

视频怎么转gif动图?5个简单转换方法快来学(详细教程)

相信大家在社交平台上会经常看到一些有趣的gif动图表情包,有些小伙伴就会问:这些GIF动图是如何制作的呢?一般GIF动图表情包可以用视频来制作,今天小编就来给大家分享几个视频转成GIF动图的方法,相信通过以下的几个方法…

文献阅读CONCH模型--相关知识点罗列

文章链接:A visual-language foundation model for computational pathology | Nature MedicineThe accelerated adoption of digital pathology and advances in deep learning have enabled the development of robust models for various pathology tasks across…

【可答疑】基于51单片机的智能家居系统(含仿真、代码、报告、演示视频等)

✨哈喽大家好,这里是每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~ 🐱‍🐉这是51单片机毕业设计100篇…

ceph基础

ceph基础搭建 存储基础 传统的存储类型: DAS设备: SAS,SATA,SCSI,IDW,USB 无论是那种接口,都是存储设备驱动下的磁盘设备,而磁盘设备其实就是一种存储是直接接入到主板总线上去的。直连存储。 NAS设备: NFS CIFS FTP 几乎所有的…

商标恶意维权形式及应对策略

在商业领域,商标恶意维权的现象时有出现,给正常的市场秩序和企业经营带来了不良影响。以下将介绍其常见形式及应对方法。 一、商标恶意维权的形式1、囤积商标后恶意诉讼。一些人或企业大量注册与知名品牌相似或具有一定通用性的商标,并非用于…

留学生毕业论文设计问卷questionnaire的基本步骤

在上一期内容中,小编介绍了留学毕业论文的定量研究和相关的问卷设计。然而在一些研究中,定量研究和问卷数据并不能满足我们的研究需求。这种情况下,我们可以采取其他的数据收集方式,例如observation,case study和inter…

软件设计之SSM(11)

软件设计之SSM(11) 路线图推荐: 【Java学习路线-极速版】【Java架构师技术图谱】 尚硅谷新版SSM框架全套视频教程,Spring6SpringBoot3最新SSM企业级开发 资料可以去尚硅谷官网免费领取 学习内容: Springboot 配置文件整合SpringMVC整合Dr…

【学术会议征稿】第十届能源资源与环境工程研究进展国际学术会议(ICAESEE 2024)

第十届能源资源与环境工程研究进展国际学术会议(ICAESEE 2024) 2024 10th International Conference on Advances in Energy Resources and Environment 第十届能源资源与环境工程研究进展国际学术会议(ICAESEE 2024)定于2024年…

拓扑排序与入度为0的结点算法解析及实现

拓扑排序与入度为0的结点算法解析及实现 算法思想时间复杂度分析伪代码C语言实现环路检测结论拓扑排序是一种用于有向无环图(DAG, Directed Acyclic Graph)的重要操作,它可以对图中的结点进行排序,使得对于每一条有向边 (u, v),顶点 u 在排序中都出现在顶点 v 之前。本文介…

Qt和c++面试集合

目录 Qt面试 什么是信号(Signal)和槽(Slot)? 什么是Meta-Object系统? 什么是Qt的MVC模式? 1. QT中connect函数的第五个参数是什么?有什么作用? 3. 在QT中&#xff…

ROS2官方文档(2024-10-10最新版)

ROS 2 Documentation — ROS 2 Documentation: Jazzy documentation (armfun.cn) ROS 2 文档 — ROS 2 文档:Humble 文档 (armfun.cn) 翻译中文方法:使用windows11自带Edge浏览器打开,右上角点击翻译为中文

pytest框架之fixture测试夹具详解

前言 大家下午好呀,今天呢来和大家唠唠pytest中的fixtures夹具的详解,废话就不多说了咱们直接进入主题哈。 一、fixture的优势 ​ pytest框架的fixture测试夹具就相当于unittest框架的setup、teardown,但相对之下它的功能更加强大和灵活。 …

DBMS-3.3 SQL(3)——DML的INSERT、UPDATE、DELETE空值的处理DCL

本文章的素材与知识来自李国良老师和王珊老师。 DML——INSERT、UPDATE、DELETE 一. INSERT 1.语法 (1)INTO子句 (2)VALUES子句 (3)示例 2.插入子查询 若插入的是子查询则不需要VALUES子句 二. UPDATE …