Microsoft DirectStorage, Features and News for PC

We have been talking for a long time about the null benefits in gaming between a SATA 3 SSD and an NVMe M.2, where beyond the fact that in other scenarios we can notice improvement, in the world of games we currently have a significant bottleneck. Microsoft and the games industry are coming together to present the solution to this and get performance to take off as they have already achieved in the next generation consoles. All through a new API that has been called Microsoft DirectStorage .

It’s funny how this time it was the console sector that had to innovate to take advantage of a bottleneck that they had until now: the speed of their hard drives / SSD. Two new APIs developed on the one hand by SONY and on the other by Microsoft are going to make the PC world end up boosting performance almost unintentionally, and although we are late, the improvement will be welcome.

Microsoft DirectStorage

Microsoft DirectStorage, the best IO technology for PC and console

Microsoft-DirectStorage-3

It was at the presentation of Microsoft’s technological innovations where those from Redmond presented their ” Velocity Architecture “, a fundamental part to achieve better performance of their new Xbox Series X console and especially of their new high-performance storage system based on NVMe.

The need had been knocking on the door of the PC for more or less 3 years, maybe a little longer, but Microsoft had not finished defining a standard, an API for the industry and its operating system.

Microsoft-DirectStorage

When the time comes to boost your XSX, you will do the same with PCs by launching under DirectX 12 Ultimate this new API designed to reduce load times and achieve better performance in games, as well as richer textures for being able to represent better way and faster more items on screen.

Why is Microsoft DirectStorage necessary on PC?

Microsoft-DirectStorage-2

Unlike consoles, or at least to a great extent, on PC a lot of bandwidth is needed to be able to present on screen both post-processing effects, image filters or simply a certain resolution at a very high FPS rate.

As a result, more advanced games load an ever increasing amount of data, resulting in more data in shared memory towards GPU memory. To do this there are two ways:

  • Make small quantity , large IO requests .
  • Make small and large IO requests .

The most current engines are turning towards this second option since the RAM hardly increases in speed and that until last year we continued with PCIe 3.0, so in order not to collapse buses or any system with IO, small parts are loaded that improve data flow .

In return, a high rate of I / O requests is generated, something that NVMe SSDs had to solve with greater simplicity than SATA 3 and not to mention HDDs. But the problem that the industry found is that, although in theoretical terms it should be, the software was not prepared for it, leaving current APIs with serious scalability problems and creating quite serious bottlenecks.

What is this new API going to do for gaming and how will it do it?

Microsoft-DirectStorage-4

The first thing to know is that the different I / O stages of a game must be differentiated, since the same IOs are not applied at all times. According to Microsoft, the average file transmission of a game until now was about 50 MB / s sustained, usually in small blocks, where precisely an SSD suffers more in transfer rates.

The current APIs have to send the request of each IO, wait for the CPU to complete it and once it is done, they get to work to derive the result to the GPU memory. To this must be added the compression of the files themselves to work, for which one more step is added that slows down the process, either to send the information to the CPU or the GPU.

In any case, unzipped and worked they will end up on the GPU, the problem is the timing and the bandwidth with which they do it. Microsoft DirectStorage will end all these problems in one fell swoop, as it will use the best decompression algorithms available at all times, it will end the I / O bottleneck by maximizing the entire IO process from the NVMe to the GPU through parallel requests and above all, giving developers greater control over how the information should be treated as far as I / O is concerned.

The last advance will be the detection in advance of unnecessary steps so that the information arrives as quickly as possible. To do this, checks for operations that were previously necessary can be omitted, so that each IO will have less performance penalty and will reach its destination more directly, be it CPU, RAM or GPU.

Finally, Microsoft DirectStorage will arrive sometime in 2021 , where it is already speculated that it could be in the first quarter to take advantage of the push of the consoles and promote the technology, so we will have to be vigilant to see if we actually notice an improvement once it is implement.