PS5 IO System to Be ‘Supercharged’ by Oodle Texture, Bandwidth Goes Up to 17.38GB/s
The PS5 Input/Output (IO) system has been the topic of much discussion ever since Epic CEO Tim Sweeney explained its structural advantages over the PC (as well as any other gaming platform).
While the raw speed of the PS5 SSD drive might have been theoretically surpassed by the new Samsung 980 Pro PCIe 4.0 NVMe SSD, it is the architecture of the PS5 itself that boosts its capabilities beyond what's currently achievable elsewhere. You might remember that the official specifications listed the console's IO bandwidth at 5.5GB/s with uncompressed data and 8-9GB/s with compressed data.
However, it looks like the partnership with Oodle will allow the PS5 to go much further when it comes to bandwidth peaks with compressed data. We already knew that the PlayStation 5 would support the Kraken hardware decoder, but the folks at Oodle have now unveiled that Sony also licensed Oodle Texture technology, which is optimized for compressing GPU textures.
Oodle Texture is a software library that game developers use at content creation time to compile their source art into GPU-ready BC1-7 formats. All games use GPU texture encoders, but previous encoders did not optimize the compiled textures for compression like Oodle Texture does. Not all games at launch of PS5 will be using Oodle Texture as it's a very new technology, but we expect it to be in the majority of PS5 games in the future. Because of this we expect the average compression ratio and therefore the effective IO speed to be even better than previously estimated.
Kraken is a powerful generic compressor that can find good compression on data with repeated patterns or structure. Some types of data are scrambled in such a way that the compressability is hard for Kraken to find unless that data is prepared in the right way to put it in a usable form. An important case of this for games is in GPU textures.
Oodle Kraken offers even bigger advantages for games when combined with Oodle Texture. Often the majority of game content is in BC1-BC7 textures. BC1-7 textures are a lossy format for GPU that encodes 4x4 blocks of pixels into 8 or 16 byte blocks. Oodle Kraken is designed to model patterns in this kind of granularity, but with previous BC1-BC7 texture encoders, there simply wasn't any pattern there to find, they were nearly incompressible with both Zip and Kraken. Oodle Texture creates BC1-7 textures in a way that has patterns in the data that Kraken can find to improve compression, but that are not visible to the human eye. Kraken can see that certain structures in the data repeat, the lengths of matches and offsets and space between matches, and code them in fewer bits. This is done without expensive operations like context coding or arithmetic coding.
According to Oodle, the previous 8-9GB/s IO bandwidth figure was provided by Sony by multiplying the 5.5GB/s peak bandwidth of the PS5 SSD for the standard compression ratio of 1.45/1 or 1.64/1. However, when factoring in both Oodle Kraken and Oodle Texture, the developers of the technology have seen an impressive compression ratio of 3.16/1 for a texture set in a recent game; this would translate into an IO bandwidth peak of 17.38GB/s, as mentioned in the headline.
Of course, that may not be typical, and not all PS5 games will necessarily take advantage of this technology to the fullest. That said, it does sound like the PlayStation 5 is equipped to remain the leading gaming architecture for quite some time yet when it comes to IO.