PS5 vs XSX vs PC featuring storage architectrures
How do Xbox Velocity Architecture and PS5 storage compare?
Preface -- Let's support better knowledge
Anyone that's been following my blog posts and even my guest appearance on Moore's Law is Dead's podcast Broken Silicon, you'll know that one of my recent interests is trying to inform the community about not only what the storage is in the next gen consoles and how they work, but what benefits they can bring to gaming.The need for this knowledge is apparent in the widespread misconceptions about the SSD in the consoles and the hardware that accelerate its pipeline. Evidence of the lack of understanding among techtubers can be seen here, with Linus at the WAN show with comments like "and if you imagine for a second that Sony's CPU in the playstation is not just an AMD chip running PCI express then you're a fool". While I don't mean to discredit Linus, as I've learned an incredible amount from watching his channel, and indeed do still recommend him for anyone curious about learning more about tech in general, it hurts when he makes such strongly worded but ultimately false comments, due to his wide audience.
To me, seeing that just encouraged me to write this article. To me, it's not a question of whether the consoles have a better storage architecture than PC, it's a question of how will PC catch up, because we know it must. But this starts with understanding what's in the PS5 and XSX that make it special, before we can explore how we as PC gamers can benefit from it.
The concept of supporting better knowledge goes for me as well; if I'm wrong about something, please let me know so I can correct it.
This article, in a way, is a part 3 in a series on storage and gaming. I will continue this discussion assuming you've either read, or are generally familiar with the topics discussed in part one and part two. The first mainly deals with the limitations of Hard Drives, the technical challenges in making full use of the speed of an SSD in gaming, and the solutions to those challenges presented in the PS5 (as well as presenting speculation on a possibility for how this may come to PC). The second article mainly discusses the benefits in game design and visuals we get from the improvement in storage architecture. If you're familiar with these topics, please proceed.
Xbox Velocity Architecture
When Sony and Microsoft went to different studios and discussed what developers wanted to see on the next generation console, they both have reported that overwhelmingly, the most-requested feature was an SSD. This presented a unique challenge to both Sony and Microsoft, who knew that while just slapping in SSDs would have some advantages, there would still be limitations as the I/O management through the CPU would cause major bottlenecks, and not allow the SSDs to be fully utilized. The solution for the PS5 is widely reported on and discussed because of This Mark Cerny presentation (which I've been desperately getting anyone at LMG to watch). While Microsoft has not published as deep of a discussion on their Velocity Architecture, which is meant to fill the same gap as what Cerny discussed on the PS5, we do have some details, particularly regarding their four-pillar approach, which includes the SSD, the hardware decompressor, the DirectStorage API, and Sampler Feedback Streaming. Let's discuss each of those.
Xbox Series X SSD
Easily the least controversial, as there's nothing particularly special about it (to my knowledge), is the SSD, which seems to be a standard NVMe SSD running on PCIe 3.0, at 2.4GB/s. While it doesn't match the SSD in the PS5 which boasts 5.5GB/s, and indeed doesn't match the fastest consumer SSDs available on PC, it's a significant increase from what was possible on the previous gen.
Hardware Decompression
The Xbox compresses all data on storage for two main reasons: It occupies less space on disk, and it allows for faster streaming from disk, effectively increasing the speed of the SSD. To explain this, imagine you want have a 20GB set of data you want to stream to your CPU from a 3.5GB/s drive. Normally, this takes up 20GB of disk space, and will take 20/3.5 = 5.7 seconds. Now let's say your data is compressed on your drive from 20GB to 14GB, and you've got a dedicated decompressor that can keep up with the bandwidth. The SSD is still only working at 3.5GB/s, but after that data is decompressed, it's actually effectively 5GB/s.
The XSX claims that their hardware decompression takes the SSD from 2.4GB/s to 4.8GB/s. The PS5 by comparison, does 5.5GB/s uncompressed, but typically 8-9GB/s of compressed data. These figures help tell the tale that while the PS5's got the XSX beat in bandwidth, both compressed and uncompressed, the XSX is actually winning in compression performance. This is largely because of priorities set; XSX uses a proprietary decompression they developed in-house called BCPack, which is specialized for textures, while the PS5's is a general-purpose solution.
You may have heard claims that XB's storage solution is actually better than PS5's because of this specialization in textures, which are the majority of the data volume. The truth is that this texture specialization does help it, and lets it get better performance on it's compression, the raw speed of the PS5's SSD is fast enough that in terms of SSD performance taking into account compression, the PS5 is still clearly the winner. That so far says nothing about the rest of the pipeline though, ONLY the speed that the SSD can deliver data into the rest of the pipeline.
Note: It's not the SSD controller doing the decompression. If it was, the bandwidth would be limited to the 2.4GB/s or 5.5GB/s on the SSDs. The hardware decompression is also not necessarily needed on the PC to play those games, as it largely exists to improve the performance of the drive.
Note: It's not the SSD controller doing the decompression. If it was, the bandwidth would be limited to the 2.4GB/s or 5.5GB/s on the SSDs. The hardware decompression is also not necessarily needed on the PC to play those games, as it largely exists to improve the performance of the drive.
DirectStorage API
This is the part that I have the most questions about. I've heard comments from devs stating that the Xbox has a hardware accelerated pipeline. However, nothing I've been able to find on the DirectStorage API confirms that this part is hardware-accelerated. All we know is that it reduces the overhead in managing the I/O from about two cores to one tenth of a core. However, we don't know how it does it, or how well it performs against what's in the PS5.
If I had to make a guess, I would guess that DirectStorage API is pretty effective for up to that 2.4GB/s (~4.8GB/s compressed) bandwidth of the SSD in the Xbox. That the software solution presented here that can be ported to PC is the main reason that XSX chose a slower SSD compared to the PS5. I would guess that the PS5 uses ASICs (Application Specific Integrated Circuit, really just a specialized processor) for pipeline acceleration because they need to handle from around double to potentially nearly 4x the bandwidth that can be handled on the XSX, which is ultimately limited by its software solution. Though I expect the DirectStorage API may have other limitations I'm not aware of.
DirectStorage API is confirmed to be coming to PC.
DirectStorage API is confirmed to be coming to PC.
Sampler Feedback Streaming
If you're unaware of what a mip or mipmap is, please see part 2 of this series linked above, but the TL;DR is that mipmaps are a series of the same texture at various resolutions. This is important as textures are really big, and if a texture is so far away that you can't see its detail, it's best swap it out with a lower resolution image. However, storage is slow and there's a lot of textures, and calculating which texture to store at any given time is difficult, so you end up holding far more than is necessary in cache. Sampler Feedback Streaming is a very efficient software solution leveraging faster storage to handle texture caching far more effectively. Since there's less irrelevant texture data in cache and RAM, it's possible to dramatically increase the density of texture data that the player is looking at, filling RAM with more active and less idle texture data.
While PS5 has not discussed this feature directly, since it's a software solution, it is likely implemented in PS5's software, and if it isn't, there's no reason engine developers can't do something similar... which we were told in the Unreal Engine 5 demo, that they have done, but taking a step further to use a similar technology for tris as well, applying the concept to entire movie-quality models allowing near-infinite detail (limited only by the size of storage), or lighting your GPU on fire.
Naturally, as a software solution, similar tech is available on any platform, including PC, however, the faster the storage, the more effective it will be, as the faster the storage, the less idle data you need to hold in RAM.
XSX vs PS5?
I'll preface this with the caveat that I could be wrong, we don't have benchmarks from either, and maybe XSX has some secret sauce in its storage pipeline that we don't know about, but I at least can't find any reasonable explanation for how the XSX could match the IO pipeline of the PS5, which not only has the faster SSD, but a far more robust I/O pipeline, as it's accelerated by ASICs.
That being said, it's kind of a moot argument, as the hardware is not what makes a console. Let's look at it in terms of what actually sells consoles; games. If you really want to play a game, you're going to get a platform that gives you a good experience for that game. If that game is exclusive to a platform, you're going to want to buy that platform. This will mean that Playstation will get some guaranteed sales, even if its platform is worse in every way; there are great games that will only be available on PS5.
Brief GPU tangent
The XSX is a faster console in CPU, GPU, and RAM despite being beaten in storage, and at this point I think it would be controversial to claim otherwise. I know, Mark Cerny explained that a 36 CU GPU at 1GHz will outperform a 48CU GPU at 0.75GHz, despite them both having 4.6 TFLOPS. He said that fewer CUs are easier to distribute work over, and that "a rising tide lifts all boats" meaning there are many other parts of the GPU that get accelerated in that way. This has been largely argued by people saying that a RDNA-based 5700 that has been overclocked to match the TFLOPS of a 5700XT will not out-perform a 5700XT. While I haven't verified this myself, this may have to do with the fact that they're both running PC software that's been designed to distribute workloads over many more cores, whereas games on consoles tend to get more tightly optimized for that hardware, and the advantages Cerny described can get more fully used in such an environment. Either way, at this point until we see benchmarks, it's best assume that the XSX will outperform the GPU of the PS5. As for CPU, they're nearly identical, with only 100MHz difference when SMT is enabled, and the RAM I'd give a slight win to the XSX despite its tiered memory.
The Great Equalizer
There's an unfortunate reality when it comes to games; devs build for the lowest common denominator. The PS5's storage advantage is likely going to evaporate when it comes to cross-platform games, as they're going to be developed targeted for both consoles simply because it's less work to do so, meaning there's unlikely to be any special features available on one console's version compared to the other, even if one console is capable of more. This means that given the performance improvement of the XSX, cross-platform games are unlikely to make use of the PS5's storage, and simply run slightly faster on XSX. We saw this same thing with the XB1 and PS4 as PS4 would run games at native 1080p when the XB1 would run them at up-scaled 900p.
It's possible that given a flexible enough system that can stream in more detail on the PS5 than XSX may make games slightly better looking in certain circumstances, but it's more likely that the game developers won't add in the space-consuming movie quality assets that Epic was touting, and instead make a balance between visuals and disk space that can be leveraged by both consoles.
But devs will make games on multiple platforms to fully take advantage of them!
I also must acknowledge that in some cases, a developer will develop a game somewhat separately for two platforms. Notably, Final Fantasy XV, Monster Hunter World, and Red Dead Redemption 2 are all examples of games that were developed for console, but underwent notable additional development to bring them to PC to take advantage of the GPU and CPU benefits the more powerful PC platform had at its disposal. Some games go the other way, with Cyberpunk 2077 being developed separately for PC and consoles, with the PC version being the primary development, and reducing features and quality so it will run on the consoles. Here, we can see that some games being released on both PS5 and PS4 are similarly running separate development branches, depending on the level of technology available, so the PS5 version can properly take advantage of the hardware.
These games are examples of extreme differences in performance though, and I doubt that enough developers will see the PS5 and XSX as different enough to justify multiple development branches. It's more likely that if a dev wants to fully use the I/O performance of the PS5, that game will be a PS5 exclusive.
However, one thing that has to be said in favor of PS5's solution is not only do they have unmatched gaming I/O performance, Mark Cerny has made claims that it's accessible through an API that's incredibly easy for developers to use. All they have to do is request the data, and they get it, simple as that. The devs do not have to occupy themselves with working with all of the I/O acceleration processors on the PS5 to make use of them. They simply make a request for data, and it's presented to them. This means in some ways, it would actually be easier to make use of that speed than not, if you're only developing on the PS5.
PS5 vs XSX conclusion?
So far you may be thinking, if you haven't read my other articles, that I'm an Xbox fanboy, telling people to buy an Xbox because it's better.
Well, actually you're all going to start calling me a PS5 fanboy now, because I'm going to tell you that I'm planning on buying a PS5 and not an XSX, but this is because I have a PC. In my opinion, an XSX is a hard sell to anyone that both has a PC, and doesn't have enough money to buy both consoles (which I sure some of you will do). However, Xbox Studios are making all of their games available on PC. Which means if you already have a PC, why would you buy an Xbox? The purpose the Xbox serves is that for a short time after the release of the Xbox, it will have higher performance than a similarly priced PC. I mean come on, it's effectively got an underclocked Ryzen 7 3700X and the equivalent of a 2080 Super but with way better Ray Tracing. Those components alone without the rest of the machine is at best a thousand dollars right now. With, you're looking at a build around 3-4x the cost of an XSX, depending on where it lands. If you don't have a PC and don't care about the PS exclusives, buy an XSX. If you have a decent PC, buy a PS if you want those PS exclusives. That's where I'm at.
But Playstation games are all coming to PC!
No they're not. Until I see a statement from Sony, this is people taking the news of Horizon Zero Dawn getting released on PC and running with it. We need more than one data point to make a trend. The fact that the PS5's I/O pipeline is so much more robust than what's currently on PC tells me that unless you're happy to wait for a very long time (for PC to catch up to PS5 storage I/O) as to put it mildly it's extremely unlikely that Playstation Studios is going to develop exclusives for the PS5, but while doing so, restrict how much of the PS5's I/O pipeline they rely on, to make sure that it can be ported to PC. No, that won't happen.
How does PC fit in all of this?
I have some good news, and some bad news, relative to what I discussed in my first article. When I wrote it, and indeed when I was a guest on Broken Silicon, I didn't know that DirectStorage API was software, and did not include ASICs like the Playstation's solution does. (Even though I don't actually have confirmation of it, if I'm wrong here, please reach out and correct me)
The DirectStorage API being software-based means that it can come to PC. This effectively means that the PC only has two disadvantages to the XSX, and both of them are surmountable today; the NVMe SSD, and the hardware decompressor.
NVMe SSD
PC's primary disadvantage compared to the XSX is the SSD. While a 2.4GB/s SSD may not sound like a whole lot when compared to some of the SSDs available on PC today, the issue is that not only do not enough people have them, but many people who do have SSDs around that speed are actually running QLC SSDs. These are SSDs with a fast, often DRAM cache, with a massive array of very slow flash storage attached to it. These sell well because people hear they should get these fancy new NVMe SSDs, and see the least expensive ones have QLC, which means 4 bits per cell -- basically a tech that allows for larger capacity drives for lower cost, at the expense of performance. These drives are unlikely to keep up to the extended demand of next-gen gaming as data is accessed that isn't in cache. Also, SATA-based SSDs are still extremely common.
Dedicated storage decompressor
There's not currently any hardware decompressor on the PC platform that's widely enough available for Devs to require outside of CPU cores. It would not be a great idea to use the CPU cores, as most CPUs only have 4-8 cores, the XSX has 8 cores dedicated to game logic, and that decompression will take at least 4 cores, crippling the cores remaining for game logic. However there is a silver lining. With decompression, the XSX will run typically about 4.8GB/s. In a way, that compression allows the 2.4GB/s to punch above its weight class, but there are 5GB/s drives out there that can compete with XSX's compressed rate. THe major downside here is a game will occupy double the space on disk on PC compared to an XSX.
We might get full-spec XSX games coming straight to PC.
The issue with both of these solutions is while the drives and bandwidth exists on PC that can match the XSX, they aren't common enough. They're out there, but not enough people have high-speed NVMe drives for it to be worthwhile for devs to release games that require them, even if drives that are faster than the XSX's are available in more and more accessible pricing. However if there's little effort required in porting an XSX game to PC if the devs assume the PC has enough performance, we could see them come out with very high minimum specs, and people either don't get to play them, or they upgrade their systems. Over time, incentivised by this, more and more people will be buying machines that are equivalent to current high-end spec so they can play games. However, after the next-gen CPUs and GPUs come out, the console-spec performance will be even more affordable, and that will only improve in the coming years.
But when will the PC match the I/O of the PS5?
I can't answer this one. I speculated once that Zen2 IOD die may already contain some of this hardware, but that's Almost certainly not true. However, I hoped that it could come in Zen3 given that AMD were the ones that implemented the hardware for the PS5. While I still won't discount the possibility, Tom from Moore's Law Is Dead asked his sources in AMD and was told there's nothing like that; that they're still just CPUs. While I don't consider that officially busted yet, it has me thinking about what would be required to get PS5-tier I/O on PC.
Any of these solutions need one key factor. In order to be implemented, it needs to be something that the devs can and would make use of, and would reasonably become popular enough for mass adoption.
Try putting storage on the GPU?
One of the possible solutions is an idea one presented by MLID here. This would work because the GPU could self-contain all the necessary I/O accelerators and decompression to match the PS5 I/O performance. However the main issues I see is the vast difference in implementation it would have from the consoles. In addition, it could require an large initial loading time likely upwards of 30 seconds which while not worse than what we have now, is an issue not present on PS5. Another solution would have the installation put the GPU-centric data for the game on the storage of the GPU. The issue with this is the GPU-centric data; textures, tris, etc., are often the largest files, which would cause the GPU SSD to fill quickly. This could be mitigated with a sort of management system where you can store your games on your system SSD, and easily manage which games store their data on the SSD, and load them in and out as required; after all waiting 30 seconds to install a game from SSD to GPU is better than re-downloading it. This solution is a little janky, but would be workable for most people, I think.
However none of this addresses the biggest concern I see with this. It would have to be implemented by Nvidia. While I don't necessarily doubt they would, there's been no indication from them that they're thinking of putting an SSD on their cards. I say Nvidia would have to do it because at this point, I'm not sure if there's anything that Radeon can do to repair their reputation and convince people outside the niche enthusiasts to even think of buying Radeon... but that's a story for another time. There's no way that game developers would implement games using a GPU SSD if Radeon was the only one implementing them. It would be far too much effort for not enough sales.
In summary for this idea, it's possible and would be effective, I doubt that it will happen. I'd love to be proven wrong though.
But the GPU is key
The PS5 has one serious advantage (other than of course having a self-controlled ecosystem and platform, allowing them to both implement the hardware for the I/O architecture, make the software to support it, and get their devs to make full use of it) which is the CPU and GPU are on a single APU package sharing a unified high-speed RAM. That means the system doesn't have to split up RAM needed for the CPU and the GPU, which actually means that an I/O architecture for PC would actually have to be more complicated than what's on the PS5.
First of all, a lot of the I/O like texture and model decompression, mapping, etc., would need to be on the GPU itself. This means API-compatible systems from both Nvidia and AMD... which probably means implementing it in some form of DirectX API that they both comply with. This is doable, but far from confirmed. I would say best-case for the decompressor would actually have it on the GPU. There is already talk of a decompressor on Ampere that can accelerate loading times, but details are scarce.
Another thing is the CPU would have to match the dedicated DMA controller (Direct Memory Access... effectively moving data between SSD and RAM without using CPU cycles) with a solution that would effectively parse data from the SSD and decide which data needs to go to the CPU and which data needs to go to the GPU. Right now our PCs are already doing this, but we're talking about a system that can handle it at orders of magnitude higher speed than we're doing with games right now. Since all SSD I/O is handled by the CPU, this system needs to live in the CPU.
Long story short
I think in order to achieve parity with the I/O of the PS5, we need some dedicated hardware in both CPU and GPU. Unfortunately for PC, I think this means it could be several years before we can get the same leading performance on PC as we'll get on PS5, but it's not all bad. Given that much of what's on the XSX can come to PC sooner than later, we're still going to see an incredible increase in gaming visuals and features since the old consoles are not holding us back with their spinning rust. I think VERY soon we're going to see game stop working entirely on HDDs, and require at least SATA SSDs. Then, possibly sooner than later, we'll see much faster drives start becoming necessary.
Thank you for reading!
Like always, a lot of this article is assumptions and bits of information I'm piecing together and trying to make sense of based off official statements and conversations. I've tried to be clear about what pieces of information are confirmed and which are speculation, but always feel free to correct or inform me.
As always, come visit me in Discordland! I've got a little flourishing community that's so far been rather active and we've had a lot of great tech discussions with.
Twitter: https://twitter.com/MeyerRants
Hey there. I just wanted to say keep up the great work as this stuff is great. I've been discussing some of this recently and using your article as a reference.
ReplyDeleteI've received some feedback pointing me to a discussion on the forum from some pretty tech savy people that point to the fact that SFS is not a wholley software solution. In fact some claim that to Sampler Feedback Streaming, not just Sampler Feedback, needs a hardware implementation.
I think this hardware is on the GPU from the DF tech article on SFS, which lists these as "Bespoke Hardware Units" and in the article below they refer to these as texture filters. I'd love to get some clarification on this and really understand what each companies solutions actually are.
If this is correct does that mean that the PS5 will support SF but not SFS? I'm not particularly tech savy and was only curious. Here is the article below:
https://forum.beyond3d.com/threads/xbox-series-x-xbsx-release-holiday-2020.61502/page-34
Cheers
Thank you for that! I will have to do some investigation and let you know. Feel free to head to my discord community to discuss it as well! If I find a bunch of good information on it though, I'll write a new article on it as I'm really curious. It would be interesting if the XSX had a tech advantage over the PS5. Though if it is hardware, and it's implemented in the GPU my instinct would say that it's likely part of RNDA2, so both part of the PS5 as well as the coming RNDA2 desktop GPUs. It would be interesting though if that gave AMD a competitive edge against Nvidia, as it looks like they might not be winning in raw performance, based on AdoredTV's latest video.
Delete