DirectStorage is a feature of DirectX 12 found in the Xbox Series consoles that accelerates the performance of SSDs using the massive parallel processing power of today’s GPUs. When DirectStorage is active, video game loading screens can be all but eliminated.
Compression Makes SSDs Faster
Modern SSDs using the latest interfaces can read gigabytes of data per second. For example, the SSD in the PlayStation 5 is rated for a read speed of 5.5 gigabytes per second. You can now buy SSDs for your computer that can reach 7 gigabytes per second, assuming you have the latest SSD interface on your motherboard to support this rapid data transfer speed.
These speeds are amazing, but the PlayStation 5 can achieve real-world transfer speeds much faster than that. As much as 9 gigabytes per second! This is possible thanks to compression. Compression is a way of storing data in an encoded form so that it takes up less space on a drive. In other words, although the PlayStation 5 is still only shifting 5.5 gigabytes of physical data from the drive every second, once that data is decompressed it’s actually 9 gigabytes in size.
That sounds amazing, but there’s no such thing as a free lunch! It takes computing power to uncompress data so that it can be used by a video game or application in the computer’s RAM. CPUs (Central Processing Units) can do this job, but it takes up a significant amount of their capacity. That has the potential to slow the system down as other apps compete for those limited resources.
One solution, as is the case with the PS5, is to use a dedicated processor just for data decompression, but that’s not an option for PCs. At least not yet.
GPUs (Graphical Processing Units) on the other hand, are great at quickly performing the type of processing needed to decompress data rapidly. This is a key fact to remember when it comes to DirectStorage, because that’s the component that’s in gaming PCs the API (Application Programming Interface) leverages to achieve real-time decompression.
How DirectStorage Works
The DirectStorage API shifts data decompression duty from the CPU to the GPU. This is a great idea because most of the compressed video game assets are going to the GPU for rendering anyway.
By bypassing the CPU, those assets are already where they need to be as soon as they’re decompressed. There’s no need to wait for the relatively slow CPU to finish its decompression work first.
This new way of moving compressed data around removes the CPU as a bottleneck and lets the SSD and GPU both work at their maximum potential.
Why Do We Need DirectStorage?
According to a fantastic explanation on the Microsoft Developer blog, changes in how video games ask for data are a big driver of technologies such as DirectStorage. Rather than asking for data in big chunks, games constantly stream in small pieces of data in chunks as needed, generating a massive number of IO requests.
Storage APIs that came before DirectStorage weren’t designed to handle this type of data request pattern and even when they have access to a fast SSD they can’t scale things up to take full advantage of the technology. DirectStorage is designed to reduce the overhead from massive amounts of data requests and to keep the entire data pipeline from disk, to decompression, to rendering the game onto your screen as efficiently as possible.
DirectStorage has both hardware and software requirements for it to work. PC users running Windows 11 or Windows 10 must be using an NVMe drive. That’s short for NVM Express or Non-Volatile Memory Host Controller Interface Specification if you want a real mouthful.
NVMe is the communication standard used by SSDs in modern computers and consoles. This high-speed interface is what allows SSDs to achieve multi-gigabyte per second speeds, compared to the older SATA standard that topped out at around 600 megabytes per second.
On the GPU side of the equation, you need a DirectX 12 GPU that supports Shader Model 6.0 In practice this means AMD GPUs that use RDNA2 GPUs or better and RTX 2000-series or better cards from Nvidia.
On Xbox Series X and Series S consoles, DirectStorage is part of the overall Velocity Architecture and the hardware in the consoles have been specifically designed to use DirectStorage, although backward compatible games don’t benefit. This is why you can play Xbox One, Xbox 360, and original Xbox games from USB drives while Series games must be played from an official Xbox SSD.
How to Turn on DirectStorage
Whether you’re using an Xbox, a Windows 11 PC, or a Windows 10 computer, you don’t have to explicitly turn on DirectStorage for it to work. As long as you have the right hardware and a DirectX 12 game that’s designed to take advantage of the storage acceleration the feature provides, it will benefit from the enhanced speed.
If your computer doesn’t meet the requirements of DirectStorage, that doesn’t mean that games won’t work. You’ll just experience longer load times and perhaps more asset pop-in. At some point in the future, however, new games may require DirectStorage although we expect at that point most gaming systems will be capable of using the feature.
Originally posted 2022-11-13 13:01:19.