The 3.5GB VRAM issue
Earlier this year, GTX 970 owners started discovering erratic behavior that was affecting frame rates in games where more than 3.5GB VRAM was being used. Nvidia released a statement that clarified the situation, with the vendor stating that the memory allocation on the GTX 970 is different from that of the GTX 980 because of the fact that the former used a cut-down version of the GM204-200 GPU that had three SMMs (Streaming Multiprocessors) disabled.
This reduction in the number of SMMs from 16 on the GTX 980 to 13 on the GTX 970 meant that the memory layout had to be altered. The crossbar, which acts as a conduit for data transfer between the memory controller and the processing clusters, uses the L2 cache, which in the case of the GTX 970 was limited to 1.75MB (from 2MB on the GTX 980). To allow access to the entire 4GB VRAM, Nvidia allocated the memory of the GTX 970 into two sections: a 3.5GB chunk that had direct access to the L2 cache, and a slower 0.5GB block that had to interface with another memory controller to access the cache.
The change in memory segmentation had drawbacks when using the entire 4GB VRAM, with Nvidia CEO Jen-Hsun Huang finally admitting that the vendor should have been clearer about communicating the new memory interface on the GTX 970 from the onset.
It is understandable why Nvidia did what it did with the GTX 970. Its flagship offering, the GTX 980, came with the fully unlocked GM204 silicon, and for the vendor to justify the $220 price difference between the GTX 980 and GTX 970, it needed to limit the performance of the latter to a certain extent. It could have done so by reducing a cluster of SMMs and reducing the VRAM to 3GB, but it is clear from Huang’s statements that the vendor wanted to market it as a 4GB card: “This is a good design because we were able to add an additional 1GB for GTX 970 and our software engineers can keep less frequently used data in the 512MB segment.”