4、SSD主控

简述

主控是个片上系统,由硬件和固件组成一个功能完整的系统;上文所述的FTL就属于主控的固件范畴。主控+闪存构成了整个SSD,在闪存确定的情况下,主控就反映了各家SSD的差异。实时上各家SSD的差异也主要反应在主控上,毕竟闪存是个标准的东西。

主控架构

前端主机接口

        作用:连接主机并与主机进行数据交互;

        连接主机是指硬件接口,如PCIe,数据交互需要利用跑在接口上的协议,如NVMe协议。

        主机和设备的交互有两个通道:命令通道数据通道

        命令通道,传输的是命令,就是我们常说的I/O请求/响应命令;

比如命令在主机的块层封装为bio结构,然后经过拆分或合并,封装为request结构,

再经过NVMe驱动封装为nvme_command结构(经过SCSI层的会封装为scsi_cmnd的结构);

主机把封装好的命令,放在提交队列(SQ)中,这个队列虽然是在主机内存中分配,但主机和设备主控都能访问(因为SQ分配在主机的DMA区,主机分配后会把DMA的地址告诉设备),

主控中也有与主机中对应的队列,主控会把主机SQ中的命令搬到自己的队列中,此时的命令传输就是PCIe接口完成的,PCIe的报文格式是TLP,也就是说nvme_commnad会被封装为TLP经过PCIe传输到设备后再恢复为nvme_command;但是TLP是PCIe传输层(事物层)做的事,我们无需关注;总之主控能处理的类型是nvme_commad。

        另外还有数据通道,主要处理主机发起的读/写命令;比如写,I/O请求时携带数据的,所携带的数据是不放在提交队列中的,也不会随着命令下发到主控的队列中;而是通过DMA进行专门的数据传输,把主机内存中的数据搬移到控制的缓存中 。

        命令传输和数据搬移就是前端主机模块的主要功能。

计算子系统

        当然前端主机接口模块也要在计算子系统下工作,因为计算子系统是整个主控系统的核心,当然它更重要的工作是调度后端数据处理模块对获取的数据进行处理。

在需要安全计算的情况下,计算子系统还需要调度安全子系统对数据进行加解密。

安全子系统

        一般有两个用途,一是用于控制器的FW的校验,比如升级FW时会校验下载到的FW是不是经过认证的、在FW启动时校验FW是否完整。

        第二个用途就是数据加解密,比如存在闪存上的数据要加密,就是通过这个模块进行的;既然闪存上的数据是加密的,但从闪存读取数据时也就需要经过这个模块进行解密。国内的应用中一般不用数据加解密,但国外一般都需要。

后端闪存接口模块

        它也有多个模块构成,首先有任务调度模块,在计算子系统的调度下获取I/O命令,然后通过数据处理单元进行处理,再经由闪存驱动把对闪存进行读/写。

SQ/CQ

这个系统中会存在多个层次的SQ(提交队列)和CQ(完成队列)。

首先主机与控制器的命令交互,在主机中有SQ和CQ队列,在设备中有同主机对等的队列;

其次在控制器与后端闪存接口模块中,可以看到后端闪存接口模块也有自己的SRAM/DDR,此时控制器中有SQ、CQ,闪存接口模块中也有对等的队列。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VMware虚拟机Ubuntu网络有线线缆已拔出问题

