首页 > 系统相关 >**直接存储器访问(Direct Storage, DS)**是一种高效的数据传输技术,主要用于加速数据在计算机系统中的传输过程。它允许设备(如硬盘、固态硬盘(SSD)或其他外部存储设备)直接将数据传

**直接存储器访问(Direct Storage, DS)**是一种高效的数据传输技术,主要用于加速数据在计算机系统中的传输过程。它允许设备(如硬盘、固态硬盘(SSD)或其他外部存储设备)直接将数据传

时间:2024-11-09 12:08:29浏览次数:3  
标签:Storage Direct CPU SSD 数据传输 数据 DS

直接存储器访问(Direct Storage, DS)

**直接存储器访问(Direct Storage, DS)**是一种高效的数据传输技术,主要用于加速数据在计算机系统中的传输过程。它允许设备(如硬盘、固态硬盘(SSD)或其他外部存储设备)直接将数据传输到内存,而不经过CPU的中介。通过减少CPU的干预,DS能够显著提高数据的传输速度和减少延迟,特别是在大规模数据操作或高性能计算环境中。

Direct Storage最初是微软为了优化游戏加载和渲染性能,在Windows 10和Windows 11中引入的一项技术,旨在使游戏和应用程序更快地加载数据并更流畅地运行。随着技术的不断发展,Direct Storage也逐渐应用于其他领域,如数据中心、高性能计算(HPC)等。

工作原理

传统的I/O操作一般是通过CPU控制的数据传输,数据从存储设备(如SSD或HDD)读取后,必须先通过CPU进行处理,然后将数据传输到内存。CPU在这个过程中可能成为瓶颈,因为它需要处理大量的I/O请求以及数据的移动。

直接存储器访问的工作原理则是通过**DMA(Direct Memory Access)**技术,允许外部设备直接与系统内存进行数据交换。具体流程如下:

  1. 设备请求数据:存储设备(如SSD)发出读取请求。

  2. 操作系统分配内存:操作系统为数据请求分配一块内存缓冲区,指定数据应该存放的位置。

  3. 直接数据传输:存储设备通过DMA控制器将数据直接从存储介质(如SSD)传输到内存,而无需经过CPU的干预。

  4. 内存处理:内存接收到数据后,操作系统或应用程序可以直接处理这些数据。

  5. 通知应用程序:当数据传输完成后,设备或操作系统会通知应用程序,表示数据已经准备好,可以进行后续的处理。

Direct Storage的优势

  1. 减少CPU负担: 通过避免CPU的中介处理,直接存储器访问能够释放CPU的计算资源,使其能够更专注于计算任务,而不是浪费时间在数据搬运上。这对于需要频繁进行大规模数据交换的场景尤为重要,如大规模游戏地图加载、高分辨率视频处理等。

  2. 加速数据加载: Direct Storage特别适用于需要快速数据加载的应用场景(如游戏)。通过减少数据传输的延迟,应用程序能够更迅速地加载资源,提升用户体验。尤其是在使用现代NVMe SSD时,Direct Storage能够大大提高存储访问速度。

  3. 提高存储性能: 直接存储器访问能够优化存储与内存之间的数据传输,提高存储设备的带宽利用率,减少I/O延迟。在高性能计算中,这可以显著提升数据密集型应用的效率。

  4. 降低延迟: 在传统的存储访问中,CPU的处理和上下文切换引入了较大的延迟。Direct Storage减少了这一过程,显著降低了延迟,使得应用能够更快速地响应用户输入和系统请求。

  5. 适应现代硬件: Direct Storage的设计充分考虑了现代存储设备的特性,尤其是高性能的NVMe SSD,这些设备具备极高的数据传输速率。Direct Storage可以更好地利用这些高速度硬件,提升系统整体性能。

适用场景

  1. 游戏加载: Direct Storage最初的设计目标就是加速游戏的加载过程。在游戏中,随着游戏世界的不断扩展,传统的磁盘I/O处理方式已无法满足需求。Direct Storage使得游戏可以更快速地加载大规模的纹理、地图和其他数据,从而减少加载时间,提高游戏的流畅性。

  2. 大数据处理和分析: 对于需要处理大量数据的应用程序(如数据科学、机器学习和大数据分析),Direct Storage能够减少数据传输的延迟和增加处理速度。尤其是当大量数据存储在高速SSD中时,使用Direct Storage能够更高效地将数据加载到内存中进行分析。

  3. 高性能计算(HPC): 高性能计算环境通常需要对大规模的数据进行处理,传统的存储I/O方式可能成为性能瓶颈。通过Direct Storage,计算系统能够更快地访问存储数据,显著提升计算效率。

  4. 虚拟化: 在虚拟化环境中,大量虚拟机共享存储资源,而传统的存储I/O操作可能导致存储访问延迟。通过Direct Storage,虚拟机可以更快速地访问存储数据,提高虚拟化的性能。

  5. 视频编辑与渲染: 在视频编辑、3D渲染等高带宽需求的应用中,Direct Storage能够提供更快速的数据传输,帮助应用程序在处理大量高分辨率素材时减少延迟,提升工作效率。

Direct Storage与传统存储I/O的对比

特性 传统存储I/O Direct Storage
数据传输路径 数据需经过CPU处理 数据直接从存储设备传输到内存
CPU负担 高,CPU需要处理数据传输和操作 低,减少了CPU对数据传输的处理需求
数据加载速度 较慢,受CPU限制 快,尤其在使用NVMe SSD时性能更为突出
延迟 较高,存在I/O和上下文切换延迟 较低,减少了中介环节
适用场景 普通应用和较低性能要求的设备 高性能计算、大数据、游戏、视频渲染等

