More GDDR5 Technologies: Memory Error Detection & Temperature Compensation

As we previously mentioned, for Cypress AMD’s memory controllers have implemented a greater part of the GDDR5 specification. Beyond gaining the ability to use GDDR5’s power saving abilities, AMD has also been working on implementing features to allow their cards to reach higher memory clock speeds. Chief among these is support for GDDR5’s error detection capabilities.

One of the biggest problems in using a high-speed memory device like GDDR5 is that it requires a bus that’s both fast and fairly wide - properties that generally run counter to each other in designing a device bus. A single GDDR5 memory chip on the 5870 needs to connect to a bus that’s 32 bits wide and runs at base speed of 1.2GHz, which requires a bus that can meeting exceedingly precise tolerances. Adding to the challenge is that for a card like the 5870 with a 256-bit total memory bus, eight of these buses will be required, leading to more noise from adjoining buses and less room to work in.

Because of the difficulty in building such a bus, the memory bus has become the weak point for video cards using GDDR5. The GPU’s memory controller can do more and the memory chips themselves can do more, but the bus can’t keep up.

To combat this, GDDR5 memory controllers can perform basic error detection on both reads and writes by implementing a CRC-8 hash function. With this feature enabled, for each 64-bit data burst an 8-bit cyclic redundancy check hash (CRC-8) is transmitted via a set of four dedicated EDC pins. This CRC is then used to check the contents of the data burst, to determine whether any errors were introduced into the data burst during transmission.

The specific CRC function used in GDDR5 can detect 1-bit and 2-bit errors with 100% accuracy, with that accuracy falling with additional erroneous bits. This is due to the fact that the CRC function used can generate collisions, which means that the CRC of an erroneous data burst could match the proper CRC in an unlikely situation. But as the odds decrease for additional errors, the vast majority of errors should be limited to 1-bit and 2-bit errors.

Should an error be found, the GDDR5 controller will request a retransmission of the faulty data burst, and it will keep doing this until the data burst finally goes through correctly. A retransmission request is also used to re-train the GDDR5 link (once again taking advantage of fast link re-training) to correct any potential link problems brought about by changing environmental conditions. Note that this does not involve changing the clock speed of the GDDR5 (i.e. it does not step down in speed); rather it’s merely reinitializing the link. If the errors are due the bus being outright unable to perfectly handle the requested clock speed, errors will continue to happen and be caught. Keep this in mind as it will be important when we get to overclocking.

Finally, we should also note that this error detection scheme is only for detecting bus errors. Errors in the GDDR5 memory modules or errors in the memory controller will not be detected, so it’s still possible to end up with bad data should either of those two devices malfunction. By the same token this is solely a detection scheme, so there are no error correction abilities. The only way to correct a transmission error is to keep trying until the bus gets it right.

Now in spite of the difficulties in building and operating such a high speed bus, error detection is not necessary for its operation. As AMD was quick to point out to us, cards still need to ship defect-free and not produce any errors. Or in other words, the error detection mechanism is a failsafe mechanism rather than a tool specifically to attain higher memory speeds. Memory supplier Qimonda’s own whitepaper on GDDR5 pitches error correction as a necessary precaution due to the increasing amount of code stored in graphics memory, where a failure can lead to a crash rather than just a bad pixel.

In any case, for normal use the ramifications of using GDDR5’s error detection capabilities should be non-existent. In practice, this is going to lead to more stable cards since memory bus errors have been eliminated, but we don’t know to what degree. The full use of the system to retransmit a data burst would itself be a catch-22 after all – it means an error has occurred when it shouldn’t have.

Like the changes to VRM monitoring, the significant ramifications of this will be felt with overclocking. Overclocking attempts that previously would push the bus too hard and lead to errors now will no longer do so, making higher overclocks possible. However this is a bit of an illusion as retransmissions reduce performance. The scenario laid out to us by AMD is that overclockers who have reached the limits of their card’s memory bus will now see the impact of this as a drop in performance due to retransmissions, rather than crashing or graphical corruption. This means assessing an overclock will require monitoring the performance of a card, along with continuing to look for traditional signs as those will still indicate problems in memory chips and the memory controller itself.

Ideally there would be a more absolute and expedient way to check for errors than looking at overall performance, but at this time AMD doesn’t have a way to deliver error notices. Maybe in the future they will?

Wrapping things up, we have previously discussed fast link re-training as a tool to allow AMD to clock down GDDR5 during idle periods, and as part of a failsafe method to be used with error detection. However it also serves as a tool to enable higher memory speeds through its use in temperature compensation.