1、问题描述 VMware虚拟机Ubuntu不能联网,打开设置中,网络显示“有线 线缆已拔出”。 2、查看虚拟网络连接 查看主机的网络连接,确保虚拟网络已启用。 3、启动虚拟机网络服务 打开主机的 ‘服务’(winr,运行框中输入…

46.修复HOOK对代码造成的破坏

上一个内容:45.使用hook点链表实现指定跳转 以 45.使用hook点链表实现指定跳转 它的代码为基础进行修改 此代码已实现无敌与秒杀功能 HOOKPOINT.h文件里的修改 #pragma oncetypedef struct CPUINFO {unsigned eflags;unsigned edi;unsigned esi;unsigned ebp;un…

PCL从理解到应用【03】KDTree 原理分析 | 案例分析 | 代码实现

前言 本文分析KDTree的原理,集合案例深入理解,同时提供源代码。 三个案例:K近邻搜索、半径内近邻搜索、近似最近邻搜索。方法对比,如下表所示: 特性K近邻搜索半径内近邻搜索近似最近邻搜索描述查找K个最近邻点查找指…

Linux系统(CentOS)安装Mysql5.7.x

安装准备: Linux系统(CentOS)添加防火墙、iptables的安装和配置 请访问地址:https://blog.csdn.net/esqabc/article/details/140209894 1,下载mysql安装文件(mysql-5.7.44为例) 选择Linux通用版本64位(L…

[深度学习]卷积理解

单通道卷积 看这个的可视化就很好理解了 https://github.com/vdumoulin/conv_arithmetic/blob/master/README.md 多通道卷积 当输入有多个通道时,卷积核需要拥有相同的通道数. 假设输入有c个通道,那么卷积核的每个通道分别于相应的输入数据通道进行卷积,然后将得到的特征图对…

说明本文档目录是软件开发梳理需求常见问题QA文档,方便客户看,也方便我们的售前人员,需求分析人员,ui设计师,原型绘图人员,思维导图绘图人员查看。

https://doc.youyacao.com/117/2150 说明 本文档目录是软件开发梳理需求常见问题QA文档,方便客户看,也方便我们的售前人员,需求分析人员,ui设计师,原型绘图人员,思维导图绘图人员查看。 提示 本内容客户…

【ABB】控制器语言切换

【ABB】控制器语言切换 操作流程演示 操作流程 点击【菜单】点击【Control Panel】点击【Language】点击【Chinese】点击【OK】此时会弹出弹窗,点击【YES】此时控制器会重启,重启完成就是中文了 演示 点击【菜单】 点击【Control Panel】 点击【Langua…

4.2 投影

一、投影和投影矩阵 我们以下面两个问题开始,问题一是为了展示投影是很容易视觉化的,问题二是关于 “投影矩阵”(projection matrices)—— 对称矩阵且 P 2 P P^2P P2P。 b \boldsymbol b b 的投影是 P b P\boldsymbol b Pb。…

涂山璟无缘奥运会

“涂山璟无缘奥运会”在那片被浪漫与幻想包裹的剧集世界里,涂山璟与小夭的故事,如同夏日里的一缕清风,温柔而又坚定。当爱情以纯粹的形式展现,一个简单的愿望——亲手摘取湖中的海棠花,便成为了两人情感交流的甜蜜桥梁…

吉洪诺夫正则化随笔

前言 前几天在回顾压缩感知中的特征选择与LASSO回归发现了这个Tikhonov regularization,查了一下叫个如题的名字。先来浅说一下正则化这玩意:正则化(Regularization)是一种用来防止模型过拟合(Overfitting&#xff09…

【数据库了解与学习】

1.下载所需版本安装包 1.1将所需文件压缩包以及安装包放在你选择的任意一盘,新建一个没有文字和空格的文件夹 1.2双击打开安装包,选择Custom自定义模式然后点击右下方的Next 1.4三连点击1,再点击箭头出现3,选中3出现4,…

AJAX-day1:

注:文件布局: 一、AJAX的概念: AJAX是浏览器与服务器进行数据通信的技术 >把数据变活 二、AJAX的使用: 使用axios库,与服务器进行数据通信 基于XMLHttpRequest封装,代码简单 Vue,React项目使用 学习…

day04-matplotlib入门

matplotlib Matplotlib 提供了一个套面向绘图对象编程的 API接口 是一款用于数据可视化的 Python 软件包,支持跨平台运行 它能够根据 NumPyndarray 数组来绘制 2D(3D) 图像,它使用简单、代码清晰易懂,深受广大技术爱好 者喜爱。 实列&…

云计算渲染时代:选择Blender或KeyShot进行高效渲染

在云渲染技术日益成熟的背景下,挑选一款贴合项目需求的3D渲染软件显得尤为关键。当前,Blender与KeyShot作为业界领先的全能渲染解决方案,广受推崇。它们虽皆能创造出令人信服的逼真视觉效果,但在特色功能上各有所长。本篇文章旨在…

加装德国进口高精度主轴 智能手机壳「高质量高效率」钻孔铣槽

在当前高度智能化的社会背景下,智能手机早已成为人们生活、工作的必备品,智能手机壳作市场需求量巨大。智能手机壳的加工过程涉及多个环节,包括钻孔和铣槽等。钻孔要求精度高、孔位准确,而铣槽则需要保证槽位规整、深度适宜。这些…

利用C语言实现三子棋游戏

文章目录 1.游戏界面2.游戏内容2.1 棋盘类型2.2棋盘的初始化2.3 打印棋盘的界面展示 3.游戏操作3.1 玩家操作3.2 电脑操作3.3 胜负判定 4.代码整合 1.游戏界面 无论写任何程序,我们都需要先去了解它的大概框架,这里我们先把它的初始界面写出来。一个游戏…

自动化设备上位机设计 二

目录 一 设计原型 二 后台代码 一 设计原型 二 后台代码 namespace 自动化上位机设计 {public partial class Form1 : Form{public Form1(){InitializeComponent();timer1.Enabled true;timer1.Tick Timer1_Tick;}private void Timer1_Tick(object? sender, EventArgs e)…

「媒体邀约」天津媒体资源?媒体邀约宣传报道

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 媒体宣传加速季,100万补贴享不停,一手媒体资源,全国100城线下落地执行。详情请联系胡老师。 天津拥有丰富的媒体资源,利用这些资源进行有效…

数智化配补调:零售品牌增长新引擎

随着科技的不断进步和消费者需求的日益个性化、多元化,传统服装行业正面临着前所未有的挑战与机遇。在这个快速变化的时代,如何精准把握市场脉搏,实现库存的高效管理,成为了服装品牌生存与发展的关键。数智化配补调策略应运而生&a…

Java后端每日面试题(day3)

目录 Spring中Bean的作用域有哪些?Spring中Bean的生命周期Bean 是线程安全的吗?了解Spring Boot中的日志组件吗? Spring中Bean的作用域有哪些? Bean的作用域: singleton:单例,Spring中的bean默…