• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

DirectStorage API Works Even with PCIe Gen3 NVMe SSDs

btarunr

Editor & Senior Moderator
Staff member
Joined
Oct 9, 2007
Messages
47,692 (7.42/day)
Location
Dublin, Ireland
System Name RBMK-1000
Processor AMD Ryzen 7 5700G
Motherboard Gigabyte B550 AORUS Elite V2
Cooling DeepCool Gammax L240 V2
Memory 2x 16GB DDR4-3200
Video Card(s) Galax RTX 4070 Ti EX
Storage Samsung 990 1TB
Display(s) BenQ 1440p 60 Hz 27-inch
Case Corsair Carbide 100R
Audio Device(s) ASUS SupremeFX S1220A
Power Supply Cooler Master MWE Gold 650W
Mouse ASUS ROG Strix Impact
Keyboard Gamdias Hermes E2
Software Windows 11 Pro
Microsoft on Tuesday, in a developer presentation, confirmed that the DirectStorage API, designed to speed up the storage sub-system, is compatible even with NVMe SSDs that use the PCI-Express Gen 3 host interface. It also confirmed that all GPUs compatible with DirectX 12 support the feature. A feature making its way to the PC from consoles, DirectStorage enables the GPU to directly access an NVMe storage device, paving the way for GPU-accelerated decompression of game assets.

This works to reduce latencies at the storage sub-system level, and offload the CPU. Any DirectX 12-compatible GPU technically supports DirectStorage, according to Microsoft. The company however recommends DirectX 12 Ultimate GPUs "for the best experience." The GPU-accelerated game asset decompression is handled via compute shaders. In addition to reducing latencies; DirectStorage is said to accelerate the Sampler Feedback feature in DirectX 12 Ultimate.



More slides from the presentation follow.



View at TechPowerUp Main Site
 
"PCIe Gen3 NVMe SSD"
you were a poet but you didnt even know it
 
Last edited by a moderator:
Last edited by a moderator:
Will this work on non DX12 titles, there are plenty of DX9, 10 and 11 titles that would benefit from this boost.

Also, when MicroShaft says "current GPU's" are compatible, what does "current" mean.? Does this only apply tos DX12 GPU's or DX11 GPU's as well.?
 
Last edited:
Will this work on non DX12 titles, there are plenty of DX9, 10 and 11 titles that would benefit from this boost.

Also, when MicroShaft says "current GPU's" are compatible, what does "current" mean.? Does this only apply tos DX12 GPU's or DX11 GPU's as well.?
Looks to me like it's DX12 exclusive. Besides, it must be implemented by the developer, it's not the user's decision whether you can use it or not.
 
Looks to me like it's DX12 exclusive. Besides, it must be implemented by the developer, it's not the user's decision whether you can use it or not.

it probably will be implemented on future ps5/xbox series x ports.
 
From my brief understanding, these only works with storage that direct to the CPU, so it has its limitations. Anything attach to motherboard south bridge that runs on SATA mode will not get same treatment or I just misread graph above?
 
From my brief understanding, these only works with storage that direct to the CPU, so it has its limitations. Anything attach to motherboard south bridge that runs on SATA mode will not get same treatment or I just misread graph above?

Looking at the graphs it basically takes the CPU out of the equation in regards to decompressing data and relies on the GPU to do it.

So depending on implementation it could increase framerates etc by removing CPU cycles being used in the main game thread to decompress assets for the GPU. This could also impact loading times etc as instead of the CPU having to decompress assets to then pass onto the GPU the GPU can take care of that while the CPU is doing things like Level building, AI creation etc etc etc.
 
From my brief understanding, these only works with storage that direct to the CPU, so it has its limitations. Anything attach to motherboard south bridge that runs on SATA mode will not get same treatment or I just misread graph above?
Requiring nvme means that drives running in AHCI / SATA mode are out of the question by default.
Now the question is for drives running in NVME mode through the PCH.
My gut feeling is most likely no since going through the PCH naturally causes a latency penalty which nullify the benefits.
Also this might cause security issues, as the PCH is connected to a lot of external IO that could potentially be attacked.
So most likely it just works on drives connected directly to the "northbridge"/uncore/soc/IO die.
 
Last edited:
It's gunna let compressed data go from NVME -> GPU VRAM without needing the CPU to decompress it first (GPU's are pretty good at that sort of multi threaded workload these days)

So it should let textures stream across fast, get decompressed and smashed open fast, and generally make load times and texture pop in go away
 
Requiring nvme means that drives running in AHCI / SATA mode are out of the question by default.
Now the question is for drives running in NVME mode through the PCH.
My gut feeling is most likely no since going through the PCH naturally causes a latency penalty which nullify the benefits.
Also this might cause security issues, as the PCH is connected to a lot of external IO that could potentially be attacked.
So most likely it just works on drives connected directly to the "northbridge"/uncore/soc/IO die.

They also didn't specify which version of nvme
  • 1.0e (January 2013)
  • 1.1b (July 2014)
  • 1.2 (November 2014)
    • 1.2a (October 2015)
    • 1.2b (June 2016)
    • 1.2.1 (June 2016)
  • 1.3 (May 2017)
    • 1.3a (October 2017)
    • 1.3b (May 2018)
    • 1.3c (May 2018)
    • 1.3d (March 2019)
  • 1.4 (June 2019)
    • 1.4a (March 2020)
    • 1.4b (September 2020)
I'm going to assume they are starting it at 1.2

Will this work on non DX12 titles, there are plenty of DX9, 10 and 11 titles that would benefit from this boost.

Also, when MicroShaft says "current GPU's" are compatible, what does "current" mean.? Does this only apply tos DX12 GPU's or DX11 GPU's as well.?