Once again due to the high speeds of GDDR5, it’s more sensitive to memory chip temperatures than previous memory technologies were. Under normal circumstances this sensitivity would limit memory speeds, as temperature swings would change the performance of the memory chips enough to make it difficult to maintain a stable link with the memory controller. By monitoring the temperature of the chips and re-training the link when there are significant shifts in temperature, higher memory speeds are made possible by preventing link failures.

And while temperature compensation may not sound complex, that doesn’t mean it’s not important. As we have mentioned a few times now, the biggest bottleneck in memory performance is the bus. The memory chips can go faster; it’s the bus that can’t. So anything that can help maintain a link along these fragile buses becomes an important tool in achieving higher memory speeds.

Lower Idle Power & Better Overcurrent Protection Angle-Independent Anisotropic Filtering At Last
Comments Locked

327 Comments

View All Comments

  • avaughan - Wednesday, September 23, 2009 - link

    Ryan,
    When you review the 5850 can you please specify memory size for all the comparison cards. At a guess the GTS 250 had 1GB and the 9800GT had 512 ?

    Thanks
  • ThePooBurner - Wednesday, September 23, 2009 - link

    With a full double the power and transistors and everything else including optimizations that should get more band for buck out of each one of those, why are we not seeing a full double the performance in games compared to the previous generation of cards?
  • SiliconDoc - Wednesday, September 23, 2009 - link

    Umm, because if you actually look at the charts, it's not "double everything".
    In fact, it's not double THE MOST IMPORTANT THING, bandwidth.
    For pete sakes an OC'ed GTX260 core 192 get's to 154+ bandwidth rather easily, surpassing the 153.6 of ati's latest and greatest.
    So, you have barely increased ram speed, same bus width... and the transistors on die are used up in "SHADERS" and ROPS....etc.
    Where is all that extra shader processing going to go ?
    Well, it goes to SSAA useage for instance, which provides ZERO visual quality improvement.
    So, it goes to "cranking up the eye candy settings" at "not a very big framerate improvement".
    --
    So they just have to have a 384 or a 512 bus they are holding back. I dearly hope so.
    They've already been losing a BILLION a year for 3+ years in a row, so the cost excuse is VERY VERY LAME.
    I mean go check out the nvidia leaked stats, they've been all over for months - DDR5 and a 512 bit, with Multiple IMD, instead of the 5870 Single IMD.
    If you want DOUBLE the performance wait for Nvidia. From DDR3 to DDR5, like going from 4850 to 4890, AND they (NVIDIA) have a whole new multiple instruction super whomp coming down the pike that is never done before, on their hated "gigantic brute force cores" (even bigger in the 40nm shrink -lol) that generally run 24C to 15C cooler than ati's electromigration heat generators.
    ---
    So I mean add it up. Moving to DDR5, moving to multiple data, moving to 40nm, moving with 512 bit bus and AWESOME bandwidth, and the core is even bigger than the hated monster GT200. LOL
    We're talking EPIC palmface.
    --
    In closing, buh bye ati !
  • silverblue - Thursday, September 24, 2009 - link

    Let's wait for GT300 before we make any sweeping generalisations. The proof is in the pudding and it won't be long before we see it.

    And don't let the door hit you on the way out.
  • SiliconDoc - Thursday, September 24, 2009 - link

    Oh mister, if we're waiting, that means NO BUYING the 5870, WAIT instead.
    Oh, yeah, no worries, it's not available.
    ---
    Now, when my statements prove to be true, and your little crybaby snark with NO FACTS used for rebuttal are proven to be wasted stupidity, WILL YOU LEAVE AS YOU STATED YOU WANT ME TO ?
    That's what I want to know. I want to know if your little wish applies to YOU.
    Come on, I'll even accept a challenge on it. If I turn out to be wrong, I leave, if not you're gone.
    If I'm correct, anyone waiting because of what I've pointed out, has been given an immense helping hand.
    Which BY THE WAY, the entire article FAILED TO POINT OUT, because the red love goes so deep here.
    -
    But, you, the little red rooster ati fanner, wants me out.
    ROFL - you people are JUST INCREDIBLE, it is absolutely incredible the crap you pull.
    NOW, LET US KNOW WHAT LEAKED NVIDIA STATS I GOT INCORRECT WON'T YOU!?
    No of course you won't !
  • silverblue - Friday, September 25, 2009 - link

    Another problem I have with people like you is the unerring desire to rant and rave without reading things through. I said wait for GT300 before doing a proper comparison. Have you already forgotten the mess that was NV30? Paper specs do not necessarily equal reality. When the GT300 is properly previewed, even with an NDA in place, we can all judge for ourselves. People have a choice to buy what they like regardless of what you or I say.

    I'm not an ATI fanboy. I expended plenty of thought on what parts to get when I upgraded a few months back and that didn't just include CPU but motherboard and graphics. I was very close to getting a higher end Core2 Duo along with an nVidia graphics card; at the very least I considered an nVidia graphics card even when I decided on an AMD CPU and motherboard. In the end I felt I was getting better value by choosing an ATI solution. Doesn't make me a fanboy just because my money didn't end up on the nVidia balance sheet.

    I'll take back the little comment about letting the door hit you on the way out. It wasn't designed to tell you to go away and not come back again, so my bad. I was annoyed at your ability to just attack a specific brand without any apparent form of objectivity. If you hate ATI, then you hate ATI, but do we really need to hear it all the time?

    If the information you've posted about the GT300 is indeed accurate and comparable to what we've been told about the 58x0 series, then that's great, but you're going to need to lay it out in a more structured format so people can digest it more readily, as well as lay off the constant anti-ATI stance because appearing biased is not going to make people more receptive to your viewpoint. I remain sceptical that your leaked specs will end up being correct but in the end, GT300 is on its way and it'll be a monster regardless of whatever information you've posted here. I'm not going to pretend I know anything technical about GT300, but you must realise that what you've essentially done in this article is slate a working, existing product line that is being distributed to vendors as we speak in a manner that's much slower than ATI had intended yet you're attacking people for being interested in it over the GT300 which hasn't been reviewed yet, partly because you think the product is vapourware (which isn't really the case as people are getting hold of the 5870 but at a lower rate than ATI would like). Some people will choose to wait, some people will jump on the 58x0 bandwagon right now, but it's not for you to decide for them what they should buy.

    Now relax, you're going to have a heart attack.
  • SiliconDoc - Wednesday, September 30, 2009 - link

    What a LOAD OF CRAP.
    I don't have to outline anything, remember, ALL YOU PEOPLE cARE ABOUT IS GAMING FRAMERATE.
    And that at "your price point" that doesn't include "the NVIDIA BALANCE SHEET". - which io of course, the STRANGEST WAY for a reddie to put it.
    YOU JUST WANT ME TO SHUT UP. YOU DON'T WANT IT SAID. WE'LL I'M SAYING IT AGAIN, AND YOU FAILED TO ACCEPT MY CHALLENGE BECAUSE YOU'RE A CHICKEN, AND CENSOR !
    ---
    Oh, do we have to hear it... blah blah blah blah...
    --
    YES SINCE THIS VERY ARTICEL WAS ABSOLUTELY IRRESPONSIBLE IN NOT PROPERLY ASSESSING THE COMPETITION.
  • CarrellK - Wednesday, September 23, 2009 - link

    If a game ran almost entirely on the GPU, the scaling would be more of what you expect. You can put in a new GPU, but the CPU is no faster, main memory is no faster of bigger, the hard disk is no faster, PCIE is no faster, etc.

    The game code itself also limits scaling. For example the texture size can exceed the card's memory footprint, which results in performance sapping texture swaps. Each game introduces different bottlenecks (we can't solve them all).

    We do our best to get linear scaling, but the fact is that we address less than a third of the game ecosystem. That we do better than 33% out of a possible 100% improvement is I think a testimony to our engineers.
  • BlackbirdCaD - Wednesday, September 23, 2009 - link

    Why no load temp of 5870 in Crossfire??
    Load temp is much more important than idle temp.
    There is lots of uninteresting stuff like soundlevel at idle with 5870 in crossfire, but the MOST IMPORTANT is missing: load temp with 5870 in crossfire.
  • SiliconDoc - Wednesday, September 23, 2009 - link

    I just pulled up the chart on the 4870 CF, and although the 4870x2 was low 400's on load system power useage, the 4870 CF was 722 watts !
    So, I think your question may have some validity. I do believe the cards get a bit hotter in CF, and then you have the extra items on the PCB, the second slot used, the extra ram via the full amount on each card - all that adds up to more power useage, more heat in the case, and higher temps communicating with eachother. (resends for data on bus puases waitings, etc. ).
    So there is something to your question.
    ---
    Other than all that the basic answer is "red fan review site".
    The ATI cards are HOTTER than the nvidia under load as a very, very wide general statement, that covers almost every card they both make, with FEW exceptions.

Log in

Don't have an account? Sign up now