Blazing Fast NVMEs and Direct Storage API for PCs *spawn*

Discussion in 'PC Hardware, Software and Displays' started by DavidGraham, May 18, 2020.

  1. Remij

    Regular Newcomer

    May 3, 2008
    Likes Received:
    If I recall correctly, they said that they are looking into that for the future. It wasn't in the talk intself, but someone asked the question in chat as the presentation was going on, and they said they're working on getting it to that point.

    In the talk Andrew Yeung stated that there is an upgrade path for DirectStorage, just as there is for D3D. It's something that will evolve and improve as the hardware support allows.
  2. pcchen

    pcchen Moderator
    Moderator Veteran Subscriber

    Feb 6, 2002
    Likes Received:
    Yes. If the SSD and the GPU are on the same PCIe controller, there should be no problem.
    However, some systems (such as most consumer-oriented Intel systems) does not has enough PCIe lanes on the CPU, and most PCIe peripherals connects to a different chip (such as the PCH) and the GPU connects to the PCIe controller on the CPU. In theory, the PCH should be able to route the PCIe packets from the SSD to the GPU, but I don't know how well it works in practice.
    Kaotik likes this.
  3. DmitryKo


    Feb 26, 2002
    Likes Received:
    55°38′33″ N, 37°28′37″ E
    The CPU is used for decompressing the data in System RAM (slide 13 above), that's why the data flows from System RAM to the CPU and back to System RAM.

    This requires an update to WDDM driver model to support disk I/O operations. NVMe is a block I/O protocol, which uses LBA sector numbers to access disk data; actual flash memory addresses are only visible to the NVMe controller.

    Yes, there were actually four NVMe disks onboard, but they are ony used to setup a software RAID disk in Windows 10, which could be used as a fast file cache with proprietary OpenGL/OpenCL/DirectX11 SSG extensions from the Radeon Pro SSG SDK, i.e. for a scratch disk in Adobe Premiere Pro etc. The Radeon Pro SSG card basically doubles as a 4-way NVMe PCIe card bundled with fast enterprise-grade Samsung SM961 disks, and the onboard Broadcom PEX8747 chip, which is a 5-port 48-lane PCIe 3.0 Switch, eliminates the need for a HEDT chipset that supports PCIe bifurcation. In theory this switch would also facilitate P2P DMA transfers between NVMe disk and the GPU, but I really doubt it was ever implemented in Linux drivers, and WDDM 2.x cannot process disk I/O at all.

    As for the claimed direct access to the NVMe disk from the GPU, IMHO paging from local video memory is only possible to system memory. AFAIK the Vega chip simply does not include a host processor which could translate LBA sectors into memory addresses (and modern NVMe controllers require several embedded ARM Cortex CPU cores to perform this task effectively), so it still needs the CPU to manage disk I/O.
    #503 DmitryKo, Apr 26, 2021
    Last edited: Apr 26, 2021
    Per Lindstrom, Remij, Rootax and 2 others like this.

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.