The main point is that GTX680s are flashable to GTX770s, something that Nvidia has not allowed to happen for many years. Once people realized that you could take a standard Nvidia consumer GPU with a street price in the low hundreds of dollars and flash it with a Quadro/Tesla BIOS to get the functional equivalent of a card worth many times as much, things changed. At first this was stopped with software checks, followed by hardware added to the PCB, and now it is done with silicon fuses on the GPU itself.
For the past few years the GeForce -> Quadro mods have gotten progressively harder to pull off with each passing generation. Similar but not exactly the same problem for Nvidia has existed in flashing a GPU with a BIOS update for a very different piece of hardware. Since this has traditionally ended up with a bricked card, it was locked out long ago with simple software checks. These were something along the lines of, “If card is the expected one for this BIOS, flash it, if anything else, stop and give an error message”. This works very well and since there is no real reason to flash a device with the BIOS from dissimilar hardware, it is more than adequate.
The difference between the two is in the case of the Geforce -> Quadro flash, Nvidia is selling you the same hardware for many times the cost. Flashing one to the other will potentially replace some very high margin sales with far lower margin sales. Flashing dissimilar hardware simply makes for expensive end-user learning experiences, so simple error prevention is really all that is required. To put it another way, one path has a strong financial incentive behind it, the other has a strong financial disincentive behind it.
Moving to the modern day conundrum of flashing a GTX680 to the upcoming GTX770, it doesn’t really fit well in either category. The hardware is the same and there is a financial incentive to do so, but it is a minor one. The GTX770 will be more expensive than a GTX680 especially once the 770 comes out and the 680 is “obsolete”. That said it isn’t enough of a difference for Nvidia product managers to lose significant amounts of sleep over. It could have been prevented with a simple software check if the hardware has even the slightest differences to its predecessor.
You can imagine how much it would take to code a line that says, “If stepping is greater than X#, flash with GTX770 BIOS, otherwise fail” just like the dissimilar hardware case. Since it is dissimilar this would be fairly trivial to code but the GTX770 isn’t dissimilar in the slightest so they can’t. This raises the question of why Nvidia didn’t even code in a check like, “If this card has a GTX680 BIOS, don’t flash it”. Simple to do by but that didn’t happen. Why?
Good question. The first answer to that is because the hardware is completely identical so checks of the silicon would do nothing. The BIOS check is a stumper though until you think about one thing, inventory. PC sales have been in the toilet lately and there is a lot of inventory on shelves and in warehouses. Normally in situations like this, AIBs and other partners would be pressuring Nvidia to hold off releasing newer generations until the inventory is bled off. The alternative is to offer price protection. This is where a company pays out the difference in value between what a product was worth before it was devalued by an event and what it is worth afterwards. Most manufacturers want to avoid this like the plague because it is painfully expensive.
Until late last year Nvidia had a GK114 part on the roadmaps, a mildly tweaked GK104 silicon with bug fixes and easy to fix arch issues optimized. In the very recent past, this vanished without so much as peep from the company. If you look at the options for what Nvidia can market without new silicon, there isn’t much that could be done.
If they put out new fusings of the older parts, that could work for the mid-range cards where the older 6xx variants had units turned off, but the GTX680 had everything turned on. Clocks were an option too but once again the 680 was pretty close to the limit unless you had a special press sample. Limited though it is, clock bumps are the only real option available. However, not changing the silicon at all solved the larger problem of price protection.
How? Easy, OEMs can flash current GTX680 inventory with the GTX770 BIOS, peel off the branding sticker, and slap a new one on. Viola, instant, “all new” GPU! No one will ever know because this scheme is far too clever for end users to figure out, right? Except that it is weeks before launch and everyone now knows, and those that don’t know as of right now probably will by the end of the day. Welcome to Teh inTarnets!
So what can Nvidia do? Put checks in the BIOS to prevent flashing? That protection comes at a very high price, pun intended. Same with changing so much as a resistor on the boards, it would not only obsolete the older ones but similarly force a very large payout to AIBs. Neither are acceptable options to Nvidia or the partners leaving one option, force a smile and hope word about the easy 680 -> 770 flashing never gets out.
By allowing a BIOS without simple software checks to get in to the wild, Nvidia holed their own tiering scheme. More importantly they also prevented a much more painful payout to AIBs. It is not much of a stretch to imagine the company really hoped word of this wouldn’t get out, but if it did it was still better than writing a fat price protection check. Now that it has though, you can be pretty sure the “unlocked” BIOS image will be replaced by a locked one in short order. As soon as inventory of GTX680s is bled off, bespoke GTX770s will be hardware locked too, likely on the PCB rather than on silicon though. Nvidia would be silly to do anything else.
Luckily for the enthusiasts there is no feasible way to tell a GTX680 a user has flashed on their own from a first generation GTX770 flashed by an AIB. This means that anyone with a GTX680 and this BIOS image probably has an unblockable free upgrade to a GTX770. All this said, SemiAccurate would have preferred it if the original GK114 was released. Competition is a good thing, panicked product cancellations late in the game are not.S|A
Latest posts by Charlie Demerjian (see all)
- ARM upgrades realtime offerings to v8-R and adds Cortex-R52 - Sep 21, 2016
- Everspin and Globalfoundries team up for embedded ST-MRAM - Sep 15, 2016
- Intel’s Xpoint is pretty much broken - Sep 12, 2016
- ARM adds 2048-bit vectors to v8A with SVE - Sep 7, 2016
- AMD releases Bristol Ridge 7th Generation APU - Sep 5, 2016