Dev's will not go back to implement this on older titles not worth spending the resources on that.
 
Well, the only NVMe that I have is my 500 GB boot drive. Not putting any games there. Gonna wait and see if it's worth to buy an extra 2 TB NVMe just for this.
 
Looks to me like it's DX12 exclusive. Besides, it must be implemented by the developer, it's not the user's decision whether you can use it or not.
Dev's will not go back to implement this on older titles not worth spending the resources on that.

I think I misunderstood how it functions, I read it as being separate from the games itself and at the DX level, and as such seems to be unlikely that it will work on DX11 of older hardware, or DX11 or older games.


Well, the only NVMe that I have is my 500 GB boot drive. Not putting any games there. Gonna wait and see if it's worth to buy an extra 2 TB NVMe just for this.

I have a 250GB "boot" drive attached to my SB, and a 2TB "games" drive attached directly to my Ryzen CPU, so it looks like I hit the luck jackpot already as I am already ideally configured from the looks of things.
___

It will be interesting to see how this pans out over time and is certainly a boon that AMD has created the APU's for the XBONE and PS5 so us PC gamers will also get the rewards of simple (and better) game ports and this DX12/DirectStorage/XBONE updatewill likely also pass through as the XBONE is of course essentially now just a PC, the future is bright.
 
I have a 250GB "boot" drive attached to my SB, and a 2TB "games" drive attached directly to my Ryzen CPU, so it looks like I hit the luck jackpot already as I am already ideally configured from the looks of things.
Does it need to be attached to the CPU? My boot drive is set up that way, and I can't even get to the slot without removing my chonky CPU cooler.
 
"A feature making its way to the PC from consoles" that's just wrong.
 
"A feature making its way to the PC from consoles" that's just wrong.
Eh, not really. With consoles, manufacturers can change everything every gen, so they don't have to keep old code around and can go bonkers innovating how they do things. PCs could actually be held back by the need for backwards compatibility (it's just never really measured until someone comes with a new idea that needs to do away with the old ones).
 
Looking at the graphs it basically takes the CPU out of the equation in regards to decompressing data and relies on the GPU to do it.

So depending on implementation it could increase framerates etc by removing CPU cycles being used in the main game thread to decompress assets for the GPU. This could also impact loading times etc as instead of the CPU having to decompress assets to then pass onto the GPU the GPU can take care of that while the CPU is doing things like Level building, AI creation etc etc etc.

Requiring nvme means that drives running in AHCI / SATA mode are out of the question by default.
Now the question is for drives running in NVME mode through the PCH.
My gut feeling is most likely no since going through the PCH naturally causes a latency penalty which nullify the benefits.
Also this might cause security issues, as the PCH is connected to a lot of external IO that could potentially be attacked.
So most likely it just works on drives connected directly to the "northbridge"/uncore/soc/IO die.

Kinda hope this new technology more flexible just like implementation in PS5 and XSX consoles, they support expansion even though its "proprietary". I guess this piece still in its infancy, let just wait and see what future could bring.
 
MS you know what would be nice. A 24" 4k monitor that doesn't need 300% scaling to see stuff ;)
 
MS you know what would be nice. A 24" 4k monitor that doesn't need 300% scaling to see stuff ;)
Blame the madmen that want and push for those.
 
It's possible devs could implement this seperate to DX12 - but its for new games only
The key is that it requires a DX12 GPU to have support for the feature, not that it requires the game to be running in DX12 mode
(At this stage no one knows if the feature will get rolled back to older GPU's, we've only got a few vague clues)
 
Blame the madmen that want and push for those.
I'm really enjoying my 4k 27" screen. Looking at a 24" 1080p screen now is like looking at an 8-bit video game. However I do find it a bit big for the desk, 23-24" would be about perfect size, I mean this is 2021 after all, and whats the typical resolution on a smart phone these days...................
 
I'm really enjoying my 4k 27" screen. Looking at a 24" 1080p screen now is like looking at an 8-bit video game. However I do find it a bit big for the desk, 23-24" would be about perfect size, I mean this is 2021 after all, and whats the typical resolution on a smart phone these days...................
Smartphones are not comparable. They're controlled with what is the equivalent of a giant mouse pointer. They need massive pixel density so that a large amount of content can fit in a tiny 6 inch screen at best, if not smaller, and massive scaling for the user to control the UI and other stuff relatively easily, like tapping on links or selecting content. Take out the pixel density and everything will be big. Take out the scaling and you can try to fine control things when your finger is area bombardment for your touch screen (and provided I have somewhat average fingers for the sample there, I know people with way thicker fingers than mine, and the scaling on my phone can't go to 100%, 125% is the minimum, which is what I used here).

For the reference: 1080p screen at 21.5 inches (so, around 102 PPI, a bit above the 92 PPI of a 1080p 24 inch screen), my phone's 1280x720p 5.7 inch screen scaled to match in real-world size against my display at the upper right and Firefox Responsive Design mode on the lower right to show what it would be like if phones didn't have high pixel density displays. The giant black/white circles are the size of my finger tip on the screen.
20210421-220959.png


Your issue is that you need or want to be able to see a massive amount of content (otherwise you wouldn't have a 4K screen), have a small desk and want to use normal size scales. You can't have all three. Something's gotta give. You gotta step down your resolution, or get a bigger desk or get used to scaling.
 
Ever wondered why the BAR size suddenly got brought up even though its been in the PCI-e spec for years?

I can honestly see the theory of this working on DX11 cards but as with anything in the tech world. Unless its pushing something new or shiny you will pretty much never see it back ported en mass.
 
Back
Top