According to Video Cardz, AMD is preparing a new technology called Smart Access Storage (SAS) for its Ryzen processor, which could debut in The first Corsair game, Voyager. Smart Access Storage looks a bit like AMD's Smart Access Memory (SAM) technology, but it's not the same thing. Smart Access Memory (SAM) is a PCI-E-based technology from AMD. It is designed to give the CPU more efficient access to the video memory of the graphics card, so as to improve the performance of the game.
As of now, AMD hasn’t revealed much about SAS, with corsair releasing the game in June and AMD CEO’s Computex 2022 speech expected to announce the technology.
Although specific information about SAS is not available, in many media, the technology is similar to Microsoft has launched DirectStorage technology. Therefore, we can understand SAS technology in advance by understanding DirectStorage.
In the past, we played games that weren’t complicated, with fewer levels, fewer characters, and simple textures. Over the years, the game’s data grew exponentially, from huge open worlds to elaborate personas that made the game look real.
But all this innovation comes at a cost. Modern games typically require tens of gigabytes of data to render those beautiful characters and environments, and some of the tools used by game developers aren’t built to handle that much data, causing performance bottlenecks. To solve this problem, Microsoft’s DirectStorage came into being.
Before discussing DirectStorage, let’s take a look at how the data flow of the current game works.
When we launch the game, it requires data like textures, character models, and audio to be displayed on the screen. This data is stored on storage devices such as hard drives, and the game requests it through software tools called application programming interfaces (APIs).
After the game requests data through the API, it retrieves the data from the storage device and places it in the system RAM, which is then passed to the GPU for rendering.
When we download a game, all data is compressed to save as much storage space as possible. But the GPU cannot use compressed data, so it must be decompressed. Once the data is in RAM, it goes to the CPU for decompression. After decompression, copy the game request data to the GPU’s VRAM. Finally, the GPU renders this data into the beautiful graphics we see on the display.
Now, this streaming approach has two major drawbacks: first, decompressing the data takes a lot of time, which not only increases the load time of the game, but also makes the CPU unusable for other tasks, and since the CPU spends most of its time decompressing, it can’t keep up with the GPU demand, resulting in a low frame rate; Second, existing storage APIs did not take full advantage of today’s storage hardware. For example, storage devices at the time were slow mechanical hard disks that did not have the speed and bandwidth to send gigabytes per second. As a result, APIs were written to stream only a limited amount of data.
Developers using these older APIs today must circumvent this limited data flow budget by reducing scene complexity to minimize the need for large amounts of data, rendering only textures and environments that the player can see, and increasing load times to ensure them.
These methods are still very limited because, even with the fastest memory on the market, games still have long load times, texturing, and scene drawing.
DirectStorage is to help developers through better data flow processing to solve these problems. DirectStorage is a set of storage APIs that, when called by a developer to request data from a storage device, are almost identical to the previous procedure, with two major differences.
- First, after copying data to RAM, the data is not copied to the CPU and decompressed. Unlike the old API, compressed data is sent directly to the GPU.
- Second, the API takes full advantage of the super-fast NVMe SSD hardware. Therefore, DirectStorage requires NVMe SSDS to work because NVMe SSDS have much higher bandwidth than mechanical hard disks. DirectStorage uses the full bandwidth of these SSDS, which is on the order of GB/s, to read a large amount of data at once. This is different from the old API that slowly reads data in MB/s.
As a result, the GPU will receive a large amount of compressed data immediately, without waiting for more data to arrive before rendering. All that’s left to do is decompress the data for GPU rendering.
DirectStorage includes the most advanced GPU decompression technology, which decompresses data at a much higher rate than the CPU. They can also sustain this high-speed decompression for long periods of time, something a CPU can’t do, which is what makes GPUs a prime candidate for future data decompression. Turning the decompression process over to the GPU also frees up the CPU for other tasks, such as processing audio and preparing frames for display.
Given DirectStorage’s ability to deliver huge amounts of data to GPUs at incredible speeds, it could revolutionize the gaming experience for everyone.
First, if developers build their games using DirectStorage, those games will have near-instant load times. Therefore, there is no need to wait for a long load screen to enter the game.
Second, DirectStorage improves performance because it frees up the CPU to handle other tasks. In other words, you can get a better frame rate without upgrading your hardware.
Finally, with DirectStorage, the game has a wider, more complex world with fewer textures popping up. This will allow developers to build the next generation of games without data flow issues blocking their creative vision.