If you have ever asked for advice on what type of RAM to purchase, you were probably given a response that goes something as follows. The higher the supported bandwidth of the RAM, the better, but having lower timings is also important. Both options of course bring along price increases, and buying cheaper "generic" RAM is seldom recommended. The old adage of "you get what you pay for" is often used. This is all sound advice, but what does it really mean? Why is CL2 RAM better than CL2.5 or CL3? What about the other features, like bandwidth? Higher bandwidth is often mutually exclusive to having the best timings, so which is better?

We have planned a series of articles to cover this topic, and in this first part, we will provide a general overview of memory technology and terms, and how they actually affect performance. Specific examples using one type of RAM may be included, but we are saving a detailed comparison of the DRAM types for the next article in this series. For this introduction, we are interested in growing the base of knowledge upon which future articles can be built.

Before we get into the details of memory designs, we would like to simply state up front that anyone who thinks that DRAM technology, design, and implementation are "easy" or "boring" relative to the higher profile CPU and GPU chips is guilty of a gross generalization. While it might be true that an individual DRAM chip is less complex, the memory subsystem as a whole can easily rival other parts for complexity. It should come as little surprise that in a modern PC, system RAM can often cost more on its own than any other component, with the exception of bleeding edge processors and graphics cards. The design problems and solutions can be every bit as interesting - or difficult, if you prefer - as pipelines, execution units, and cache sizes.

Understanding Memory Access
Comments Locked


View All Comments

  • Lynx516 - Tuesday, September 28, 2004 - link

    Your description of how SDRAM works is wrong. you do not bust down the rows as your artcle implys but instead it bursts along the columns.

    The whole column is sent imeadiatly but the other columns in the burst are not and are sent sequencially (idealy not quite the case if you want to interleave them).

    Comparing Banks to set associativity is probably counter productive as most of your reader wont fully under stand how it works. And infact comparing banks to set associativity is a bad annalogy. A better one would be just to say taht the memmory space in the chip is split up into banks.

    On top of this you have referred to a detailed comparsion of DRAM types. Even though there are many different types of DRAM most are not that interesting or used that much in PCs. I also assume that as you have said this you will not be talking about SRAM or RDRAM in forth coming articles which highlight the different approaches that can be taken when designing a memory sub system. (SRAM the low latency, high bandwidth but low density, RDRAM the serial approach)

    I assume you are going to talk abit about how a memory controller works as they are one of the most complex components in a PC (more complex than the exectution core of a CPU) but you have not refered to any plans to talk about memory controller and how the type of memory you are using affects the design of a memory controller.

    All in all a pretty confusingly written article. If you want a DRAM for beginners arstechnica have two good articles (though one is fairly old but atleast correctly and CLEARLY describes how SDRAM works).

  • Resh - Tuesday, September 28, 2004 - link

    I really think that some diagrams would help, especially for novices like #10. Other than that, great article and hope to see the follow-ups soon.
  • Modal - Tuesday, September 28, 2004 - link

    Great article, thanks. I like these "this is how the pieces of your computer work" articles... very interesting stuff, but it's usually written in far too complicated a manner for a relative novice like me. This was quite readable and understandable however; nice work.
  • danidentity - Tuesday, September 28, 2004 - link

    This is one of the best articles I've seen at Anandtech in a long while, keep up the good work.
  • deathwalker - Tuesday, September 28, 2004 - link

    I..for one, would rather have 1 GB of CL 2.5 high quality memory than 512 MB of CL 2 high quality memory. I'm conviced that in this instance quantity wins out over speed.
  • AlphaFox - Tuesday, September 28, 2004 - link

    where are the pictures? ;)
  • Pollock - Tuesday, September 28, 2004 - link

    Excellent read!
  • mino - Tuesday, September 28, 2004 - link

    Sry for triple post but some major typpos:
    "1) buy generic memory until your budget could afford no more than 512M DDR400"
    should be:
    "1) buy generic memory until your budget could afford more than 512M DDR400"
    "Goog"(ROFL) should be "Good"
    onother -> another
    Hope that's all ;)
  • mino - Tuesday, September 28, 2004 - link

    OK, 3 rules ;) - I added 3rd after some thought.
  • mino - Tuesday, September 28, 2004 - link

    #2 You are missing one important point. That is, unless You can(want) afford at least 512M high quality RAM, it makes NO SENSE to buy 256M DDR400 CL2 since there are 2 basic rules:

    1) buy generic memory until your budget could afford no more than 512M DDR400
    2) then spend some aditional money for brand memory
    3) then go 1G and only at this point spent all additional money for better latencies and so on.

    Also do remember that at many shops(here in Slovakia) there is 3 or 4 yrs warranty for generic memory(like A-DATA) and also if you have major problems with compatibility they will usually allow you to choose different brand/type for your board for no additional cost except price difference. Also in case the memory works fine with onother board.
    Also Twinmos parts have 99month warranty (for price 10% higher than generic). That speaks for itself.

    Except this little missing part of reality,

    Goog work Jarred.

Log in

Don't have an account? Sign up now