Tech Talk: SSD架构与功能模块详解

在之前的系列文章中,我们介绍了固态硬盘的系列知识,包括闪存的介质、原理,以及作为SSD大脑的控制器设计,本文将详细介绍SSD架构以及功能模块

SSD架构简介

SSD架构示意图

如上图所示,典型的SSD架构包括主机接口、SSD控制器以及闪存芯片。连接主机的接口包括多种标准类型,例如串行ATA(SATA)、并行ATA(PATA,又称IDE)、以及PCIe等,以满足不同的系统和设计要求。SSD控制器处于主机系统以及NAND闪存之间,执行数据读写以及调节闪存芯片的损耗平衡等。

SSD控制器组件和功能模块

SSD产品应用的场景不同,形态也有较大区别,但SSD控制器整体都会由一些必不可少的组件或功能模块构成,包括且不限于如下各项。

S.M.A.R.T:S.M.A.R.T (Self-Monitoring Analysis and Reporting Technology),即“自我监测、分析与报告技术”。这是承袭自机械硬盘的功能,便于用户直观了解SSD盘的运行情况、健康状况等信息。NVMe标准对SSD的SMART信息ID进行了统一的规范定义,各厂商也可自定义一些信息,例如监控与盘寿命相关的属性数据,包括剩余耐久度等数据。

磨损均衡:磨损均衡是指SSD在所有可用NAND闪存块(block)上平均分配擦除周期(或P/E周期)。由于闪存每个块的P/E周期有限,数据若连续写入同一个块将迅速耗尽其耐久度,因此控制器要采用磨损均衡算法将写入操作分散到不同的块,提升SSD盘的整体使用寿命。

加密和解密引擎:出于高安全性的考虑,SSD可提供盘内加密功能。SSD将硬件加密和解密引擎内置于控制器的芯片中,具备较快的动态加/解密速度。较强的加密功能包括256-bit AES(Advanced Encryption Standard,高级加密标准),通常在SSD内部设置AES硬件模块,用于主机数据或者SSD内部数据的加解密。

读写干扰处理:NAND闪存因受到电磁隧道效应影响,在读写过程中会出现干扰现象。具体包括:

-读干扰(Read disturb):在读取某个页(Page)时,同一闪存块上的其他页可能由于被施加电压而将电子吸入浮栅极,形成分布电压的偏移。

- 写干扰(Program disturb):在对页进行写入操作时,原本不需要被编程却被注入了电荷,形成了从1到0的比特翻转。

对于此类干扰,控制器都需要具备相应的纠正算法或者数据管理策略。

缓存:控制器可配备缓存以提高SSD的整体性能和使用寿命。例如,缓存可作为临时区域快速存储频繁访问的数据、优化小文件和随机访问性能、优化NAND数据写入操作、提升系统响应速度等。一般采用DRAM缓存。

处理器:SSD控制器内部通常包含一个或多个处理器核心,基于RISC(Reduced Instruction Set Computer,精简指令集计算机)架构设计。不同于一般意义上的CPU,控制器内的处理器专门针对SSD的特定任务进行了优化,控制器的功能也由处理器的大小和性能所决定。

ECC:由于闪存存储单元的工作特性,数据的写入和读取可能存在干扰。ECC(Error Correction Coding,错误校正码)作为SSD的关键部分,是一种硬件或软件机制,用于检测和修正在数据传输或存储过程中可能发生的错误。ECC引擎通常可以实现错误检验、错误校正、数据完整性保护以及性能优化等功能。

坏块管理:坏块管理(Bad Block Management,简称BBM)用于处理无法正常读写的存储单元。坏块管理主要包括坏块检测、坏块替换、坏块映射、坏块压缩等处理机制和功能,用于确保数据的可靠性和持久性,使SSD在遇到坏块时仍然能够提供可靠的数据存储和访问服务。

在以上组件或者功能模块中,除负责执行各种指令和算法的处理器以及用于缓存数据和元数据的内存,其余各种功能要靠固件实现。固件是指控制器芯片中预装的驱动程序,借助各类算法实现不同的管理功能。因此,固件是实际的指挥官,也是SSD厂家核心竞争力的体现。

忆联SSD控制器的高价值特性

忆联SSD产品在固件中集成多种智能算法以及硬件加速能力,满足高速数据处理和高可靠性要求场景,并提供丰富的可维护性。

✦加速处理性能方面:忆联SSD产品支持TRIM操作提高垃圾回收效率,提供SR-IOV with QoS提高I/O性能,并用智能多流技术对写入放大进行优化等。

✦可靠性方面:忆联SSD提供独有智能算法,提升闪存读电压一次命中率,提升盘片生命末期可靠性和时延表现,并作为多级数据校验保护机制的一环,实现数据通路的端到端保护。

✦可维护性方面:忆联支持SMART和健康监控,通过标准的管理接口获取健康监控信息并提供智能预警以及建议,另外也提供OOB带外管理、后台巡检、在线诊断等可降低维护成本的一系列功能。

在当前AI场景快速发展并落地到普通消费者的这一进程中,忆联SSD产品搭载新代际的控制器,并实现性能、安全性、定制功能、功耗等多个层面的全面优化,为产业的新发展筑就坚实的存力基石。

图片来源:

https://www.researchgate.net/figure/General-Architecture-of-SSD_fig1_340092076

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

点亮童梦思考之光,神秘伙伴震撼登场!

本文由 ChatMoney团队出品 介绍说明 咱们来聊聊“十万个为什么”机器人,这对小朋友来说,好处可多了去啦! 小朋友们天生好奇,满脑子都是问号。 这个机器人就像个啥都懂的知识达人,不管他们问啥,都能给出答…

JVM知识总结(类加载器)

