Our computers rely on many different types of memory to perform their magic. In this video, you’ll learn about ROM, RAM, and the differences between DDR, DDR2, and DDR3.
One of the most important components inside of your computer is the memory. We often refer to this as RAM. That stands for random access memory, and that really is the most common type of memory inside of our computers. When we talk about how much memory is inside of your computer, and should you be getting a memory upgrade, we’re often talking about random access memory as the memory type that we are changing. This is not referring to the storage device that you have in your computer. You probably have a hard drive, or even, these days, SSD, which is a type of memory, but it’s designed to store data over a very long period of time.
And when we talk about how much memory is inside of your computer, we’re talking about the RAM. We’re not talking about the permanent storage space that might be inside of your computer. The reason that this RAM is so important is that inside of your computer, nothing happens unless you are executing a program that exists in this random access memory. So all of these applications and programs that you’re using will only work if you’ve moved them off of your storage device, place them into random access memory so that you can then use a spreadsheet, do some word processing, or surf the internet.
Another type of memory inside of your computer is a very specialized type of memory called a ROM. That stands for read only memory. These are memory chips that are inside of your computer that are not going to ever change, as the name implies, with read only. We are only going to be able to read the information from this memory; we are not going to be able to change the information inside of this memory. So this is a great place for the BIOS that’s used to start your computer. That way, nothing can ever delete the BIOS. It’s always going to be in this read only memory.
There are different kinds of read only memory. One kind is a PROM. That stands for programmable read only memory. This is where an engineer might write code to a chip one time, and place that chip inside of your computer. So it is a read only memory that is initially programmable. We also have an EPROM. This allows us to take that programmability of the read only memory and erase everything, and write over it. So we’re able to pull that chip out of the computer, put it into another device, or we can effectively reprogram it, and then put it back into your computer again. Obviously, these would be used for very unique purposes we don’t often use these EPROMS inside of our computers, because we’re not often pulling the ROM out and making changes to it.
One type that is inside of our computer, though, is an EEPROM. That stands for electrically erasable programmable read only memory. So if you have flash memory, if you’re using an SSD inside of your computer, if your BIOS is one that you can upgrade with a software program, it’s probably writing it to EEPROM, which allows us, at any time, to electronically erase it and write anything else into that read only memory. There’s a very specialized kind of RAM inside of your computer called a static RAM. You may see this abbreviated as SRAM. This is very fast memory. It’s used for some very specific purposes inside of your computer.
Because it is so fast, it’s also much more expensive than the traditional random access memory that we would use on the memory sticks inside of our computer. It’s also relatively large, when you compare it to that other type of random access memory. So it takes up a lot of room, a lot of real estate, inside of your computer, relative to the other memory types. Because this is so fast, though, we often will see it used on the CPU itself, or just off the CPU, as processor caches. You may see this referred to as level 1, level 2, or level 3 caches, abbreviated as L1, L2, and L3.
The static, when we’re looking at the memory requirements for an operating system, or describing how much memory we have inside of our computer, we’re really talking about the dynamic random access memory that’s inside of our computer. This memory is called dynamic, because we are always refreshing the contents of this memory. So there’s always a refresh process that goes through this memory constantly, so that it doesn’t lose any of the information. That’s different than the static RAM we were just talking about, that didn’t require the constant refresh. With our dynamic RAM, we’ll always be refreshing and updating the information inside of that memory.
This is also random access memory, which means we can put information anywhere on these memory chips, and instantly access that information, just by referencing a particular memory address. It makes it very quick to retrieve and put information into the memory. It’s very different than if you were using a backup tape drive with magnetic tape, where you have to fast forward or rewind through the tape to find exactly the place where that information is stored. Because this is randomly accessed, we can simply ask for a particular address, and instantly grab the information that is stored in that memory.
We talked earlier about the dynamic random access memory. This is synchronous dynamic random access memory, and it’s called synchronous because it is synchronized to a common system clock. You can think of this computer constantly ticking off the seconds, and every second, there’s a particular process that’s occurring. Obviously, inside of our computers, there are many millions of processes that are occurring every second. But because it is synchronized to a clock, all of the other components inside of the computer know exactly what’s going to be happening with the next tick of that clock, as it goes by.
We used to have the dynamic random access memory that was not synchronous, which means that there was no clock signal. The memory was simply accessed whenever the system would have availability. With this SDRAM, we need to make sure that we don’t confuse that term for the SRAM that we were looking at earlier, which is the static RAM. So whenever we’re putting more memory inside of our computer, with an extra memory module, we’re always going to be referring to an SDRAM module. Let’s visually look at this single data rate, and how it is synchronized with the clock that’s inside of our computer.
Let’s look first at the clock signal itself. You can see there’s an upper and lower, as the clock is rising and falling on each individual clock cycle inside of your computer. So we have one clock cycle, two, three, four, five, and six total clock cycles on this particular diagram. And you can see, with each clock cycle, we’re able to transfer one piece of data. So the first clock cycle is the first data, the second clock cycle, then, we’ve got data number two. The third clock cycle, data number three, and so on. That’s one significant characteristic of the single data rate is, for every single clock cycle, there is a single piece of data.
The type of memory that you’ll find in today’s computers is DDR memory. This stands for double data rate. As the name implies, it is twice as fast as the single data rate memory was. That’s because we’re able to both send data on the rising and the falling of the clock. So effectively, we can send twice as much information, in exactly the same clock time. So we didn’t have to change the clock speed of the memory; we simply changed how we were sending the information during that same clock period. If you were to look at a DDR module, you’d see that it has about 184 pins on the memory module itself.
In the industry, there’s an interesting naming convention to memory. We can describe memory as the total number of transfers that it can do a single second, but we might also describe the memory as the total throughput available for the memory. If we’re talking about a memory module, and the total amount of transfers that it can do a single second, then you’ll see it described as DDR dash the number. So DDR-200 means that this memory can do 200 million transfers in a single second.
To be able to describe this memory as total throughput, we simply multiply that DDR number, 200, by the number 8, and we get a total of 1,600. And we put the term PC in front of it, to describe the total throughput. So a DDR-200 has exactly the same throughput as a PC1600. We’re just describing this throughput in two different ways. If we were to put a single data rate memory and the double data rate memory side by side, you would see what those differences are, in the total amount of information that was transferred.
As you recall with the SDR, we had a single clock cycle, and we were able to send one piece of data. But with DDR, you’ve got double data rate. You can have a single clock cycle, but you’re sending data on the high end of the clock and the low end of the clock, which effectively is doubling the amount of throughput over an SDR. If we were to drill down into these statistics associated with DDR memory, you could see the memory clock speed is here. That’s referring to how fast the clock is, inside of the memory itself. You’ve got the I/O bus clock speed. That’s how fast the bus is outside of the memory, whatever the memory is connecting to. You also have the DDR speed.
We mentioned earlier, the DDR-200, and that’s describing how many transfers. you can do in a single second. I’ve broken that out as a separate column, just so you’re clear that a DDR-200 is 200 million transfers in a second. And of course, if we multiply that times 8, we’ll get the total transfer rate in megabytes per second. So a DDR-200 multiplied by 8 gives us 1,600, which means the module name is called PC1600. We can do a similar thing if the memory clock speed is 200. That means the I/O bus clock speed for DDR memory is also 200. But again, it’s going twice as fast as the clock rate, which means we have a total of 400 million transfers per second, so we call this DDR-400. Multiply that times 8, you get 3,200, which means that our module name is going to be PC3200.
So that’s a very easy way to change the module name back to DDR speed, is to simply multiply by 8 to get the module name, or divide by 8 to get the DDR speed. DDR memory was certainly an improvement over SDR, because we were able to get twice the throughput of SDR, but we needed to go faster. Our faster processors and faster computers required much more throughput, so we came up with the next generation of DDR memory, called DDR2, or double data rate 2. This is twice as fast as the DDR memory that was previous. You find these memory modules are 240 pin memory modules, as well.
These newer DDR2 modules were not backwards compatible with the older DDR motherboards, so you couldn’t grab your DDR2 module and put it into an older motherboard that was expecting a DDR memory module. You have to make sure that you’re using exactly the right kind of module for your motherboard. Because of the architecture of DDR2, we’re able to transfer twice as much information without changing the clock speed of the memory module. So a memory module that’s 100 megahertz with DDR2 would need an I/O bus clock speed of 200 megahertz, because it was transferring twice as much information over that bus.
And of course, since it’s double data rate memory, it would be twice that amount, or DDR2-400. And you can see DDR2 specifies that we’re talking about DDR2 memory. That’s 400 million transfers per second, and if we use our equation to multiply that by 8, to get the transfer rate, that means that we would be transferring 3,200 megabytes per second. And because this is DDR2 memory, we refer to it with the name PC2-3200, rather than the PC term that we would use with DDR memory. So if you ever see a number that’s next to the PC, or the number that’s next to DDR, you’ll know that you’re dealing with regular DDR memory or with DDR2.
The next generation of DDR is called DDR3. This is an improvement over DDR2. In fact, this goes twice as fast as DDR2 memory, while maintaining the same clock rate inside of the memory chips. We’re also able to get much larger memory capacities out of DDR3, and this also has 240 pins, which is exactly the same as what we saw with the DDR2. As with the previous memory types, this DDR3 memory is not backwards compatible. If you have a motherboard that is expecting DDR2 memory, you cannot put DDR3 memory modules. It simply physically won’t fit in the computer. But even if it did, these two memory module types work completely different, and they would not be compatible.
With the DDR3, everything is now moving twice as fast as DDR2. So we might still have the same 100 megahertz memory clock speed, but now, the I/O bus is needing to be 400 megahertz, because we have now doubled that over DDR2. And of course, since it’s DDR, we are now transferring 800 million transfers per second, using that 100 megahertz memory clock speed, and we describe this as DDR3-800. Again, we multiply by 8, and we get the total transfer rate in megabytes per second. So for DDR3-800, multiplied by 8 gets us a module name of PC3-6400.
So let’s now look at DDR, DDR2, and DDR3 right next to each other. You can see the DDR, DDR2, and DDR3 examples I’m using here are all using the same memory clock speed of 100 megahertz. But notice that the I/O bus clock speed is identical with DDR, it’s doubled for DDR2, and then doubled again for DDR3. So our 100 megahertz clock speed has a DDR speed of DDR-200, DDR2-400, and DDR3-800. And of course, with each of these numbers, we multiply by 8 to get the transfer rate that we use for the module name. And of course, remember that our module names are numbered.
So with the DDR memory, it’s a PC1600. With DDR2 memory, it’s a PC2, for DDR2-3200. And then for DDR3, it’s described as PC3-6400. 364 I mentioned earlier that these DDR types were not backwards compatible. And not only do they work differently inside the memory itself, but the physical chips are designed to be different. And they’re designed this way so that we can’t make a mistake by putting the wrong memory module in a different slot. You can see there are notches in the memory module, and these notches are at a very certain spot. So DDR memory, you can see where the notch is. For DDR2, it is moved a little bit over. For DDR3, it’s moved over even further.
So you can find the memory modules that seem to be the same dimensions. They’re the same length, they’re the same width, but you’ll find, when you get your motherboard, you may not be able to put it into the motherboard itself. Because there’s a notch that’s inside of there that won’t allow the wrong memory type to be installed on the motherboard. And it works exactly the same if you have a laptop that’s using SO-DIMMs, same scenario. You have notches on the SO-DIMMs that are marked, so that you’re not able to put the wrong memory type into a different memory slot.