当前位置: 首页 > wzjs >正文

做一视频网站网站制作

做一视频网站,网站制作,青岛做网站要多少钱,常州微信网站建设市场它分为两部分,这里是第一部分。 NVM Express(NVMe)是一种高性能、可扩展的接口协议,用于通过PCI express(PCIe)总线,实现主机软件与NVM设备之间的通信。目前,由于NVMe SSD相比于SATA…

它分为两部分,这里是第一部分。
NVM Express(NVMe)是一种高性能、可扩展的接口协议,用于通过PCI express(PCIe)总线,实现主机软件与NVM设备之间的通信。目前,由于NVMe SSD相比于SATA SSD具有更高的吞吐量、更快的访问速度和更低的功耗,已经被广泛应用于各种计算领域和存储系统。

NVMe队列

NVMe协议采用成对的提交队列(Submission Queue,SQ)和完成队列(Completion Queue,CQ)机制。SQ用于存放提交命令,而CQ则用于存放完成信息。队列状态信息通过门铃寄存器(Door Bell,DB)来检测。这两个队列采用了环形队列结构,队列可以映射到任何PCIe可访问的内存中,通常放在主机侧内存。对于提交队列,主机端是生产者,NVMe SSD是消费者。完成队列的情况刚好相反。因此SQ Tail指针和CQ Head指针由主机更新,而其他两个指针由NVMe控制器更新。NVMe的队列结构如图1所示。
在这里插入图片描述
图1 队列示意图
NVMe队列的深度是固定的,通过Tail和Head来分别指向队列的首尾位置,队列实际可用的大小是队列大小减1,当Head条目指针等于Tail条目指针时,队列为空。当Head条目指针比Tail条目指针多一个时,队列为满。
NVMe协议中根据命令类型将队列分为了Admin队列和I/O队列,Admin队列用来缓存管理Admin命令,如获取SSD属性、创建I/O队列等。而I/O队列用来缓存管理I/O命令,如读、写、识别等。在一个系统中只能有一对Admin SQ/CQ,但可以存在多对IO SQ/CQ。Admin SQ/CQ仅用来进行Admin命令的交互,I/O SQ/CQ仅用来进行I/O命令的交互。对于多核系统来说,每个核内虽然只有1个I/O CQ,但是可以存在多个I/O SQ,如图2所示。
在这里插入图片描述
图2 NVME 多队列示意图
由于Host端可能存在多个流水线,多队列的设计可以让系统的性能最大化。同时,可以通过对不同的队列设置不同的优先级,来保证高优先级队列的命令更快完成。NVMe协议中规定Admin SQ/CQ的队列深度最大可以支持4096(4K),I/O SQ/CQ的队列深度最大可以支持65536(64K)。在一个实际设计中,SQ的个数和深度的设置可以根据项目需求和硬件资源进行配置。队列深度的设置主要和系统中队列消费者和生产者之间的速率有关。

NVMe分层结构

NVMe协议栈结构分为应用层和传输层两个层次。在应用层中实现NVMe命令生成、队列管理和流程控制,而传输层则借助PCIe协议进行实现。PCIe协议分为三层,即事务层、数据链路层和物理层。事务层负责将数据传输请求和响应打包成事务进行传输,数据链路层则负责数据传输的可靠性和流控制,通过链路层控制器(Link Layer Controller, LLC)实现。物理层则负责物理传输,包括电信号的发射和接收、时序控制和线路管理等。其分层结构图如图3所示。首先,在应用层生成NVMe命令传输至事务层。其次,在事务层会对上层传输的数据添加首部和校验,封装成TLP(Transaction Level Packet)传输至数据链路层。然后,在数据链路层会对TLP添加序列号和校验,封装成DLLP。最后,在物理层对数据包进行编码和并转串处理后,通过SerDes(Serializer/Deserializer)将数据发送至PCIe链路中。
在这里插入图片描述
图3 NVMe 分层结构示意图
由于NVMe协议是基于PCIe协议实现的,下面通过在PCIe拓扑结构中介绍NVMe协议中的SQ、CQ和DB的位置,以及数据在Host和NVMe SSD之间的传输流程。NVMe SSD在PCIe拓扑结构中的位置如图4所示。
在这里插入图片描述
图4 PCIe拓扑结构图
PCIe的拓扑结构由三部分组成,根联合体(Root Complex, RC)、PCIe交换器(PCIe Switch)和端点(Endpoint, EP)。根联合体位于拓扑结构的根部,最靠近CPU。端点设备位于PCIe的端末。交换机位于根联合体和端点设备之间。PCIe使用串行链路连接,一个链路的两端只能有两个设备。因此PCIe需要通过PCIe Switch扩展PCIe链路后,才能连接多个EP设备。在NVMe存储结构中,NVMe SSD也作为PCIe的一个EP端挂载在RC上。
NVMe协议中的SQ和CQ位于Host内存中,主机在初始化时根据队列的个数和深度在主机内存开辟出相应的内存空间,来存放SQ、CQ命令。DB寄存器位于NVMe SSD中,且被映射到BAR(Base Address Register)空间中,Host可以通过访问BAR空间来更新DB寄存器的值。
当Host需要向NVMe SSD发送命令时,首先将命令存放在主机内存开辟的SQ区域中,其次通过访问BAR空间的DB寄存器来告诉NVMe SSD到主机端内存区域取走待执行的命令。待命令执行完成后,NVMe SSD向主机内存的CQ区域写入完成命令。

http://www.dtcms.com/wzjs/209938.html

相关文章:

  • 关键词搜索引擎网站网络营销岗位招聘信息
  • 静态网站的设计方案seo营销方法
  • 做网站需要有公司吗win优化大师有免费版吗
  • 北京做网站推广一个月多少钱鼓楼网站seo搜索引擎优化
  • 吉林建设厅网站首页郑州高端网站建设哪家好
  • 网站建设的基本要求网络服务器搭建
  • 大连网站设计哪个最好苏州seo优化
  • 河南城乡和住房建设厅网站青岛官网seo
  • 学些网站制作太原百度推广排名优化
  • 东莞建站多少钱湖南百度seo排名点击软件
  • html中音乐网站怎么做网推怎么做最有效
  • 网站加v怎么做软文写作的三个要素
  • 涿州网站建设公司重庆seo网络优化咨询热线
  • 毛衣品 东莞网站建设宁波网站推广优化哪家正规
  • 优购物官方网站女鞋无锡营销型网站建设
  • 帝国cms做漫画网站教程百度推广靠谱吗
  • 可以做微商的网站网络seo啥意思
  • 怎样联系自己建设网站怎么推广公司网站
  • 网站ip地址 转向域名seo内部优化具体做什么
  • 济南市建设局官网域名seo查询
  • 沈阳人流哪个医院好安全seo 0xu
  • 全球新冠疫情重庆seo优化效果好
  • 网站建设方案200字seo整站优化多少钱
  • 我的世界做图片的网站最近发生的热点新闻事件
  • 网站建设煊煊网搜索关键词网站
  • 手机网站建设维护电脑清理优化大师
  • 有没有专门做二手的网站企业网站优化价格
  • 5种可以给网站带来流量的方式什么公司适合做seo优化
  • 网站导航设计模板源码扬州整站seo
  • 东莞专业网站推广公司搜索引擎调词平台哪个好