文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 类加载器 Bootstrap引导类加载器 引导类加载器也被称为启动类加载…

麦田物语第二十天

系列文章目录 麦田物语第二十天 文章目录 系列文章目录一、构建地图信息系统二、生成地图数据 一、构建地图信息系统 我们上一节课已经做好了鼠标的显示,这节课需要构建地图的一些信息,例如:可挖坑,可丢弃物品等地区。我们点击地…

c语言学习,isdigit()函数分析

1:isdigit() 函数说明: 检查参数c,是否为0到9阿拉伯数字 2:函数原型: int isdigit(int c) 3:函数参数: 参数c,为检测整数 4:返回值: 参数c是阿拉伯码字符&…

【机器学习第8章——集成学习】

机器学习第8章——集成学习 8.集成学习8.1个体与集成弱分类器之间的关系组合时,如何选择学习器怎么组合弱分类器boosting和Bagging 8.2 BoostingAdaBoost算法步骤训练过程 8.3 Bagging与随机森林随机采样(bootstrap)弱学习器结合策略方差与偏差算法流程随机森林 8.4…

中职云计算实训室

一、实训室建设背景 随着信息技术的飞速发展,云计算已成为推动数字化转型、促进经济社会发展的重要力量。《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》明确提出,要加快数字化发展,建设数字中国。云计算作为数…

NLP——Transfromer 架构详解

Transformer总体架构图 输入部分:源文本嵌入层及其位置编码器、目标文本嵌入层及其位置编码器 编码器部分 由N个编码器层堆叠而成 每个编码器层由两个子层连接结构组成 第一个子层连接结构包括一个多头自注意力子层和规范化层以及一个残差连接 第二个子层连接结构包…

基于Java中的SSM框架实现远程同步课堂系统项目【项目源码+论文说明】计算机毕业设计

基于Java中的SSM框架实现远程同步课堂系统演示 远程同步课堂系统设计与实现 摘要:在这样一个网络数据大爆炸的时代,人们获取知识、获取信息的通道非常的多元化,通过网络来实现数据信息的获取成为了现在非常常见的一种方式,而通过…

MindSearch:用于增强网络搜索效率的开源人工智能

Web 信息查找与集成是搜索、检索、提取或集成 Web 资源以满足特定需求的活动,是实际生活中几乎所有领域中每个决策和解决问题的实体都必须执行的操作。 大型语言模型 (LLM) 与搜索引擎的集成重新定义了我们在网络上查找和使用信息的方式。因此,LLM 能够…

leetcode递归(203. 移除链表元素)

前言 经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。现阶段开始专项练习。 描述 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1:…

将元组类型的日期时间转换为字符串格式time.asctime([t])

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 将元组类型的日期时间转换为 字符串格式 time.asctime([t]) [太阳]选择题 根据给定的Python代码,哪个选项是错误的? import time time_tuple (1993, 6, 30, 21, 49…

pytorch下载慢,如何下载到本地再去安装,本地安装pytorch

有时候按部就班的用指令去安装pytorch,网上很慢,并且往往最后可能还没有安装成功。 本次,介绍一下如何将这个文件先下载到本地,然后在去安装。 至于如何安装pytorch,先看一下我之前写的 深度学习环境-------pytorch…

什么是多模态大模型?为什么需要多模态大模型?

“ 多模态大模型,就是支持多种数据格式的模型**”** 很多人都听说过多模态,也知道多模态大模型,但如果让你介绍一下什么是多模态大模型,它有什么优点和缺点,以及为什么需要多模态,这时可能就有点傻眼了。‍…

jupyter项目使用Anaconda环境内核

1、创建虚拟环境 conda create --name myjupyter python3.7 2、进入虚拟环境 conda activate myjupyter 3、切换到自己jupyter notebook项目想在的目录 E: cd E:\first\project\jupyter\jupyter01 4、安装IPython内核包,这是Jupyter Notebook使用Python内核所必需的…

vlunstack-2(复现红日安全-ATT CK实战)

环境搭建 配置信息 DC IP:10.10.10.10 OS:Windows 2012(64) 应用:AD域 WEB IP1:10.10.10.80 IP2:192.168.47.131 OS:Windows 2008(64) 应用:Weblogic 10.3.6MSSQL 2008 PC IP1:10.10…

Chapter 30 多态

欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能! 文章目录 前言一、基本概念二、抽象类 前言 多态(Polymorphism)是面向对象编程中的核心概念,本章将详细讲解 Python 中多态的实现方式以及如何应用…

科技驱动健康,景联文科技提供高质量高血压数据采集

当前,穿戴手表市场呈现出快速发展趋势,已成为可穿戴设备领域的一个重要组成部分。市场上智能手表的厂商包括小米、华为、苹果、步步高、vivo、努比亚、三六零、科大讯飞、等。 高血压数据采集可为高血压的预防提供支持,持续监测可以帮助用户及…

RabbitMQ高级特性 - 生产者消息确认机制

文章目录 生产者消息确认机制概述confirm 代码实现return 代码实现 生产者消息确认机制 概述 为了保证信息 从生产者 发送到 队列,因此引入了生产者的消息确认机制. RabbitMQ 提供了两种解决方案: 通过事务机制实现.通过发送确认机制(confi…

【第九节】python中xml解析和json编解码

目录 一、Python XML 解析 1.1 什么是XML 1.2 Python 对 XML 的解析方法 1.3 SAX解析xml 1.4 xml.dom解析xml 1.6 ElementTree解析XML 二、Python编解码json 2.1 什么是json 2.2 使用json 库 2.3 使用第三方库Demjson 一、Python XML 解析 1.1 什么是XML XML&#x…

Mouser中元件特性对比功能

搜索所需的元件,并点击比对 在比对界面里搜索所需比对的另外元器件,并比对3.得到的结果