做网站一定需要自己买主机吗,建立网站需要怎么做,建了一个网站 如何找到放图片的文件夹,广州网站建设厂家《深入浅出SSD》学习中… 文章目录 《深入浅出SSD》学习中.....一、SSD主控二、PCIe和NVMe控制器前端子系统1.PCIe控制器2.NVMe控制器 一、SSD主控
就是类似电脑CPU的东西#xff0c;在SSD中收取处理Host端的命令#xff0c;管理NAND闪存
二、PCIe和NVMe控制器前端子系统 主…《深入浅出SSD》学习中… 文章目录 《深入浅出SSD》学习中.....一、SSD主控二、PCIe和NVMe控制器前端子系统1.PCIe控制器2.NVMe控制器 一、SSD主控
就是类似电脑CPU的东西在SSD中收取处理Host端的命令管理NAND闪存
二、PCIe和NVMe控制器前端子系统 主要用于处理来自host以及协议接口的命令对应PCIe协议和NVMe协议(以下Host代表电脑或服务器等外接SSD的设备端) 1.PCIe控制器 决定控制器前端和host之间的带宽由两种因素决定一个是协议一个是通道数 所谓协议就是常听到的PCIe3.0/PCIe4.0 或是 GEN3/GEN4,每种协议对应的通道支持的速率是不一样的。 以PCIe 4.0x4 为例 理论单通道速率为 16GT/s ,转换为带宽就是 1969MB/s x4 代表是4通道所以速率x4 得到理论带宽为 7.88GB/s 至于转换公式不做赘述放个wiki百科上的截图参考 2.NVMe控制器 利用PCIe接口实现NVMe相关协议实现基本的读写等操作 整个过程基于三个概念 Submission Queue(SQ) Host把命令放在该队列这个队列通常在Host内存里。 Completion Queue(CQ)SSD从SQ中取出命令执行完成后把消息写入该队列指示命令完成状态这个队列通常在Host内存里。 Doorbell Register(DB)当主机写了SQ后再写DB通知SSD去SQ取命令执行。DB位于SSD控制器内部 交互流程图如下 1首先Host往自己的SQ内提交命令写了一个任务计划准备安排SSD去执行了 2提交完命令了同时需要让SSD知道所以又下了DB命令可以理解为Host敲了SSD的门告诉他我来命令啦 3SSD的NVMe控制器在收到DB后知道自己又有活干了就去SQ内取命令。 4NVMe控制器在取到命令后把命令给到SSD主控主控进行相应的命令操作 5SSD执行完命令后往主机另一个队列CQ中写入命令执行结果更新任务进度记录自己哪条SQ完成了 6SSD以中断的方式告诉Host,这个命令我完成了。 7Host响应中断并处理CQ里面完成的命令 8Host更新自己的记录标记整个任务完成画上句号释放资源 这里还能引入一个概念(待深入理解) 队列大小有16bit最小队列大小为2个元素因为满队列的定义方式所以最小为2个元素对于I/O队列最大队列大小为64k对于Admin队列最大队列为4 Host利用 QID来标识唯一ID,16bit。host可以修改队列优先级如果支持的话共四级UUrgent、H(High Priority)、M(Medium Priority)、L(Low Priority)