tag 标签: 高速存储

相关博文
  • 热度 2
    2025-6-17 08:23
    705 次阅读|
    0 个评论
    RoCE v2原语 在RoCE v2协议中,应用程序并不直接与网卡接口相关联,开发者使用RDMA原语进行应用程序的开发。RDMA原语分为单边(one-side)语义和双边(two-side)语义,其中,WRITE、READ、ATOMIC为单边语义,SEND、RECEIVE为双边语义,且双边语义往往成对出现。 单边语义指:当本地主机调用单边语义进行操作时,远程主机的CPU完全不会感知这一过程,只有本机的CPU参与数据处理和数据传输流程 。READ、WRITE、ATOMIC操作为单边语义。我们常说的RDMA都是指RDMA单边操作,它提供了最高的吞吐量和最低的数据延迟,同时显著降低CPU负载。在进行READ和WRITE操作之前,需要进行队列创建、队列连接、信息交换等步骤,这些步骤将在之后一一说明。 (1)RDMA READ操作将远端主机内存中的数据读取到本地。具体流程为:本地主机将需要请求数据的地址、长度及对应的远程访问密钥发送给远程主机,远程主机比对密钥通过后,则将数据返回给本地主机。 (2)RDMA WRITE操作将本机内存中的数据写入远程主机。具体流程为:本机将携带写入地址、数据长度、远程访问密钥信息和数据的网络包发送至远程主机,远程主机确认后将数据写入远程主机内存中。 (3)ATOMIC操作即原子操作。简单地讲,该操作以64bit为单位,完全以原子方式读取、修改或写入该地址,同时保证在读取/写入之间,同一通道的其他队列对不会对该地址进行操作。该操作通常在同一子网内的不同节点间进行,用来实现分布式应用中各节点工作的同步。 双边语义指:数据在传输的过程中本地主机及远程主机的CPU都参与工作。SEND、RECEIVE操作为双边语义。其中发送方使用SEND操作,而接收方使用RECEIVE操作。在SEND/RECEIVE操作中,使用SEND操作的一方仅需要发送缓冲区(SEND BUFFER)信息和长度信息即可发送数据包,而不指定接收方具体的接收内存地址;而接收方提供接收缓冲区(RECEIVE BUFFER)及缓冲区长度信息。SEND操作与RECEIVE操作往往成对存在,由于需要双方CPU参与,数据吞吐量较低,但是可以保证数据在传输过程中不会丢失,故双边语义通常用来进行信息交换或错误处理等操作。 相关视频感兴趣者,请搜B站用户名: 专注与守望 或链接: https://space.bilibili.com/585132944/upload/video
  • 热度 6
    2025-6-2 23:35
    316 次阅读|
    0 个评论
    SSD优势 与机械硬盘(Hard Disk Driver, HDD)相比,基于Flash的SSD具有更快的数据随机访问速度、更快的传输速率和更低的功耗优势,已经被广泛应用于各种计算领域和存储系统。SSD最初遵循为HDD设计的现有主机接口协议,例如串行高级技术附件(Serial Advanced Technology Attachment, SATA)和串行附加SCSI(SAS)协议,随着SSD的不断发展,这些接口协议已成为关键的性能瓶颈。为了解决这一问题,存储供应商制定了一种新的接口规范,即NVMe协议。 NVMe协议必要性 NVMe协议是专为PCIe接口的SSD而设计的,旨在充分利用SSD内部的并行性实现可扩展性、高吞吐量和低延迟的目标。相较于SATA协议,NVMe协议具有以下几点优势:管理更高效、功能性更强、I/O效率更高、读写延迟和功耗更低。由于NVMe SSD与HDD和SATA/SAS SSD相比具有卓越的性能优势,云平台和数据中心已经开始为大量I/O密集型应用程序提供NVMe SSD。随着NVMe协议的不断完善,推出了NVMe-oF(NVMe over Fabrics)协议。NVMe-oF协议进一步扩展了NVMe协议在网络传输中的应用,该协议定义了使用多种通用的传输层协议来进行数据的传输,包括FC、InfiniBand、RoCE V2、iWARP和TCP。随着协议的不断完善,越来越多的系统和应用采用NVMe存储接口的SSD,这种技术将成为未来存储领域的主流。 NVMe研究进展 目前,一些国内外学者将NVMe SSD应用于嵌入式存储设备。例如Opsero公司的Jeff Johnson在Zynq上挂载NVMe SSD,借助Linux系统中的NVMe驱动程序实现了对NVMe SSD的控制,并在Zynq-7z030芯片上进行了测试,写速度为84.7 MB/s。西安电子科技大学的王琳琳基于Zynq完成了NVMe SSD的读写控制,通过在的PS端运行Linux系统,在PL端通过PCIe硬核IP连接NVMe SSD,实现了135 MB/s的写入速度和143 MB/s的读取速度。 将NVMe SSD应用于嵌入式存储设备相较于SATA SSD可以有效的提高系统的传输性能,但在嵌入式操作系统中,通过NVMe驱动程序来控制NVMe SSD,其性能与嵌入式CPU的主频以及软件协议栈的执行流程密切相关。NVMe Host端的命令需要经过文件系统层、块设备层、驱动层等多个层次的处理,同时NVMe协议栈中的队列设计、乱序执行、完成信息检查等流程也十分复杂,加之嵌入式处理器主频较低,使得其响应速度较慢,无法充分发挥NVMe SSD的速度优势。若想要在嵌入式系统中充分发挥NVMe协议的高速读写性能,一方面可以通过优化软件执行流程,来提高传输性能,但嵌入式处理器的性能较低,性能提升空间有限。另一方面可以通过硬件逻辑的方式来实现软件驱动程序。相较于软件的顺序执行,硬件电路可以通过并行执行来大幅度提高系统性能,这种方式更能充分发挥出NVMe协议高度并行的特点。
相关资源