Microsoft Direct Storage File-I / O-API of the Xbox Series X for PC

Microsoft is bringing its next-gen DirectStorage Xbox API to PCs
Microsoft is bringing its next-gen DirectStorage Xbox API to PC

Microsoft has announced that with DirectStorage, a key feature of the upcoming Xbox Series X will also enter the Windows operating system for the PC. This is a programming interface that, in conjunction with fast NVMe SSD, allows significantly shorter loading times in games.

New API for shorter loading times in games


Behind DirectStorage hides a new programming interface for data input and output, which is called File I/O API in English. It is part of the so-called Velocity Architecture of the Xbox Series X game console released in November. The Xbox Series X brings a NVMe SSD with 2.4 GB/s for the first time in the series.

Next year, developers will get a preview


As Andrew Yeung writes in the developer blog of Microsoft, the DirectStorage API will also come for Windows PCs as a feature of DirectX. However, this will be much later than on the new Xbox: Next year, a "Development Preview" of DirectStorage for game developers will be released, a date for the final version as part of Windows 10 has not yet been mentioned.

DirectStorage to better exploit NVMe SSD


DirectStorage is designed to take into account the development of hardware and software for gaming platforms. In the meantime, SSD have surpassed the conventional hard drives and achieve data transfer rates of several gigabytes per second with NVMe technology. However, performance is often not used, as outdated software and API are still tuned to slow HDD. The workloads at games have also changed in the meantime, writes Yeung. Thus, modern games would load much more data and do so through optimizations in a smarter way. Instead of loading large blocks of data with a few I/O requests, the trend in games is that content such as textures are broken down into smaller blocks and only the just required ones are loaded, which is more efficient, but drives up the I/O requests.

I/O requests that modern SSDs with PCIe interface and the NVMe protocol


And it is precisely for this high number of I/O requests that modern SSDs with PCIe interface and the NVMe protocol are predestined. However, they can only get their performance if the API is optimized for the high number of commands, which is not the case so far - DirectStorage should change this. Among other things, the API should enable a reduction of NVMe overhead per request. In addition, the efficiency of decompression of the often compressed data during games should be increased. Overall, the entire path of the data from the mass storage to the GPU is to be accelerated. This could not only reduce loading times, but also make games look better through more efficient memory management by using more details.

Microsoft Direct Storage File-I / O-API of the Xbox Series X
Microsoft Direct Storage

DirectStorage is specifically tailored to the NVMe protocol, which itself is designed for long command queues, which according to Yeung are particularly suitable for gaming workloads: The DirectStorageThe programming model essentially gives developers direct control over this highly optimized hardware. Which hardware is needed for DirectStorage remains open for the time being. However, it is assured that games will continue to work if your own system does not support DirectStorage.

Nvidia RTX I/O uses DirectStorage


Since thanks to DirectStorage graphics cards should be fed more efficiently with game data from the mass storage, this also brings the GPU manufacturers on the plan. Nvidia has already introduced its interface for using DirectStorage at the launch of the GeForce RTX 3090, 3080 and 3070 with Nvidia RTX IO. In addition, compressed data with high bandwidth should be transported directly from fast SSD to the GPU and decompressed by it. The detour via the CPU and the CPU power otherwise required for decompression is omitted.

In addition to the new graphics cards with ampere architecture, GeForce RTX 2000 from the Turing family should also support RTX IO.

Next Post Previous Post