设备和技术要求

  1. NVMe SSD:Direct Storage最适用于支持NVMe协议的固态硬盘(SSD),因为NVMe SSD提供极高的读写性能,能够充分发挥Direct Storage的优势。

  2. 支持DirectStorage的操作系统:Windows 10、Windows 11等操作系统支持Direct Storage功能。为了启用这一功能,用户需要安装适配的硬件驱动程序和操作系统更新。

  3. 支持DirectStorage的应用程序:为了利用Direct Storage,应用程序必须专门进行优化。大多数现代游戏(如《魔兽世界:暗影国度》、微软的《光环:无限》)和一些专业应用(如视频编辑软件)已经开始支持Direct Storage。

 

直接存储器访问(Direct Storage)是为了提高数据传输效率、降低延迟而设计的一项技术。通过允许设备直接将数据传输到内存,减少了CPU的负担,从而加快了数据加载和处理速度。它特别适用于需要频繁进行大规模数据交换的场景,如游戏加载、虚拟化、高性能计算、大数据处理等。随着NVMe SSD的普及和硬件性能的不断提高,Direct Storage正在成为现代计算机系统中不可或缺的技术之一。


 

标签:Storage,Direct,CPU,SSD,数据传输,数据,DS
From: https://www.cnblogs.com/suv789/p/18536531

相关文章

  • 硬件加速(Hardware Acceleration)指的是使用专门的硬件组件来加速某些计算任务的处理速
    硬件加速:GPU、FPGA与其他加速技术硬件加速(HardwareAcceleration)指的是使用专门的硬件组件来加速某些计算任务的处理速度,而不是依赖传统的中央处理器(CPU)。随着技术的不断发展,硬件加速已经成为许多高性能计算、人工智能(AI)、数据处理等领域的核心组成部分。常见的硬件加速器包括图......
  • DMA(Direct Memory Access,直接内存存取)是一种允许外设直接与计算机内存进行数据交换的
    DMA(直接内存存取)简介DMA(DirectMemoryAccess,直接内存存取)是一种允许外设直接与计算机内存进行数据交换的技术,绕过了CPU的参与。这种机制的优势在于,它能够显著提高数据传输效率,减轻CPU的负担,从而使得计算机能够处理更多的任务和更高的性能要求。在传统的输入输出(I/O)操作中,数据通......
  • MMdetection 问题报错 mmdet/evaluation/metrics/coco_metric.py data[‘category_id
    方案一:有人说在自己定义的conifg文件中增加 metainfo={'classes':('class1','class2','class2',),'palette':[(220,20,60),(221,11,22),(221,11,42),]}方案二:修改mmdet/evaluation/metrics文件的内......
  • Linux Top 命令计算进程CPU使用率
    LinuxTop命令计算进程CPU使用率 top命令是一个实时进程监控工具,在Linux中通过读取系统文件(尤其是/proc文件系统)来获取进程的CPU使用率。其实现中关键的部分是对进程的CPU使用率进行采集和计算。这里我简要介绍top命令的实现思路,以及它如何通过源码计算进程的CPU......
  • 服务器CPU是多核的情况下,Linux Top 命令计算进程CPU使用率为什么要乘以CPU逻辑核数
    服务器CPU是多核的情况下,LinuxTop命令计算进程CPU使用率为什么要乘以CPU逻辑核数  在多核服务器上,top命令计算进程的CPU使用率时,乘以的是CPU的逻辑核数(LogicalCPUs),而不是物理核数。逻辑核数与物理核数的区别物理核数:指物理CPU中实际存在的核心数量。例如,如果......
  • 第二届教育发展与社会科学国际学术会议 (EDSS 2025) The 2nd International Conferen
    @目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz三、大会介绍第二届教育发展与社会科学国际学术会议(EDSS2025)定于2025年1月17-19日在中国上海举行。会议旨在为从事“教育”与“社会科学......
  • [极客大挑战 2019]HardSQL 1
    [极客大挑战2019]HardSQL1打开实例,发现是个登陆页面,查看源代码,发现又是GET提交check.php万能密码尝试不太行,怀疑字段或者空格被过滤,尝试闭合不加其他东西确认空格、union、and等都被过滤了,尝试加个括号并未出现你可知被我速住了,臭弟弟字样,()未被过滤吧,尝试采用upda......
  • CPU算法分析LiteAIServer视频智能分析平台视频智能分析:抖动、过亮与过暗检测技术
    随着科技的飞速发展,视频监控系统在各个领域的应用日益广泛。然而,视频质量的好坏直接影响到监控系统的效能,尤其是在复杂多变的光照条件下和高速数据传输中,视频画面常常出现抖动、过亮或过暗等问题,导致监控视频难以提供有效的信息。为了解决这些挑战,视频智能分析平台LiteAIServer......
  • Cadence(Allegro)的PCB文件转PADS的PCB文件
    概述:Cadence(Allegro)的PCB文件后缀名为brd,PADS的PCB文件后缀名为pcb,将Cadence(Allegro)的PCB文件转PADS的PCB文件需要经过以下步骤:1、将Cadence(Allegro)的PCB文件由brd后缀转换为alg后缀;2、将Cadence(Allegro)的alg后缀PCB文件转为AltiumDesigner的PCB文件(后缀名为pcbdoc);3、将Alt......
  • 福禄克DTX,DSX系列内置标准以及生成的测试报告如何解读?
    今日,接到一些朋友的询问?虽然使用了很长一段时间的FLUKEDSX-5000或者DSX-8000,但是对于测试标准和测试生成的报告一知半解,借此咱们一块屡屡清楚。1,经常有的朋友拿到设备后,第一时间就问,咱们福禄克内置的标准的多少?我线的参数(被测的铜缆)达到多少db,才能算过了测试?这些通过一个表......